Abstract
Traditional programming languages assume that real-world systems have “intuitive”, mind-independent, preexisting concept hierarchies. However, our perception of the world depends heavily on the context from which it is viewed: Every software system can be viewed from multiple different perspectives, and each of these perspectives may imply a different decomposition of the concerns. The hierarchy which we choose to decompose our software system into modules is to a large degree arbitrary, although it has a big influence on the software engineering properties of the software. We identify this arbitrariness of the decomposition hierarchy as the main cause of ‘code tangling’ and present a new model called Caesar 1, within which it is possible to have multiple different decompositions simultaneously and to add new decompositions on-demand.
Project homepage at http://www.st.informatik.tu-darmstadt.de/pages/projects/caesar
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
E. Ernst. Family polymorphism. In Proceedings of ECOOP’01, LNCS 2072, pages 303–326. Springer, 2001.
D. Garlan, G.E. Kaiser, and D. Notkin. Using tool abstraction to compose systems. Computer, 25(6): 30–38, 1992.
U. Hölzle. Integrating independently-developed components in object-oriented languages. In Proceedings ECOOP’93, LNCS, 1993.
Java Foundation Classes. http://java.sun.com/products/jfc/.
D.C. Luckham, J.L. Kenney, L.M. Augustin, J. Vera, D. Bryan, and W. Mann. Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, 21(4):336–355, 1995.
O.L. Madsen and B. Møller-Pedersen. Virtual classes: A powerful mechanism in object-oriented programming. In Proceedings of OOPSLA’ 89. ACM SIGPLAN, 1989.
J. Magee and J. Kramer. Dynamic structure in software architecture. In Proceedings of the ACM SIGSOFT’96 Symposium on Foundations of Software Engineering, 1996.
S. McDirmid, M. Flatt, and W. Hsieh. Jiazzi: New age components for old fashioned Java. In Proceedings of OOPSLA’ 01, 2001.
N. Medvidovic, P. Oreizy, and R.N. Taylor. Reuse of off-the-shelf components in C2-style architectures. In Proceedings of the 1997 international conference on Software engineering, pages 692–700, 1997.
M. Mezini and K. Lieberherr. Adaptive plug-and-play components for evolutionary software development. In Proceedings OOPSLA’ 98, ACM SIGPLAN Notices, 1998.
M. Mezini and K. Ostermann. Integrating independent components with on-demand remodularization. In Proceedings of OOPSLA’ 02, Seattle, USA, 2002.
M. Mezini and K. Ostermann. Conquering aspects with Caesar. In Proc. International Conference on Aspect-Oriented Software Development (AOSD’ 03), Boston, USA, 2003.
M. Mezini, L. Seiter, and K. Lieberherr. Component integration with pluggable composite adapters. In M. Aksit, editor, Software Architectures and Component Technology: The State of the Art in Research and Practice. Kluwer, 2001. University of Twente, The Netherlands.
D.L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053–1058, 1972.
C.H. Pedersen. Extending ordinary inheritance schemes to include generalization. In OOPSLA’ 89 Proceedings, 1989.
M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. PrenticeHall, 1996.
P. Tarr, H. Ossher, W. Harrison, and S.M. Sutton. N degrees of separation: Multidimensional separation of concerns. In Proc. International Conference on Software Engineering (ICSE 99), 1999.
K.K. Thorup. Genericity in Java with virtual types. In Proceedings ECOOP’ 97, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mezini, M., Ostermann, K. (2003). Modules for Crosscutting Models. In: Rosen, JP., Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe 2003. Ada-Europe 2003. Lecture Notes in Computer Science, vol 2655. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44947-7_2
Download citation
DOI: https://doi.org/10.1007/3-540-44947-7_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40376-0
Online ISBN: 978-3-540-44947-8
eBook Packages: Springer Book Archive