Statecharts: A visual formalism for complex systems
Science of Computer Programming
Design and validation of computer protocols
Design and validation of computer protocols
Specification and Analysis of System Architecture Using Rapide
IEEE Transactions on Software Engineering - Special issue on software architecture
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Analyzing software architectures with Argus-I
Proceedings of the 22nd international conference on Software engineering
Design and use of software architectures: adopting and evolving a product-line approach
Design and use of software architectures: adopting and evolving a product-line approach
Representing and Using Nonfunctional Requirements: A Process-Oriented Approach
IEEE Transactions on Software Engineering - Special issue on knowledge representation and reasoning in software development
An Event-Based Architecture Definition Language
IEEE Transactions on Software Engineering
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 33)
Statechart Simulator for Modeling Architectural Dynamics
WICSA '01 Proceedings of the Working IEEE/IFIP Conference on Software Architecture
Using Software Architecture for Code Testing
IEEE Transactions on Software Engineering
Nonfunctional Requirements: From Elicitation to Conceptual Models
IEEE Transactions on Software Engineering
From Goals to Aspects: Discovering Aspects from Requirements Goal Models
RE '04 Proceedings of the Requirements Engineering Conference, 12th IEEE International
A disciplined approach to aspect composition
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Moda - multiple objective decision analysis: balancing quality attributes in software architectures
Companion of the 30th international conference on Software engineering
Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work
Hi-index | 0.00 |
This paper addresses issues involved when an architect explore alternative designs including non-functional requirements; in our approach, non-functional requirements are expressed as state-charts. Non-functional requirements greatly impact the resulting design of a system because they naturally conflict with each other, crosscut the system at multiple points, and may be satisfied in a number of different ways. This makes correctly designing them early in the software lifecycle critical, since correcting them later can be extremely costly. Our approach supports an architect generating and evaluating many different design alternatives. This explorative process is not well supported by current techniques, which focus on documenting the result of this process, but not on assisting the designer during this process. We present an architecture-based approach that supports exploration of non-functional requirements expressed as statecharts. Our approach captures design alternatives of non-functional requirements separately, composes different system designs from these alternatives using a novel weaving technique, and analyzes the resulting design for specific qualities using simulation.