refinable.js thy home ex api docs thy arch repo
Beside viewing of refinable functions as a practical utility of promoting modularity. Refinable functions also try to tackle scientific research problem around the field of programming languages and software engineering in computer science.
Implementing Language-based Modularity using Object-oriented Refinement of Function
Hiun Kim. Individual Research Technical Report. Working Draft. December 2017.
Object-orientation for Behavior Modeling and Composition
Hiun Kim. Proceedings of Korea Conference on Software Engineering(KCSE). February 2017.
Research of Functions Refinement
This chapter discusses function refinement as research topics.
Verification is important issues of making a complex language without interrupting its compositional and operational correctness. Semantics definition and type system is a central mechanism to codify and implement verification of arbitrary use of programming languages syntax fragment. In Refinable function, a major operation is formalized as operational semantics and leverages concept like function subtyping to ensure refinement correctness.
Among many of its feature, the design and implementation aspect of refinable functions is exposed as a contribution to solving practical language and runtime dependency of using such modularity mechanism. Refinable function shows correspondence for aspect and feature-oriented programming to substantiate its connection to many lasting previous modularity techniques as well as introduces novel programmatical approach function refinement such as leveraging builder and factory design pattern just like constructing, refining
Applications of Function Refinement
This chapter discusses applications of function refinement in the context of programming languages theory and software engineering values.
Refinable Functions for Object-oriented Design
Refinable functions could be used for refinable methods for class-level augmentation support in composition method of aspect-oriented programming.
Thinking in Modularity
When we look function modularity in the context of function, there are many applications are enabled. In modern applications, most of modularizations techniques are held in the level of object-oriented design; the reuse and localization of common and variant part are major issues of feature-oriented programming and software product line community. However most of the existing research require to use special compilers or preprocessors, tools to make this separation of concern seamlessly to existing code. By using object-oriented programming refinable functions leverages existing native syntax and semantics functionalities of many native object-oriented programming languages without modifying its underlying systems.
Commonality Reuse of Refinable Functions
The figure shows reuse of common subfunctions for making web API. The commonalities are gradually localized by each parental function and variabilities are gradually localized by its child functions. Three refinements and two inheritance make abstract
WriteIO which localize operation specific concern for reading and write operation. The two inherited functions again specified into
WriteImage, by localizing respective concerns. Finally, four refined functions will be composed into a method of a class for
Variability Localization of Refinable Functions
The figure shows more sophisticated example of function refinement as previous example. The example leverages
HTMLViewer to localize variabilioties caused by making
SSLCrawler via extension and mutation of
Made by hiunEdit this page on GitHub