Research‎ > ‎Research Areas‎ > ‎

Software Architecture Engineering

Description

Research in this area aims at better supporting architecture-related activities in software engineering. In particular we develop concepts and tools for modeling, describing, visualizing, and analyzing software system architectures. We support architecture modeling and analysis as ongoing and incremental activity throughout the whole software development process. Thus, incremental modeling, continuous analysis and validation, and continuous synchronization with a potential implementation are central to our approach. The approach is based on a general software architecture meta-model (LISA), which provides a technology independent way of describing software architectures and which has been designed for ease of extension and for ease of synchronization with an implementation. LISA is similar to an ADL, because it supports describing and analyzing system software architectures. However, it also provides significant extensions to existing ADLs. Examples for such extensions are the integration of requirements and design decisions to prevent knowledge vaporization and to support requirements tracing, the support for dependency analysis in the sense of architecture management tools, the support for synchronization of architecture and implementation, the integration of AOP and feature models, the support of both manual and automated analysis, and the support for different component models and technologies. Have a look at our publications for more information on some of the mentioned features of our approach.

Partners
  • Johannes Kepler University Linz (JKU)
  • Software Competence Center Hagenberg (SCCH)
Team Members
  • Rainer Weinreich (JKU, project lead)
  • Georg Buchgeher (SCCH, continuous architecture analysis), industrial researcher
  • Cornelia Miesbauer (JKU, AKM), doctoral student (currently on maternity leave)
  • Iris Groher (JKU, PLE support), post-doctoral researcher
Former Team Members and Contributors
  • Reinhard Holzner (PLE support, variability model integration), master thesis
  • Andreas Hackl (AOP integration), master thesis
  • Harald Mülleder (Spectrum AOP integration), master thesis
  • Michael Brandl (SCA support), master thesis
  • Michael Moser (early OSGi support), master thesis
  • Andreas Wiesauer (JKU, security analysis), doctoral student
  • Daniel Putz (architectural views), master student

Results
  • LISA AIR
The LISA Architecture Information Repository (AIR) is a complete re-implementation of the previous tools to support a client/server-architecture based on a REST interface. Parts of the LISA AIR project are Eclipse IDE and RCP clients as well as a web client, all working on the same central architecture information repository. We are currently working on extending the set of clients with various web and mobile clients to support different architecture-related activities (like AKM and architecture reviews based on the AIR).
  • LISA-Model
A Software Architecture Meta-Model used for describing and validating software architectures. The acronym LISA originally stood for Language for Integrated Software Architecture emphasizing the attempt to tightly integrate an architecture description with a system implementation and development process. We think that this integration is essential for the success of architecture-centric development.
  • LISA-Toolkit 
A set of tools for describing, modeling, visualizing, and analyzing LISA-based software architecture models. The toolkit is realized as a set of Eclipse plug-ins and tightly integrates into the Eclipse IDE. The toolkit includes functionality of typical software architecture management tools (like SonarJ, Structure101, and Lattix) but also supports the description and validation of service-oriented architectures and of architectures based on component models like EJB, Spring, and SCA. 
  • Spectrum
Spectrum has been an earlier prototype of the LISA toolkit, which focused on describing the run-time architecture of component-based software systems (similar to other ADLs). Spectrum featured a general component model which eventually evolved into the LISA architecture meta-model.
  • Evidence
Evidence has also been an earlier prototype of the LISA toolkit. Evidence focused on implementation synchronization and dependency analysis based on information extracted from source code. Evidence and Spectrum were merged and evolved to the LISA language and toolkit.

Technologies
  • Implementation technologies: Java, Eclipse, EMF, GEF
  • Supported technologies: Java, C#, Spring, OSGi, Spring-OSGi, EJB, SCA, Eclipse Plugins

Publications
  • I. Groher, R. Weinreich: A Study on Architectural Decision-Making in Context, accepted for publication, 12th Working IEEE/IFIP Conference on Software Architecture (WICSA 2015), May, 4-8, Montreal, Canada, IEEE Computer Society Press, 2015.
  • I. Groher, R. Weinreich: Variability Support in Architecture Knowledge Management Approaches: A Systematic Literature Review, 48th Hawaii International Conference on System Sciences (HICSS 2015), IEEE Computer Society, http://dx.doi.org/10.1109/HICSS.2015.634, 2015.
  • R. Weinreich, I. Groher, C. Miesbauer. An expert survey on kinds, influence factors and documentation of design decisions in practice, Future Generation Computer Systems, available online 17 December 2014, ISSN 0167-739X, http://dx.doi.org/10.1016/j.future.2014.12.002, December 2014.
  • T. Kriechbaum, G. Buchgeher, R. Weinreich. Service Development and Architecture Management for an Enterprise SOA, 8th European Conference on Software Architecture (ECSA 2014), Vienna, Austria, 25-29 August 2014, to be published, Springer LNCS, 2014.
  • R. Weinreich, I. Groher. A Fresh Look at Codification Approaches for SAKM: A Systematic Literature Review, 8th European Conference on Software Architecture (ECSA 2014), Vienna, Austria, 25-29 August 2014, to be published, Springer LNCS, 2014
  • R. Weinreich, G. Buchgeher. Automatic Reference Architecture Conformance Checking for SOA-based Software Systems. 11th Working IEEE/IFIP Conference on Software Architecture (WICSA 2014), April, 7-11, Sydney, Australia, IEEE Computer Society Press, 2014.
  • I. Groher, R. Weinreich. Strategies for Aligning Variability Model and Architecture, 20th Asia-Pacific Software Engineering Conference (APSEC 2013), Bangkok Thailand, December 2-5, IEEE CPS, 2013.
  • G. Buchgeher, R. Weinreich. Continuous Software Architecture Analysis. In: Babar, M.A., Brown, A.W., Koskimies, K., Mistrik, I., eds.: Agile Software Architecture: Aligning Agile Processes and Software Architecture, Elsevier, 2013.
  • C. Miesbauer, R. Weinreich. Classification of Design Decisions: An Expert Survey in Practice, European Conference on Software Architecture (ECSA 2013), Montpellier, France, Springer LNCS, p. 130-145, DOI: 10.1007/978-3-642-39031-9_12, 2013.
  • G. Buchgeher, R. Weinreich. Towards Continuous Reference Architecture Conformance Analysis, European Conference on Software Architecture (ECSA 2013), Montpellier, France, Springer LNCS, p. 332-335, Springer Berlin Heidelberg, 2013, DOI: 10.1007/978-3-642-39031-9_32, 2013.
  • I. Groher, R. Weinreich. Supporting Variability Management in Architecture Design and Implementation, 46th Hawaii International Conference on System Sciences (HICSS-46), Software Technology Track, January 7-10, Maui, Wailea, HI / USA, 2013.
  • C. Miesbauer, R. Weinreich. Capturing and Maintaining Architectural Knowledge using Context Information, 2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture (WICSA-ECSA 2012), August 20-24, Helsinki, Finland, 2012.
  • I. Groher, R. Weinreich. Integrating Variability Management and Software Architecture, 2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture (WICSA-ECSA 2012), August 20-24, Helsinki, Finland, 2012.
  • R. Weinreich, C. Miesbauer, G. Buchgeher, T. Kriechbaum. Extracting and Facilitating Architecture in Service-Oriented Software Systems, 2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture (WICSA-ECSA 2012), August 20-24, Helsinki, Finland, 2012.
  • R. Weinreich, G. Buchgeher. Towards Supporting the Software Architecture Life Cycle, Journal of Systems and Software (JSS), Vol. 85, Issue 3, March 2012.
  • G. Buchgeher, R. Weinreich. Automatic Tracing of Decisions to Architecture and Implementation. 9th Working IEEE/IFIP Conference on Software Architecture (WICSA 2011), 20-24 June 2011, Boulder, Colorado, USA, IEEE Computer Society Press, 2011.
  • G. Buchgeher, R. Weinreich. A Toolkit for Architecture-Centric Software Development, 8th International Conference on the Principles and Practice of Programming in Java (PPPJ 2010), September 15-17, Vienna, Austria, ACM, 2010. 
  • R. Weinreich, G. Buchgeher. Integrating Requirements and Design Decisions in Architecture Representation, 4th European Conference on Software Architecture (ECSA 2010), August 23-26, 2010, Copenhagen, Denmark, Springer LNCS, 2010.
  • G. Buchgeher, R. Weinreich. An Approach for Combining Model-based and Scenario-based Software Architecture Analysis, 5th International Conference on Software Engineering Advances (ICSEA 2010), August 22-27, 2010, Nice, France, IEEE Computer Society Press, 2010.
  • R. Weinreich, G. Buchgeher. Paving the Road for Formally Defined Architecture Description in Software Development, 25th ACM Symposium on Applied Computing (SAC 10), ACM, 2010. (DOI)
  • G. Buchgeher, R. Weinreich. Tool Support for Component-Based Software Architectures, Asia/Pacific Software Engineering Conference (APSEC 2009), IEEE Computer Society Press, 2009. (DOI)
  • G. Buchgeher, R. Weinreich. Connecting Architecture and Implementation, 8th International Workshop on System/Software Architectures (IWSSA 2009), Springer LNCS, 2009. (SpringerLink)
  • R. Weinreich, G. Buchgeher. Software Architecture Engineering, Hagenberg Research, Buchberger et al. (Ed.), pp. 200-214, Springer Berlin, ISBN 3642021263, 2009.
  • G. Buchgeher, R. Weinreich. Integrated Software Architecture Management and Validation, 3rd International Conference on Software Engineering Advances (ICSEA 2008), IEEE Computer Society Press, 2008. (DOI)