Prespecification in data refinement
Information Processing Letters
Client/server architecture
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Correct Architecture Refinement
IEEE Transactions on Software Engineering - Special issue on software architecture
IEEE Transactions on Software Engineering - Special issue on software architecture
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
The Unified Modeling Language user guide
The Unified Modeling Language user guide
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Universal coalgebra: a theory of systems
Theoretical Computer Science - Modern algebra and its applications
Communication and Concurrency
The Unified Process for Practitioners: Object-Oriented Design, Uml and Java
The Unified Process for Practitioners: Object-Oriented Design, Uml and Java
Refinement of Information Flow Architectures
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
Specifying software connectors
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
Pre-Galois Connection on Coalgebras for Generic Component Refinement
Electronic Notes in Theoretical Computer Science (ENTCS)
Services and Contracts: Coalgebraically
Electronic Notes in Theoretical Computer Science (ENTCS)
Transformation laws for UML-RT
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Hi-index | 0.00 |
Although increasingly popular, software component techniques still lack suitable formal foundations on top of which rigorous methodologies for the description and analysis of software architectures could be built. This paper aims to contribute in this direction: building on previous work by the authors on coalgebraic semantics, it discusses component refinement at three different but interrelated levels: behavioural, syntactic, i.e., relative to component interfaces, and architectural. Software architectures are defined through component aggregation. On the other hand, such aggregations, no matter how large and complex they are, can also be dealt with as components themselves, which paves the way to a discipline of hierarchical design. In this context, a major contribution of this paper is the introduction of a set of rules for architectural refinement.