skip to main content
10.1145/2304696.2304709acmconferencesArticle/Chapter ViewAbstractPublication PagescomparchConference Proceedingsconference-collections
research-article

DSL-based support for semi-automated architectural component model abstraction throughout the software lifecycle

Published:25 June 2012Publication History

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.

References

  1. Apache CXF. http://cxf.apache.org, 2011.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Beydeda and V. Gruhn. Model-Driven Software Development. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. M. Davison, M. G. Martinsons, and N. Kock. Principles of canonical action research. Information Systems Journal, 14:65--86, 2004..Google ScholarGoogle ScholarCross RefCross Ref
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. Eclipse Foundation. EMF Compare. http://www.eclipse.org/emf/compare/, 2011.Google ScholarGoogle Scholar
  12. Eclipse Foundation. Xtext. http://www.eclipse.org/Xtext/, 2011.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. M. Fowler. Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)). Addison-Wesley Professional, 1 edition, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. C. Gronback. Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley Professional, 1 edition, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. M. Kleinberg. Authoritative sources in a hyperlinked environment. J. ACM, 46:604--632, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Kofman and E. Perjons. Metadiff - a model comparison framework. metadiff.sourceforge.net/docs/metadiff.pdf.Google ScholarGoogle Scholar
  22. J. Linwood and D. Minter. Beginning Hibernate, Second Edition. Apress, Berkely, CA, USA, 2nd edition, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Doliner, J. Erdfelt, J. Lewis, G. Lukasik, J. Mares, and J. Thomerson. Cobertura. http://cobertura.sourceforge.net, 2011.Google ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. O. Maqbool and H. Babri. Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng., 33:759--780, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. Object Management Group. OCL 2.2 Specification, 2010.Google ScholarGoogle Scholar
  31. Object Management Group. UML 2.3 Superstructure, 2010.Google ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarCross RefCross Ref
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. Soyatec. eUML2. http://www.soyatec.com/euml2/, 2011.Google ScholarGoogle Scholar
  37. D. Spinellis. UMLGraph. http://www.umlgraph.org, 2011.Google ScholarGoogle Scholar
  38. The Freecol Team. Freecol. http://freecol.org, 2011.Google ScholarGoogle Scholar
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. U. Zdun. The Frag Language. http://frag.sourceforge.net/, 2011.Google ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. DSL-based support for semi-automated architectural component model abstraction throughout the software lifecycle

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          QoSA '12: Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures
          June 2012
          164 pages
          ISBN:9781450313469
          DOI:10.1145/2304696

          Copyright © 2012 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 25 June 2012

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate46of131submissions,35%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader