Automatically Solving Simultaneous Type Equations for Type Difference Transformations That Redesign Code
- Cite this paper as:
- Biggerstaff T.J. (2014) Automatically Solving Simultaneous Type Equations for Type Difference Transformations That Redesign Code. In: Schaefer I., Stamelos I. (eds) Software Reuse for Dynamic Systems in the Cloud and Beyond. ICSR 2015. Lecture Notes in Computer Science, vol 8919. Springer, Cham
This paper introduces a generalization of programming data types called Context Qualified Types (or CQ Typesfor short). CQ Types are a superset of programming language data types. They incorporate design features or contexts that fall outside of the programming data type domain (e.g., a planned program scope). CQ Types are functionally related to other CQ Types (and eventually to conventional data types) such that a differencing operation defined on two related types will produce a program transformation that will convert a computational instance (i.e., code) of the first type into a computational instance of the second type. Large grain abstract relationships between design contexts may be expressed as simultaneous type equations. Solving these equations, given some starting code instances, produces transformations that redesign the code from one design context (e.g., a payload context) to a different design context (e.g., a “hole” within a design framework from a reusable library).
KeywordsType differencing Context qualified types CQ Types Design frameworks Design features Functionally related types Transformations Domain driven instantiation Simultaneous type equations
Unable to display preview. Download preview PDF.