Behavior-Preserving Refinement Relations between Dynamic Software Architectures
نویسندگان
چکیده
In this paper, we address the refinement of abstract architectural models into more platform-specific representations. For each level of abstraction, we employ an architectural style covering structural restrictions on component configurations as well as supported communication and reconfiguration operations. Architectural styles are formalized as graph transformation systems with graph transformation rules defining the available operations. Architectural models are given as graphs to which one can directly apply the transformation rules in order to simulate operations and their effects. In addition to previous work, we include process descriptions into our architectural models in order to control the communication and reconfiguration behavior of the components. The execution semantics of these processes is also covered by graph transformation systems. We propose a notion of refinement which requires the preservation of both structure and behavior at the lower level of abstraction. Based on formal refinement relationships between abstract and platform-specific styles, we can use model checking techniques to verify that abstract scenarios can also be realized in the platform-specific architecture.
منابع مشابه
Behavioral Refinement of Software Architectures
Formal methods are mathematical techniques which aim at introducing sound engineering principles into software development. Especially in early development phases, where the overall structure of a software system — also called its software architecture — is designed, formal methods help to avoid errors. Therefore, a lot of formal methods based research has been and still is undertaken in the fi...
متن کاملCompatibility and inheritance in software architectures
The application of formal methods to the development of software depends on the availability of adequate models and formalisms for each of the stages of the development process. In this work, we focus on the level of design called Software Architecture. At this level, the system is described as a collection of interrelated components, and it is here where the properties derived from system’s st...
متن کاملGraph Transformation Based Models of Dynamic Software Architectures and Architectural Styles
Sebastian Thöne ([email protected]) ? International Graduate School of Dynamic Intelligent Systems University of Paderborn, Germany Software architectures play an important role in software development. As abstract models of the run-time structure they help to bridge the gap between user requirements and implementation. In the context of e-business, self-healing, or mobile systems, dynamic architectur...
متن کاملReasoning about Safety and Progress Using Contracts
Designing concurrent or distributed systems with complex architectures while preserving a set of high-level requirements through all design steps is not a trivial task. Building upon a generic notion of contract framework which relies on a component framework and two refinement relations: conformance and refinement under context, we provide a condition under which circular reasoning can be used...
متن کاملRefactoring, Refinement, and Reasoning - A Logical Characterization for Hybrid Systems
Refactoring of code is a common device in software engineering. As cyber-physical systems (CPS) become ever more complex, similar engineering practices become more common in CPS development. Proper safe developments of CPS designs are accompanied by a proof of correctness. Since the inherent complexities of CPS practically mandate iterative development, frequent changes of models are standard p...
متن کامل