Exogenous connectors for software components

  title={Exogenous connectors for software components},
  author={Kung-Kiu Lau and Perla Velasco-Elizondo and Zongge Wang},
In existing component models, control originates in components, and connectors are channels for passing on the control to other components. This provides a mechanism for message passing, which allows components to invoke one another's operations by method calls (or remote procedure calls) either directly or indirectly via a channel such as a bus. Thus components in these models mix computation with control, since in performing their computation they also initiate method calls and manage their… 
A Component Model for Separation of Control Flow from Computation in Component-Based Systems
Interaction patterns as composite connectors in component-based software development
This thesis investigates the possibility of representing recurring patterns of interaction as composition mechanisms (and other associated component model entities), as distinct from components that define computation; these composition mechanisms would appear as first-class entities in architectures, and can be stored in and reused from repositories.
Automatic Control Flow Generation from Software Architectures
This paper describes an approach which allows separate reuse of component code and connector code, and thus makes it possible to build architectures from pre-existing components and generic connectors, and shows that such architectures can be implemented by generating control flow at run-time automatically.
Design-by-contract for reusable components and realizable architectures
It is shown how the Xcd ADL extends Design-by-Contract (DbC) for specifying protocol-independent components, and arbitrary connectors that are always realizable in a decentralized manner as specified by an architecture - Xcd connectors impose local constraints only.
A New Component-Oriented Programming Language with the First-Class Connector
This paper presents a new component-oriented programming language, SAJ (Software Architecture based Java), which integrates some architectural concepts such as the component, the port and particularly the connector into Java, and treats the connector as a first-class entity in SAJ.
Composite Connectors for Composing Software Components
This paper describes a hierarchical approach to connector definition and construction that allows connectors to be defined and constructed from sub-connectors that are generic, compositional and reusable.
Control Encapsulation: A Calculus for Exogenous Composition of Software Components
It is argued that control encapsulation by components, together with suitable composition mechanisms, can lead to a component model that supports hierarchical system construction.
Towards Encapsulating Data in Component-Based Software Systems
This paper proposes an approach for encapsulating data by separating it from control and computation in component models, which are tightly coupled, making reasoning difficult.
A Reasoning Framework for Deployment Contracts Analysis
Using the reasoning framework presented, it is possible on component deployment to spot conflicts in component assemblies deployed into an execution environment due to incompatible threading models of components as well as their environmental dependencies.
Using Composition Connectors to Support Software Asset Development
This work shows the feasibility of utilising first-class compilation units that admit some sort of parametrisation to indicate the components they compose and the services that should be considered in these compositions to generate software core assets and realised that it has a set interesting features.


Towards a taxonomy of software connectors
The paper presents a comprehensive classification framework and taxonomy of software connectors and demonstrates the use of the taxonomy on the architecture of a large, existing system.
Coordinatio Languages and Models
Klaim (a Kernel Language for Agents Interaction and Mobility) [1] is an experimental programming language speci cally designed for programming mobile agents that supports a programming paradigm where
Components, Scripts and Glue
A conceptual framework that will help yield more flexible object-oriented systems by encouraging explicit separation of computational and compositional elements is proposed, and a prototype of an experimental composition language called P ICCOLA is discussed.
A Basis for Composition Language CL
The twin objectives of this report are to consolidate the current thinking about an ideal CL and to provide a starting point for the design of a practical and implementable CL.
Software Architecture for Correct Components Assembly
This work develops a software architecture based approach in which the software architecture imposed on the assembly allows for detection and recovery of COTS integration anomalies.
A Component- and Message-Based Architectural Style for GUI Software
A novel architectural style directed at supporting larger grain reuse and coherent system composition is presented, which supports design of distributed, concurrent, applications.
Predictable Assembly from Certifiable Components
The affinities among software architecture, software component technology, compositional reasoning, component property measurement, and component certification are discussed for the purpose of mastering component feature interaction, and for developing component technologies that support compositional Reasoning.
Foundations of component-based systems
This chapter discusses component software - a snapshot and future directions, and a framework for a formal and automated approach to component-based reuse.
Acme: architectural description of component-based systems
The Acme language and tools are described, and the experience in using it to integrate architecture analysis tools and to describe component-based systems is described.
The IWIM Model for Coordination of Concurrent Activities
  • F. Arbab
  • Computer Science
  • 1996
The concurrent applications of today essentially use a set of ad hoc templates to coordinate the cooperation of their active components, showing the lack of proper coordination languages that can be used to explicitly describe complex cooperation protocols in terms of simple primitives and structuring constructs.