Skip to main content

Coordinating Software Evolution via Two-Tier Programming

  • Conference paper
  • First Online:
Coordination Models and Languages (COORDINATION 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2315))

Included in the following conference series:

Abstract

Progress in the science of programming is reflected by the evolution of programming languages. We propose that the next step in this evolution is a more comprehensive kind of programs: To redefine the way programs are perceived and, consequently, to redefine what constitutes the activity of programming. Rather than treating architectural specifications as separate, we argue that they need be treated as part of the program. Thus, a program is specified through two tightly integrated representations:

  1. 1.

    Intentional tier: A generic (“abstract”) representation of design and architectural properties (constraints) of the program which, in conformance with the principle of least constraint [15], is phrased in generic terms.

  2. 2.

    Extensional tier: The second specification layer which consists of the traditional source code. As software evolves continuously, our approach stresses the relevance of the design and architectural specifications throughout the evolution of a program.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. R. Allen, D. Garlan. “A Formal Basis For Architectural Connection.” ACM Transactions on Software Engineering and Methodology, Vol. 6, No. 3, July 1997, pp. 213–249.

    Article  Google Scholar 

  2. J. Coker (1997). “Keeping Objects In Sync.” In: Java Developer Connection, http://java.sun.com

  3. J. Bosch. “Relations as Object Model Components.” Journal of Programming Languages, Vol. 4, No. 1, 1996, pp. 39–61.

    MathSciNet  Google Scholar 

  4. E. R. Comer. 1997. “Alternative Software Life Cycle Models.” In Software Engineering, Dorfman, Merlin; Thayer, Richard, pp. 404–414. Piscataway, NJ: IEEE Computer Society Press.

    Google Scholar 

  5. J. Coplien, D. Schmidt, eds. (1995). Pattern Languages of Program Design. Reading, MA: Addison-Wesley.

    Google Scholar 

  6. A. H. Eden. “LePUS: A Formal Specification Language of Object Oriented Design and Architecture.” 2002 NSF Design, Service, and Manufacturing Grantees and Research Conference, Jan. 7–10, 2002, San Juan, Puerto Rico.

    Google Scholar 

  7. A. H. Eden, Y. Hirshfeld. “Principles in Formal Specification of Object Oriented Architectures.” CASCON 2001, November 5–8, 2001. Toronto, Canada.

    Google Scholar 

  8. A. H. Eden (2002). “LePUS: A Visual Formalism for Object-Oriented Architectures.” The 6th World Conference on Integrated Design and Process Technology, Pasadena, California, June 26–30, 2002.

    Google Scholar 

  9. E. Gamma, R. Helm, R. Johnson, J. Vlissides (1994). Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley.

    Google Scholar 

  10. D. Garlan, M. Shaw (1993). “An Introduction to Software Architecture.” In V. Ambriola, G. Tortora, eds., Advances in Software Engineering and Knowledge Engineering, Vol. 2, pp. 1–39. New Jersey: World Scientific Publishing Company.

    Google Scholar 

  11. W. W. Gibbs (1994). “Software’s Chronic Crisis.” Scientific American, Vol. 271, No. 3, pp. 86–95.

    Article  Google Scholar 

  12. D. C. Luckham, J. J. Kenney, L. M. Augustin, J. Vera, D. Bryan, W. Mann. “Specification and Analysis of System Architecture Using Rapide.” IEEE Transactions on Software Engineering, Special Issue on Software Architecture, Vol. 21, No. 4, pp. 336–355, April 1995.

    Article  Google Scholar 

  13. N. Medvidovic, R. N. Taylor (1997). “A Framework for Classifying and Comparing Architecture Description Languages”. In Proceedings of the Sixth European Software Engineering Conference, together with Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering, Zurich, Switzerland, September 22–25, 1997, pp. 60–76.

    Google Scholar 

  14. MegaLang Institute. “Fundamentals of JFC/Swing, Part II”. http://java.sun.com

  15. M. O’Cinnéide, P. Nixon. “A Methodology for the Automated Introduction of Design Patterns.” Proceedings of the IEEE International Conference on Software Maintenance, 30 August–3 September, 1999.

    Google Scholar 

  16. D. E. Perry, A. L. Wolf (1992). “Foundation for the Study of Software Architecture”. ACM SIGSOFT Software Engineering Notes, 17 (4), pp. 40–52.

    Article  Google Scholar 

  17. W. W. Royce (1970). “Managing the Development of Large Software Systems: Concepts and Techniques.” 1970 WESCON Technical Papers, Vol. 14, Western Electronic Show and Convention.

    Google Scholar 

  18. M. Shaw, D. Garlan (1995). “Formulations and Formalisms in Software Architecture,” chap. in Computer Science Today, Lecture Notes in Computer Science Vol. 1000. Berlin: Springer-Verlag.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Eden, A.H., Jahnke, J. (2002). Coordinating Software Evolution via Two-Tier Programming. In: Arbab, F., Talcott, C. (eds) Coordination Models and Languages. COORDINATION 2002. Lecture Notes in Computer Science, vol 2315. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46000-4_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-46000-4_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43410-8

  • Online ISBN: 978-3-540-46000-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics