A Structural and Generative Approach to Multilayered Software Architectures
- 1 Department of Computer Engineering, National Advanced School of Engineering, Yaounde, Cameroon
- 2 Department of Computer Science, Faculty of Science, University of Yaounde I, Yaounde, Cameroon
Abstract
The layered software architecture is the model commonly adopted for the development of information systems since it favors the modularity and the scalability of the systems. On the other hand, the emergence of model engineering aims to raise the level of abstraction to allow developers to reason on models, and less in code. The research question is to combine the two approaches to facilitate the work of developers. The proposal resulting from this study is based on a set of concepts defined using the UML profiles. These concepts include services, business components, and data persistence. Then the Kruchten model is adopted to represent the development cycle according to several views, each view being represented by UML diagrams derived from the previously defined profiles. Finally, rules are available for checking inter-view consistency, from refinement to code generation. The result is a step towards the definition of a domain specific ADL and a development process as much as it includes the expected characteristics of such a language, namely: the fundamental concepts, the support tools and the multiview development.
- Medvidovic, N. and Taylor, R. (2000) A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering, 126, 70-93. https://doi.org/10.1109/32.825767
- Kouamou, G.E. (2012) Coherence of Views in the Specification of Software Architectures. ARIMA, 14, 205-216.
- Medvidovic, N., Rosenblum, D.S., Redmiles, D.F. and. Robbins, J.E (2002) Modeling Software Architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology, 11, 2-57. https://doi.org/10.1145/504087.504088
- Kruchten, P. (1995) Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software, 12, 42-50. https://doi.org/10.1109/52.469759
- Randak, A., Martínez, S. and Wimmer, M. (2011) Extending ATL for Native UML Profile Support: An Experience Report. Proceedings of the 3rd International Workshop on Model Transformation with ATL, Zürich, Switzerland, CEUR-WS.org, Vol-742, Jul 2011, 49-62.
- ACCORD (2002) Etat de l’Art sur les Langages de Description d’Architecture. INRIA. https://pdfs.semanticscholar.org/5fb0/c9409a903b296aa86b4e49dc59e7eaff0ef3.pdf
- Aldrich, J., Chambers, C. and Notkin, D. (2002) ArchJava: Connecting Software Architecture to Implementation. Proceedings of the ISCE, Orlando, Florida, 19-25 May 2002, 187-197. https://doi.org/10.1145/581339.581365
- Garlan, D., Monroe R. and Wile, D. (1997) Acme: An Architecture Description Interchange Language. Proceedings of CASCON’97, November 1997, Toronto, Ontario, 169-183.
- Hofmeister, C., Kruchten, P., Nord, R.L., Obbink, H., Ran, A. and America, P. (2007) A General Model of Software Architecture Design Derived from Five Industrial Approaches. Systems and Software, 80, 106-126. https://doi.org/10.1016/j.jss.2006.05.024
- Richards, M. (2015) Software Architecture Patterns. O’Reilly Media, Inc.
- Taylor, N., Medvidovic, N. and Dashofy, E.M. (2009) Software Architecture: Foundations, Theory, and Practice. John Wiley & Sons Publishing, Hoboken.
- Muchandi, V. (2007) Applying 4 + 1 View Architecture with UML 2. Sparx Systems.
- Blanc, X. (2005) MDA in Action. Model Driven Software Engineering, Eyrolles.
- Kleppe, A., Warmer, J. and Bast, W. (2003) MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Boston.