Coloured Petri nets: basic concepts, analysis methods and practical use, vol. 2
Coloured Petri nets: basic concepts, analysis methods and practical use, vol. 2
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
Rigi: a visualization environment for reverse engineering
ICSE '97 Proceedings of the 19th international conference on Software engineering
Modeling execution architecture of software system using colored Petri nets
Proceedings of the 1st international workshop on Software and performance
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Evaluating software architectures by coloured petri nets
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Playing Detective: Reconstructing Software Architecture from Available Evidence
Automated Software Engineering
Creating Architectures with Building Blocks
IEEE Software
Combining Static and Dynamic Views for Architecture Reconstruction
CSMR '02 Proceedings of the 6th European Conference on Software Maintenance and Reengineering
Recovering High-Level Views of Object-Oriented Applications from Static and Dynamic Information
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Run-time monitoring of architecturally significant behaviors using behavioral profiles and aspects
Proceedings of the 2006 international symposium on Software testing and analysis
Discovering Architectures from Running Systems
IEEE Transactions on Software Engineering
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
IEEE Transactions on Software Engineering
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
A light-weight load-time weaving approach for OSGi
Proceedings of the 2008 workshop on Next generation aspect oriented middleware
Architecture Compliance Checking at Runtime: An Industry Experience Report
QSIC '08 Proceedings of the 2008 The Eighth International Conference on Quality Software
Analyzing the Actual Execution of a Large Software-Intensive System for Determining Dependencies
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Adding debugging support to the Prometheus methodology
Engineering Applications of Artificial Intelligence
ExSpect 6.4: an executable specification tool for hierarchical colored Petri nets
ICATPN'00 Proceedings of the 21st international conference on Application and theory of petri nets
Assisting conformance checks between architectural scenarios and implementation
Information and Software Technology
PANDArch: a pluggable automated non-intrusive dynamic architecture conformance checker
ECSA'13 Proceedings of the 7th European conference on Software Architecture
ADAM: External dependency-driven architecture discovery and analysis of quality attributes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
In this paper, we report on our experiences with architecture compliance checking - the process of checking whether the planned or specified software architecture is obeyed by the running system - of an OSGi-based, dynamically evolving application in the office domain. To that end, we first show how to dynamically instrument a running system in the context of OSGi in order to collect run-time traces. Second, we explain how to bridge the abstraction gap between run-time traces and software architectures, through the construction of hierarchical Colored Petri nets (CP-nets). In addition, we demonstrate how to design reusable hierarchical CP-nets. In an industry example, we were able to extract views that helped us to identify a number of architecturally relevant issues (e.g., architectural style violations, behavior violations) that would not have been detected otherwise, and could have caused serious problems like system malfunctioning or unauthorized access to sensitive data. Finally, we package valuable experiences and lessons learned from this endeavor.