Skip to main content

Design in CommUnity with Extension Morphisms

  • Chapter
Formal Methods and Hybrid Real-Time Systems

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4700))

  • 594 Accesses

Abstract

We have been engaged over the past few years in studying and formalizing software architecture concepts such as hierarchical design, dynamic reconfiguration and the application of the concept of aspects to software architecture descriptions. Our attention has focused on the language CommUnity, developed by Fiadeiro and Maibaum, and an extension that we call DynaComm that incorporates support for dynamic reconfiguration, hierarchical design, a general notion of connector and other supporting mechanisms. In applying DynaComm, we have found that the relationships normally used in CommUnity, i.e., regulative superposition (used to regulate the behaviour of a component) and refinement (used to instantiate a role in a higher order connector) are not sufficient for dealing with some required changes to a software architecture or a component that we would like to be able to affect. To this end, we have defined the concept of extension morphism between two components. Such morphisms do not preserve encapsulation of components, as do regulative superpositions and refinements, but they do give us substitutability, in the sense of object-oriented systems, and, hence, a basis of predictability about its application to designs. In this paper, we describe the nature of extension morphisms and illustrate their use by means of a non trivial example.

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. Aguirre, N., Maibaum, T.: A Temporal Logic Approach to the Specification of Reconfigurable Component-Based Systems. In: ASE 2002, pp. 271–274 (2002)

    Google Scholar 

  2. Aguirre, N., Maibaum, T.: A Logical Basis for the Specification of Reconfigurable Component-Based Systems. In: Pezzé, M. (ed.) ETAPS 2003 and FASE 2003. LNCS, vol. 2621, pp. 37–51. Springer, Heidelberg (2003)

    Google Scholar 

  3. Aguirre, N., Maibaum, T.: Some Institutional Requirements for Temporal Reasoning on Dynamic Reconfiguration of Component Based Systems, Verification: Theory and Practice 2003, 407–435 (2003)

    Google Scholar 

  4. Aguirre, N.: A Logical Basis For the Specification of Reconfigurable Component Based Systems, Ph.D. Thesis, King’s College London, Department of Computer Science (2004)

    Google Scholar 

  5. Aguirre, N., Alencar, P., Maibaum, T.: Aspect Modularity in a High-level Program Design Language. In: CASCON Workshop on Aspect Oriented Software Development, IBM (2005)

    Google Scholar 

  6. Aguirre, N., Regis, G., Maibaum, T.: Verifying Temporal Properties of CommUnity Designs. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, Springer, Heidelberg (2007)

    Google Scholar 

  7. Aguirre, N., Maibaum, T., Alencar, P.: Abstract Design with Aspects (submitted, 2007)

    Google Scholar 

  8. Aguirre, N., Maibaum, T., Alencar, P.: Extension Morphisms for CommUnity, Essays Dedicated to Joseph A. In: Futatsugi, K., Jouannaud, J.-P., Meseguer, J. (eds.) Algebra, Meaning, and Computation. LNCS, vol. 4060, pp. 173–193. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Allen, R., Garlan, D.: Formalizing Architectural Connections. In: ICSE 1994, IEEE CS Press, Los Alamitos (1994)

    Google Scholar 

  10. Allen, R.J.: A Formal Approach to Software Architecture, Ph.D. Thesis, Carnegie Mellon University, School of Computer Science, available as TR# CMU-CS-97-144 (May 1997)

    Google Scholar 

  11. Allen, R., Douence, R., Garlan, D.: Specifying and Analyzing Dynamic Software Architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 21–37. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  12. Bicarregui, J.C., Lano, K.C., Maibaum, T.: Towards a Compositional Interpretation of Object Diagrams, Algorithmic Languages and Calculi, pp. 187–207. Chapman & Hall, Sydney, Australia (1997)

    Google Scholar 

  13. Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A survey of self-management in dynamic software architecture specifications, Workshop on Self-Healing Systems, ACM Digital Library (2004)

    Google Scholar 

  14. Corradini, A., Hirsch, D.: An Operational Semantics of COMMUITY Based on Graph Transformation Systems. Electr. Notes Theor. Comput. Sci. 109, 111–124 (2004)

    Article  Google Scholar 

  15. Fiadeiro, J.L., Maibaum, T.: Categorical Semantics of Parallel Program Design, Technical Report, FCUL and Imperial College (1995)

    Google Scholar 

  16. Fiadeiro, J.L., Maibaum, T.: Design Structures for Object Based System, Formal Methods and Object Technology, pp. 183–204. Springer, Heidelberg (1996)

    Google Scholar 

  17. Fiadeiro, J.L., Maibaum, T.: Interconnecting Formalisms: Supporting Modularity, Reuse and Incrementality. In: FSE, pp. 72–80 (1995)

    Google Scholar 

  18. Fiadeiro, J.L.: Categories for Software Engineering. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  19. Garlan, D., Monroe, R., Wile, D.: ACME: An Architecture Description Interchange Language. In: CASCON 1997 (1997)

    Google Scholar 

  20. Garlan, D.: Software Architecture: A Roadmap, The Future of Software Engineering. In: Filkenstein, A. (ed.) ACM Press, New York (2000)

    Google Scholar 

  21. Georgiadis, I.: Self-Organising Distributed Component Software Architectures, Ph.D. Thesis, Imperial College of Science, Technology and Medicine, Department of Computing (2002)

    Google Scholar 

  22. Goguen, J.: Mathematical Representation of Hierarchically Organised Systems. In: Attimger, E. (ed.) Global Systems Dynamics, Krager, pp. 112–128 (1971)

    Google Scholar 

  23. Goguen, J., Ginali, S.: A Categorical Approach to General Systems Theory. In: Klir, G. (ed.) Applied General Systems Research, pp. 257–270. Plenum, New York (1978)

    Google Scholar 

  24. Goguen, J.: Categorical Foundations for General Systems Theory. In: Pichler, F., Trappl, R. (eds.) Advances in Cybernetics and Systems Research, Transcripta Books, pp. 121–130 (1973)

    Google Scholar 

  25. Kiczales, G.: An overview of Aspect J. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  26. Larsen, K.G., Skou, A.: Bisimulation through probabilistic testing. Information and Computation 94, 1–28 (1991)

    Article  MATH  Google Scholar 

  27. Ling, X.: DynaComm: The Extension of CommUnity to Support Dynamic Reconfiguration, MSc Thesis, McMaster University, available as SQRL Technical Report 40 (2007), http://www.cas.mcmaster.ca/sqrl/sqrl_reports.html

  28. Liskov, B., Wing, J.: A Behavioral Notion of Subtyping, ACM Transactions on Programming Languages and Systems, vol. 16(6). ACM Press, New York (1994)

    Google Scholar 

  29. Lopes, A., Wermelinger, M., Fiadeiro, J.: Higher-Order Architectural Connectors. ACM Transactions on Software Engineering and Methodology 12(1) (2003)

    Google Scholar 

  30. Lopes, A., Fiadeiro, J.: Superposition: Composition vs. Refinement of Non-Deterministic, Action-Based Systems, Formal Aspects of Computing, vol. 16(1). Springer, Heidelberg (2004)

    Google Scholar 

  31. Magee, J., Kramer, J.: Dynamic Structure in Software Architectures. In: Gollmann, D. (ed.) Fast Software Encryption. LNCS, vol. 1039, pp. 24–32. Springer, Heidelberg (1996)

    Google Scholar 

  32. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Heidelberg (1991)

    MATH  Google Scholar 

  33. Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. on Software Engineering 26(1), 70–93 (2000)

    Article  Google Scholar 

  34. Perry, D.E., Wolf, A.L.: Foundations for the study of software architectures. SIGSOFT Software Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  35. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  36. Szyperski, C., Pfister, C.: Component–Oriented Programming: WCOP 1996 Workshop Report, Special Issues in Object-Oriented Programming: Workshop Reader of the 10th European Conference on Object-Oriented Programming ECOOP 1996, pp. 127–130 (1996)

    Google Scholar 

  37. Wermelinger, M., Oliveira, C.: The CommUnity Workbench, ICSE. ACM Press, New York (2002)

    Google Scholar 

  38. Wile, D.S.: Using Dynamic Acme, Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia (2001)

    Google Scholar 

  39. Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design: http://www.early-aspects.net/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Cliff B. Jones Zhiming Liu Jim Woodcock

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ling, X., Maibaum, T., Aguirre, N. (2007). Design in CommUnity with Extension Morphisms. In: Jones, C.B., Liu, Z., Woodcock, J. (eds) Formal Methods and Hybrid Real-Time Systems. Lecture Notes in Computer Science, vol 4700. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75221-9_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75221-9_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75220-2

  • Online ISBN: 978-3-540-75221-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics