Abstract
Superpositions are useful relationships between programs or components in component based approaches to software development. We study the application of invasive superposition morphisms between components in the architecture design language CommUnity. This kind of morphism allows us to characterise component extension relationships, and in particular, serves an important purpose for enhancing components to implement certain aspects, in the sense of aspect oriented software development. We show how this kind of morphism combines with regulative superposition and refinement morphisms, on which CommUnity relies, and illustrate the need and usefulness of extension morphisms for the implementation of aspects, in particular, certain fault tolerance related aspects, by means of a case study.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abrial, J.-R.: The B-Book, Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Aguirre, N., Maibaum, T., Alencar, P.: Abstract Design with Aspects (2005) (submitted)
Chandy, K., Misra, J.: Parallel Program Design - A Foundation. Addison-Wesley, Reading (1988)
Dimitrakos, T., Bicarregui, J., Matthews, B., Maibaum, T.: Compositional Structuring in the B-Method: A Logical Viewpoint of the Static Context. In: P. Bowen, J., Dunne, S., Galloway, A., King, S. (eds.) B 2000, ZUM 2000, and ZB 2000. LNCS, vol. 1878, p. 107. Springer, Heidelberg (2000)
Fiadeiro, J.: Categories for Software Engineering. Springer, Heidelberg (2004)
Fiadeiro, J., Maibaum, T.: Categorical Semantics of Parallel Program Design. In: Science of Computer Programming, vol. 28(2-3), Elsevier, Amsterdam (1997)
Filman, R., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)
Francez, N., Forman, I.: Interacting Processes. Addison-Wesley, Reading (1996)
Garlan, D., Monroe, R., Wile, D.: ACME: An Architecture Description Interchange Language. In: Proceedings of CASCON 1997, Toronto, Ontario (1997)
Goguen, J.: Categorical Foundations for General System Theory. In: Pichler, F., Trappl, R. (eds.) Adavaces in Cybernetics anda Systems Research, Transcripta Books, pp. 121–130 (1973)
Katara, M., Katz, S.: Architectural Views of Aspects. In: Proceedings of International Conference on Aspect-Oriented Software Design AOSD (2003)
Katz, S.: A Superimposition Control Construct for Distributed Systems. ACM Transactions on Programming Languages and Systems 15, 337–356 (1993)
Katz, S., Gil, J.: Aspects and Superimpositions. In: ECOOP Workshop on Aspect Oriented Programming (1999)
Kiczales, G.: An overview of AspectJ. In: ECOOP 2001. LNCS, Springer, Heidelberg (2001)
Liskov, B., Wing, J.: A Behavioral Notion of Subtyping. In: ACM Transactions on Programming Languages and Systems, November 1994, vol. 16(6), ACM Press, New York (1994)
Lopes, A., Wermelinger, M., Fiadeiro, J.: Higher-Order Architectural Connectors. ACM Transactions on Software Engineering and Methodology 12(1) (2003)
Lopes, A., Fiadeiro, J.: Superposition: Composition vs. Refinement of Non- Deterministic, Action-Based Systems. In: Formal Aspects of Computing, vol. 16(1), Springer, Heidelberg (2004)
Luckham, D., Kenney, J., Augustin, L., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering, Special Issue on Software Architecture 21(4) (1995)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, Springer, Heidelberg (1995)
Medvidovic, N., Oreizy, P., Robbins, J., Taylor, R.: Using Object-Oriented Typing to Support Architectural Design in the C2 Style. In: Proceedings of the ACM SIGSOFT 1996 Fourth Symposium on the Foundations of Software Engineering, ACM, San Francisco (1996)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (2000)
Sihman, M., Katz, S.: Superimpositions and Aspect-Oriented Programming. BCS Computer Journal 46 (2003)
Wermelinger, M., Lopes, A., Fiadeiro, J.: A Graph Based Architectural (Re)configuration Language. In: Gruhn, V. (ed.) ESEC/FSE 2001, ACM Press, New York (2001)
Wermelinger, M., Oliveira, C.: The CommUnity Workbench. In: Proc. of the 24th Intl. Conf. on Software Engineering, p. 713. ACM Press, New York (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Aguirre, N., Maibaum, T., Alencar, P. (2006). Extension Morphisms for CommUnity. In: Futatsugi, K., Jouannaud, JP., Meseguer, J. (eds) Algebra, Meaning, and Computation. Lecture Notes in Computer Science, vol 4060. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11780274_10
Download citation
DOI: https://doi.org/10.1007/11780274_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35462-8
Online ISBN: 978-3-540-35464-2
eBook Packages: Computer ScienceComputer Science (R0)