Abstract
Software architectural patterns help manage complexity through abstraction and separation of concerns. The most commonly used architectural patterns are layered architectures, which benefit from modularity and reuse of layers. However, they lack in supporting changes, as there is a need to do a substantial amount of rework on the layers in order to incorporate changes. Furthermore, the comprehension of specifications which are based on a layered architecture can be difficult. In order to address the aforementioned limitations, we adopt a domain engineering approach called Application-based Domain Modeling (ADOM). Using ADOM, we refer to each layer as a separate domain model, whose elements are used to classify the application model elements. Consequently, the application model is represented in a unified form, which incorporates information from all of the layers. This allows performing changes in the model, without creating cascades of changes among the layers’ models in order to synchronize them.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Allen, R.J., Douence, R., Garlan, D.: Specifying Dynamism in Software Architectures. In: Proceedings of the Workshop Foundations of Component-Based Systems, pp. 11–22 (1997)
Brooks, R.A.: A Robust Layered Control System for a Mobile Robot. IEEE Journal of Robotics and Automation 2(1), 14–23 (1986)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Inc., Chichester (1996)
Dijkstra, E.W.: The structure of the “THE”-multiprogramming system. Communications of the ACM 11(5), 341–346 (1968)
Evans, E.: Domain-Driven Design: Tacking Complexity in the Heart of Software. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2003)
Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural Description of Component-Based Systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–67. Cambridge University Press, New York (2000)
Luckham, D.C., Vera, J.: An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering 21(9), 717–734 (1995)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 137–153. Springer, Heidelberg (1995)
Malavolta, I., Muccini, H., Pelliccione, P., Tamburri, D.A.: Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies. IEEE Transactions on Software Engineering 36(1), 119–140 (2010)
Medvidovic, N., Rosenblum, D.S., Redmiles, D.F., Robbins, J.E.: Modeling software architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology 11(1), 2–57 (2002)
Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A Language and Environment for Architecture-Based Software Development and Evolution. In: Proceedings of the 21st International Conference on Software Engineering.ICSE 1999, pp. 44–53. ACM, New York (1999)
Pastor, O., Molina, J.C.: Model-Driven Architecture in Practice: a Software Production Environment Based on Conceptual Modeling. Springer-Verlag New York, Inc. (2007)
Pérez-Martínez, J.E.: Heavyweight Extensions to the UML Metamodel to Describe the C3 Architectural Style. ACM SIGSOFT Software Engineering Notes 28(3), 5 (2003)
Reinhartz-Berger, I., Sturm, A.: Enhancing UML Models: A Domain Analysis Approach. Journal of Database Management 19(1), 74–94 (2007)
Reinhartz-Berger, I., Sturm, A.: Utilizing Domain Models for Application Design and Validation. Information and Software Technology 51(8), 1275–1289 (2009)
Roh, S., Kim, K., Jeon, T.: Architecture Modeling Language based on UML2.0. In: Proceedings of the 11th Asia-Pacific Software Engineering Conference (APSEC), pp. 663–669. IEEE Computer Society, Los Alamitos (2004)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming., 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2002)
Tanenbaum, A.S.: Computer Networks. Prentice Hall PTR, Englewood Cliffs (1985)
Weigert, T., Garlan, D., Knapman, j., Møller-Pedersen, B., Selic, B.: Modeling of Architectures with UML (Panel). In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 556–569. Springer, Heidelberg (2000)
Zarras, A., Issarny, V., Kloukinas, C., Kguyen, V.K.: Towards a Base UML Profile for Architecture Description. In: Proceedings of ICSE 2001 Workshop on Describing Software Architecture with UML, pp. 22–26. IEEE Computer Society, Los Alamitos (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Abramov, J., Sturm, A. (2010). Supporting Layered Architecture Specifications: A Domain Modeling Approach. In: Bider, I., et al. Enterprise, Business-Process and Information Systems Modeling. BPMDS EMMSAD 2010 2010. Lecture Notes in Business Information Processing, vol 50. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13051-9_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-13051-9_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13050-2
Online ISBN: 978-3-642-13051-9
eBook Packages: Computer ScienceComputer Science (R0)