ADAM: Architecture Discovery and Analysis Method
ADAM focuses on the following concrete results:
- Discovering the software architecture from the implementation, and analyzing quality risks, in particular, risks
related to performance, testability (with emphasis on unit testing) , and maintainability.
- Verifying the structural and behavioral constraints of the specified architectural style with respect to its
implementation.
- Identifying and analyzing the test architecture, and thereby improving our understanding of relationships
between software architectures and testing.
- Understanding and analyzing organizational aspects of the system under study.
- Build-in quality instead of test-in quality – some recommendations.
Introduction
Reverse architecting consists of creating explicit architectural models of an existing system, the as-built architecture. Traditional reverse engineering techniques can be applied to extract information from software artefacts. Appropriate abstractions must be made to obtain the information at an architectural level. (Forward) architecting is embedded in most software engineering processes. Reverse architecting is rarely applied in a structured development approach. In this project we investigate different aspects to ultimately achieve a structured software development process in which architecture is more embedded.
We can classify our research questions into the three interleaved areas.
- Verification of Architectural Design Rules
- Discovery of Software Architectures and Analyses of Quality Properties
- Organizational Aspects
Results
- Software Architecture Discovery for Testability, Performance, and Maintainability of Industrial Systems Thesis (pdf)
- Architecture Metrics for Nasa, Dharmalingam Ganesan, Rene Krikhaar, Mikael Lindvall and Chris Verhoef
Case studies
The ADAM project works closely together with industry. Cases to validate research results come from industry and open source projects:
- Market Maker’s Software Product Line for web-based stock market systems
- Hitachi’s Engine Control System (ECS)
- Ricoh’s reusable user interface component (UIC)
- Digital Camera
- Ricoh’s Multi-Function Peripherals (MFPs)
- Testo’s climate and temperature measurement product line
- Software for farming trucks
- Electrical measurement embedded systems
- BioFortis, Maryland using Cranefoot – an open source Pedigree visualization framework
- BioFortis, Maryland using Madeline is an open source Pedigree visualization framework
- NASA’s Core Flight Software Product Line (CFS)
- NASA’s GMSEC Product Line
- Space Network (SN)
- Space Network Access System (SNAS)
- Cold Chain Information System (CCIS)
- Web-based Medical Information management system
- Archivex, Maryland – Laboratory Inventory Management System
- The US Food and Drug Administration (FDA)
Contributors
This project is supported by Fraunhofer, VU University Amsterdam and Quality Catch .
Key Publications
- Dharmalingam Ganesan, Mikael Lindvall, Rance Cleaveland, Raoul Jetley, Paul Jones, Yi Zhang. Architecture Reconstruction and Analysis of Medical Device Software. WICSA 2011 pdf
- Dharmalingam Ganesan, Mikael Lindvall, Christopher Ackermann, David McComas, Maureen Bartholomew.
Verifying Architectural Design Rules of the Flight Software Product Line. IEEE International Software Product Line
Conference (SPLC 2009): 161-170, see Verifying Architectural Design Rules of the Software Product Line.
pdf
- Dharmalingam Ganesan, Mikael Lindvall David McComas, Maureen Bartholomew, Steve Slegel, Barbara Medina.
Architecture-based Unit Testing of the Flight Software Product Line. To appear in IEEE International Software Product
Line Conference (SPLC 2010), see Architecture-based Unit Testing of the Flight Software Product Line.
pdf
- Dharmalingam Ganesan, Thorsten Keuler, Yutaro Nishimura. Architecture Compliance Checking at Run-time.
International Journal on Information & Software Technology (IST 2009), 51(11): 1586-1600, see Architecture
Compliance Checking at Run-time.
pdf
- Dharmalingam Ganesan, Mikael Lindvall, Lamont Ruley, Robert Wiegand, Vuong Ly, Tina Tsui. Architectural
Analysis of Systems based on the Publisher-Subscriber Style. IEEE International Working Conference on
Reverse Engineering (WCRE 2010), see Architectural Analysis of Systems based on the Publisher-Subscriber Style.
pdf
- Dharmalingam Ganesan, Dirk Muthig, Jens Knodel, Kentaro Yoshimura. Discovering Organizational Aspects from
the Source Code History Log during the Product Line Planning Phase--A Case Study. IEEE International Working
Conference on Reverse Engineering (WCRE 2006): 211-220, see Discovering Organizational Aspects from the Source
Code History Log during the Product Line Planning Phase--A Case Study.
pdf
- Dharmalingam Ganesan, Mikael Lindvall, Monica Ron. External Dependencies-driven Architecture Discovery and
Analysis of Implemented Systems. Submitted to ACM Transactions on Software Engineering, see External
Dependencies-driven Architecture Discovery and Analysis of Implemented Systems.
- Dharmalingam Ganesan, Mikael Lindvall, David McComas, Maureen
Bartholomew, Steve Slegel, Barbara Medina, Rene Krikhaar, Chris Verhoef, An Analysis of Unit Tests of a Flight Software Product
Line, Under Review Science of Computer Programming, pdf