Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Visualizing dynamic software system information through high-level models
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Building application frameworks: object-oriented foundations of framework design
Building application frameworks: object-oriented foundations of framework design
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
Visualizing Reference Patterns for Solving Memory Leaks in Java
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Revised Lectures on Software Visualization, International Seminar
Visualizing the Execution of Java Programs
Revised Lectures on Software Visualization, International Seminar
Using Visualization for Architectural Localization and Extraction
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
Modeling Behavioral Patterns of Concurrent Software Architectures Using Petri Nets
WICSA '04 Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture
Static control-flow analysis for reverse engineering of UML sequence diagrams
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Profile-Based Approach to Support Comprehension of Software Behavior
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Run-time monitoring of architecturally significant behaviors using behavioral profiles and aspects
Proceedings of the 2006 international symposium on Software testing and analysis
A pattern-based approach to generate code from API usage scenarios
Nordic Journal of Computing - Selected papers of the fourth nordic workshop on UML and software modelling (NWUML'06), June 12-14, 2006
Constructing Usage Scenarios for API Redocumentation
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
A Systematic Survey of Program Comprehension through Dynamic Analysis
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Software architecture contains, in addition to its structural part, interaction patterns that can be regarded as part of the architectural solution of the system. The interaction patterns define architecturally significant behavior of the software system. In this paper we propose a visual modeling language, behavioral profiles, for specifying architecturally significant behavioral rules for an application. The language is built on the Unified Modeling Language (UML), which is a visual language widely used in software development. We show how behavioral profiles can be used to support software designers in creating behavioral models that conform to some predefined rules and for ensuring that an application behaves correctly with respect to the rules given in the profiles. A tool called Bebop was built to support software engineers in behavioral profile-based design and analysis of program behavior. To evaluate the approach and the tools in different application domains, they are utilized in three cases. The size of the applications used in the cases varies from small to quite large software systems, and from academic to industrial ones. The examples demonstrate how the approach presented can be used in practice for different steps in a software engineering process. The examples cover specializing an application framework and monitoring the program execution in run-time. In addition, they show how behavioral profiles can be used to support guided program comprehension and to validate program execution by analyzing execution traces. Copyright © 2010 John Wiley & Sons, Ltd.