Protocol testing: review of methods and relevance for software testing
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Visualizing interactions in program executions
ICSE '97 Proceedings of the 19th international conference on Software engineering
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
Avoiding Architectural Degeneration: An Evaluation Process for Software Architecture
METRICS '02 Proceedings of the 8th International Symposium on Software Metrics
Static Evaluation of Software Architectures
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
IEEE Transactions on Software Engineering
Conformance checking of service behavior
ACM Transactions on Internet Technology (TOIT)
Software Architecture: Foundations, Theory, and Practice
Software Architecture: Foundations, Theory, and Practice
Recovering Views of Inter-System Interaction Behaviors
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Hi-index | 0.00 |
Software architecture has become essential in the struggle to manage today's increasingly large and complex systems. Software architecture views are created to capture important system characteristics on an abstract and, thus, comprehensible level. As the system is implemented and later maintained, it often deviates from the original design specification. Such deviations can have implication for the quality of the system, such as reliability, security, and maintainability. Software architecture compliance checking approaches, such as the reflexion model technique, have been proposed to address this issue by comparing the implementation to a model of the systems' architecture design. However, architecture compliance checking approaches focus solely on structural characteristics and ignore behavioral conformance. This is especially an issue in Systems-of-Systems. Systems-of-Systems (SoS) are decompositions of large systems, into smaller systems for the sake of flexibility. Deviations of the implementation to its behavioral design often reduce the reliability of the entire SoS. An approach is needed that supports the reasoning about behavioral conformance on architecture level. In order to address this issue, we have developed an approach for comparing the implementation of a SoS to an architecture model of its behavioral design. The approach follows the idea of reflexion models and adopts it to support the compliance checking of behaviors. In this paper, we focus on sequencing properties as they play an important role in many SoS. Sequencing deviations potentially have a severe impact on the SoS' correctness and qualities. The desired behavioral specification is defined in UML sequence diagram notation and behaviors are extracted from the SoS implementation. The behaviors are then mapped to the model of the desired behavior and the two are compared. Finally, a reflexion model is constructed that shows the deviations between behavioral design and implementation. This paper discusses the approach and shows how it can be applied to investigate reliability issues in SoS.