Proc. of the European symposium on programming on ESOP 86
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Process simulation and refinement
Formal Aspects of Computing
The existence of refinement mappings
Theoretical Computer Science
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Simulations Between Specifications of Distributed Systems
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
Refinement of State-Based Concurrent Systems
VDM '90 Proceedings of the Third International Symposium of VDM Europe on VDM and Z - Formal Methods in Software Development
Refinement Calculus, Part II: Parallel and Reactive Programs
Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop
rCOS: a refinement calculus of object systems
Theoretical Computer Science - Components and objects
A model of component-based programming
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Component publications and compositions
UTP'08 Proceedings of the 2nd international conference on Unifying theories of programming
Component-based software engineering
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Hi-index | 0.00 |
Models of software components at different levels of abstraction, component interfaces, contracts, implementations and publications are important for component-based design. Refinement relations among models at the same level and between different levels are essential for model-driven development of components. Classical refinement theories mainly focus on verification and put little attention on design. Therefore, most of them are not suitable for component-based model-driven development (CB-MDD). To address this issue, in this paper, we propose two refinement relations for CB-MDD, that is a trace-based refinement and a state-based refinement. Both are discussed in the framework of rCOS, which is a formal model of component and object systems. These refinement relations provide different granularity of abstraction and can capture the intuition that a refined component provides "more" and "better" services to the environment. We also show how to extend these refinement relations to allow us to compare contracts, components and publications with different interfaces by exploiting the primitive operator internalizing over contracts, components and publications.