Skip to main content

Automatically Solving Simultaneous Type Equations for Type Difference Transformations That Redesign Code

  • Conference paper
Book cover Software Reuse for Dynamic Systems in the Cloud and Beyond (ICSR 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8919))

Included in the following conference series:

  • 1073 Accesses

Abstract

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).

Patent 8,713,515 [7] and separate patent pending.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Biggerstaff, T.J.: A perspective of generative reuse. Annals of Software Engineering, 169–226 (1998)

    Google Scholar 

  2. Biggerstaff, T.J.: A new architecture of transformation-based generators. IEEE Transactions on Software Engineering 30(12), 1036–1054 (2004)

    Article  Google Scholar 

  3. Biggerstaff, T.J.: Automated partitioning of a computation for parallel or other high capability architecture. Patent no. 8,060,857, United States Patent and Trademark Office (2011)

    Google Scholar 

  4. Biggerstaff, T.J.: Non-localized constraints for automated program generation. Patent no. 8,225,277, United States Patent and Trademark Office (2012)

    Google Scholar 

  5. Biggerstaff, T.J.: Synthetic partitioning for imposing implementation design patterns onto logical architectures of computations. Patent no. 8,327,321, United States Patent and Trademark Office (2012)

    Google Scholar 

  6. Biggerstaff, T.J.: Reuse: Right Idea, Wrong Representation? Invited paper. In: DReMeR 2013 – International Workshop on Designing Reusable Components and Measuring Reusability, Pisa, Italy (2013)

    Google Scholar 

  7. Biggerstaff, T.J.: Automated Synchronization of Design Features in Disparate Code Components Using Type Differencing. Patent no. 8,713,515, United States Patent and Trademark Office (2014)

    Google Scholar 

  8. Cardelli, L., Wegner, P.: On Understanding Types, Data Abstractions, and Polymorphism. ACM Computing Surveys 17(4) (1985)

    Google Scholar 

  9. Cardelli, L.: Type Systems. In: CRC Handbook of Computer Science and Engineering, 2nd edn., ch. 97 (2004)

    Google Scholar 

  10. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley (1995)

    Google Scholar 

  11. Liskov, B., Wing, J.: A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems (1994)

    Google Scholar 

  12. Liskov, B., Wing, J.: A Behavioral Subtyping Using Invariants and Constraints. Carnegie Mellon Report CMU-CS-99-156 (1999)

    Google Scholar 

  13. Mattson, T. G., Sanders, B. A., Massingill, B. L.: Patterns for Parallel Programming. Addison Wesley (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

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. https://doi.org/10.1007/978-3-319-14130-5_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14130-5_8

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14129-9

  • Online ISBN: 978-3-319-14130-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics