Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
JML (poster session): notations and tools supporting detailed design in Java
OOPSLA '00 Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
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
Interface Theories for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
rCOS: a refinement calculus of object systems
Theoretical Computer Science - Components and objects
Computer
A model of component-based programming
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Component-based software engineering
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Refinement of models of software components
Proceedings of the 2010 ACM Symposium on Applied Computing
Hi-index | 0.00 |
One of the major issues in component-based design is how to use a component correctly in different applications according to the given interface specification, called the publication, of the component. In this paper we formulate this as the problem of component publication composition and refinement. We define the notion of publications of components that describes how a component can be used by a third party in building their own components or in writing their applications without access to the design or the code of the component. It is desirable that different users of the components can be given different publications according to their need. The first contribution of this paper is to provide a procedure, which calculates a weakest contract of the required interface of a component from the contract of its provided interface and its code. The other contribution, that is more significant from a component-based designer's point of view, is to define composition on publications so that the publication of a composite component can be calculated from those of its subcomponents. For this we define a set of primitive composition operators over components, including renaming, hiding, internalizing, plugging and feedback. This theory is presented based on the sematic model of rCOS, a refinement calculus of component and object systems.