ABSTRACT
In this paper we present an approach for supporting the semi-automated abstraction of architectural models throughout the software lifecycle. It addresses the problem that the design and the implementation of a software system often drift apart as software systems evolve, leading to architectural knowledge evaporation. Our approach provides concepts and tool support for the semi-automatic abstraction of architectural knowledge from implemented systems and keeping the abstracted architectural knowledge up-to-date. In particular, we propose architecture abstraction concepts that are supported through a domain-specific language (DSL). Our main focus is on providing architectural abstraction specifications in the DSL that only need to be changed, if the architecture changes, but can tolerate non-architectural changes in the underlying source code. The DSL and its tools support abstracting the source code into UML component models for describing the architecture. Once the software architect has defined an architectural abstraction in the DSL, we can automatically generate UML component models from the source code and check whether the architectural design constraints are fulfilled by the models. Our approach supports full traceability between source code elements and architectural abstractions, and allows software architects to compare different versions of the generated UML component model with each other. We evaluate our research results by studying the evolution of architectural abstractions in different consecutive versions and the execution times for five existing open source systems.
- Apache CXF. http://cxf.apache.org, 2011.Google Scholar
- F. B. e. Abreu, G. Pereira, and P. Sousa. A coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems. In Proceedings of the Conference on Software Maintenance and Reengineering, CSMR '00, pages 13-, Washington, DC, USA, 2000. IEEE Computer Society. Google ScholarDigital Library
- S. A. Ajila and S. Alam. Using a formal language constructs for software model evolution. In Proceedings of the 2009 IEEE International Conference on Semantic Computing, ICSC '09, pages 390--395, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarDigital Library
- S. Beydeda and V. Gruhn. Model-Driven Software Development. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005. Google ScholarDigital Library
- R. A. Bittencourt and D. D. S. Guerrero. Comparison of graph clustering algorithms for recovering software architecture module views. In Proceedings of the 2009 European Conference on Software Maintenance and Reengineering, pages 251--254, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarDigital Library
- F. Brosig, S. Kounev, and K. Krogmann. Automated extraction of palladio component models from running enterprise Java applications. In Proceedings of the Fourth International ICST Conference on Performance Evaluation Methodologies and Tools, VALUETOOLS '09, pages 10:1{10, ICST, Brussels, Belgium, Belgium, 2009. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering). Google ScholarDigital Library
- A. Corazza, S. Di Martino, and G. Scanniello. A probabilistic based approach towards software system clustering. In Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering, CSMR '10, pages 88--96, Washington, DC, USA, 2010. IEEE Computer Society. Google ScholarDigital Library
- R. M. Davison, M. G. Martinsons, and N. Kock. Principles of canonical action research. Information Systems Journal, 14:65--86, 2004..Google ScholarCross Ref
- S. C. Deerwester, S. T. Dumais, T. K. Landauer, G. W. Furnas, and R. A. Harshman. Indexing by latent semantic analysis. Journal of the American Society of Information Science, 41:391--407, 1990.Google ScholarCross Ref
- J. Dietrich, V. Yakovlev, C. McCartin, G. Jenson, and M. Duchrow. Cluster analysis of Java dependency graphs. In Proceedings of the 4th ACM symposium on Software visualization, SoftVis '08, pages 91--94, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- Eclipse Foundation. EMF Compare. http://www.eclipse.org/emf/compare/, 2011.Google Scholar
- Eclipse Foundation. Xtext. http://www.eclipse.org/Xtext/, 2011.Google Scholar
- A. Egyed. Consistent adaptation and evolution of class diagrams during refinement. In Fundamental Approaches to Software Engineering, 7th International Conference, FASE 2004, ETAPS 2004 Barcelona, Spain, volume 2984 of Lecture Notes in Computer Science, pages 37--53. Springer, 2004.Google Scholar
- M. Feilkas, D. Ratiu, and E. Jurgens. The loss of architectural knowledge during system evolution: An industrial case study. In Program Comprehension, 2009. ICPC '09. IEEE 17th International Conference on, pages 188--197, 2009.Google ScholarCross Ref
- M. Fowler. Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)). Addison-Wesley Professional, 1 edition, 2010. Google ScholarDigital Library
- R. C. Gronback. Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley Professional, 1 edition, 2009. Google ScholarDigital Library
- I. Ivkovic and K. Kontogiannis. Tracing evolution changes of software artifacts through model synchronization. In Proceedings of the 20th IEEE International Conference on Software Maintenance, pages 252--261, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- A. Jansen, J. van der Ven, P. Avgeriou, and D. K. Hammer. Tool support for architectural decisions. In Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture, WICSA '07, pages 4-, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- J. M. Kleinberg. Authoritative sources in a hyperlinked environment. J. ACM, 46:604--632, 1999. Google ScholarDigital Library
- N. Kock. The three threats of action research: a discussion of methodological antidotes in the context of an information systems study. Decis. Support Syst., 37:265--286, 2004. Google ScholarDigital Library
- M. Kofman and E. Perjons. Metadiff - a model comparison framework. metadiff.sourceforge.net/docs/metadiff.pdf.Google Scholar
- J. Linwood and D. Minter. Beginning Hibernate, Second Edition. Apress, Berkely, CA, USA, 2nd edition, 2010. Google ScholarDigital Library
- A. D. Lucia, F. Fasano, R. Oliveto, and G. Tortora. Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans. Softw. Eng. Methodol., 16, 2007. Google ScholarDigital Library
- M. Doliner, J. Erdfelt, J. Lewis, G. Lukasik, J. Mares, and J. Thomerson. Cobertura. http://cobertura.sourceforge.net, 2011.Google Scholar
- J. I. Maletic and A. Marcus. Supporting program comprehension using semantic and structural information. In Proceedings of the 23rd International Conference on Software Engineering, ICSE '01, pages 103--112, Washington, DC, USA, 2001. IEEE Computer Society. Google ScholarDigital Library
- O. Maqbool and H. Babri. Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng., 33:759--780, 2007. Google ScholarDigital Library
- N. Medvidovic and R. N. Taylor. A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng., 26:70--93, 2000. Google ScholarDigital Library
- K. Mens, T. Mens, and M. Wermelinger. Maintaining software through intentional source-code views. In Proceedings of the 14th international conference on Software engineering and knowledge engineering, SEKE '02, pages 289--296, New York, NY, USA, 2002. ACM. Google ScholarDigital Library
- G. C. Murphy, D. Notkin, and K. Sullivan. Software reflexion models: bridging the gap between source and high-level models. In Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering, SIGSOFT '95, pages 18--28, New York, NY, USA, 1995. ACM. Google ScholarDigital Library
- Object Management Group. OCL 2.2 Specification, 2010.Google Scholar
- Object Management Group. UML 2.3 Superstructure, 2010.Google Scholar
- L. Passos, R. Terra, M. T. Valente, R. Diniz, and N. das Chagas Mendonca. Static architecture-conformance checking: An illustrative overview. IEEE Softw., 27:82--89, 2010. Google ScholarDigital Library
- M. Sabetzadeh, S. Nejati, S. Liaskos, S. Easterbrook, and M. Chechik. Consistency checking of conceptual models via model merging. In Requirements Engineering Conference, 2007. RE '07. 15th IEEE International, pages 221--230, 2007.Google ScholarCross Ref
- K. Sartipi. Software architecture recovery based on pattern matching. In Proceedings of the International Conference on Software Maintenance, ICSM '03, pages 293--, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarDigital Library
- G. Scanniello, A. D'Amico, C. D'Amico, and T. D'Amico. An approach for architectural layer recovery. In Proceedings of the 2010 ACM Symposium on Applied Computing, SAC '10, pages 2198--2202, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- Soyatec. eUML2. http://www.soyatec.com/euml2/, 2011.Google Scholar
- D. Spinellis. UMLGraph. http://www.umlgraph.org, 2011.Google Scholar
- The Freecol Team. Freecol. http://freecol.org, 2011.Google Scholar
- M. von Detten and S. Becker. Combining clustering and pattern detection for the reengineering of component-based software systems. In Proceedings of the joint ACM SIGSOFT conference - QoSA and ACM SIGSOFT symposium - ISARCS on Quality of software architectures - QoSA and architecting critical systems - ISARCS, QoSA-ISARCS '11, pages 23--32, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- U. Zdun. The Frag Language. http://frag.sourceforge.net/, 2011.Google Scholar
- O. Zimmermann, U. Zdun, T. Gschwind, and F. Leymann. Combining pattern languages and architectural decision models in a comprehensive and comprehensible design method. In Working IEEE/IFIP Conference on Software Architecture (WICSA) 2008, Vancouver, BC, Canada, 2008. Google ScholarDigital Library
Index Terms
- DSL-based support for semi-automated architectural component model abstraction throughout the software lifecycle
Recommendations
Supporting Software Evolution by Integrating DSL-based Architectural Abstraction and Understandability Related Metrics
ECSAW '14: Proceedings of the 2014 European Conference on Software Architecture WorkshopsSoftware architecture erosion and architectural drift are well known software evolution problems. While there exist a number of approaches to address these problems, so far in these approaches the understandability of the resulting architectural models (...
Empirical Study on the Effect of a Software Architecture Representation's Abstraction Level on the Architecture-Level Software Understanding
QSIC '14: Proceedings of the 2014 14th International Conference on Quality SoftwareArchitectural component models represent high level designs and are frequently used as a central view of architectural descriptions of software systems. In this paper we present a study that examines the effect of the level of abstraction of the ...
DSL-based Architecting and DSL-based Architectures
ECSAW '14: Proceedings of the 2014 European Conference on Software Architecture WorkshopsThe International Workshop on DSL Architecting and DSL-based Architectures (DADA'14) aims at exploring current perspectives on DSL architecting and on DSL-based architectures in research and industry. The workshop is co-located with the 8th European ...
Comments