Parallel program design: a foundation
Parallel program design: a foundation
Refinement calculus, part I: sequential nondeterministic programs
REX workshop Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness
Refinement calculus, part II: parallel and reactive programs
REX workshop Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness
Specification and Analysis of System Architecture Using Rapide
IEEE Transactions on Software Engineering - Special issue on software architecture
Correct Architecture Refinement
IEEE Transactions on Software Engineering - Special issue on software architecture
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
Modelling systems: practical tools and techniques in software development
Modelling systems: practical tools and techniques in software development
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Modal and temporal properties of processes
Modal and temporal properties of processes
Concurrent Systems: Formal Development in CSP
Concurrent Systems: Formal Development in CSP
PI-Calculus: A Theory of Mobile Processes
PI-Calculus: A Theory of Mobile Processes
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
ACM SIGSOFT Software Engineering Notes
Formally refining software architectures with π-ARL: a case study
ACM SIGSOFT Software Engineering Notes
Formally refining software architectures with π-ARL: a case study
ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes
π-Method: a model-driven formal method for architecture-centric software engineering
ACM SIGSOFT Software Engineering Notes
Model-driven refinement of software architectures with π-ARL
AMCOS'05 Proceedings of the 4th WSEAS International Conference on Applied Mathematics and Computer Science
Development of Fault-Tolerant Software Systems Based on Architectural Abstractions
ECSA '08 Proceedings of the 2nd European conference on Software Architecture
Multi-view refinement of AO-connectors in distributed software systems
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
An active architecture approach to dynamic systems co-evolution
ECSA'07 Proceedings of the First European conference on Software Architecture
Managing separation of concerns in grid applications through architectural model transformations
ECSA'07 Proceedings of the First European conference on Software Architecture
Transactions on Aspect-Oriented Software Development X
Journal of Systems and Software
Hi-index | 0.02 |
A key aspect of the formal development of any software system is the specification and stepwise refinement of its architecture. In a stepwise refinement, a sequence of steps starting from an abstract specification of the architecture leads to a concrete, implementation-centered, architectural model. Each refinement step typically leads to a more detailed architecture description that increases the determinism while implying properties of the abstract specification. Enabling stepwise architecture refinement is a new challenge for the formal development of complex software systems. This article describes π-ARL, a novel Architecture Refinement Language (ARL) that has been designed in the ArchWare European Project to address formal refinement of software architectures. It is a formal, well-founded theoretically language based on a rewriting logic. Its underlying approach for architecture refinement is underspecification, i.e. at a high-level of abstraction, when specifying an architectural element, certain aspects can be left open. The decrease of this underspecification establishes behaviour but also port, structure, and data refinement relations. The underlying foundation for architected behaviours is the higher order typed π-calculus. π-ARL focuses on formally modelling the stepwise refinement of software architectures through a set of architecture refinement primitives.