Architecture specification and implementation for component-based systems
Shifeng Zhang, Steve Goddard
Abstract
Shifeng Zhang, Steve Goddard
Abstract
Component-Based Software Engineering (CBSE) has become an area of intense research and commercial focus with the complexity of software systems increasing. To help design component-based systems, Software Architecture (SA) has become a prospective research method and direction. SA is system-centric and views a software system as a collection of components and their interaction (connectors). Existing component middleware technologies (CTs), e.g., CORBA, DCOM, and Java Beans, provide a solid base to implement component-based systems. Those CTs are component-centric; they are primarily concerned with standardizing external component properties. Both SA and CTs are crucial aspects of CBSE, yet there has been limited interaction between the two domains in today's research. The goal of this dissertation research is to bridge the gap between SA and CTs: use existing component middleware technologies to build systems specified by software architecture technology. A component and component interaction model is presented to clarify what a component is and what component interaction is. Then, an Architecture Description Language (ADL), xSADL, is introduced that can specify and analyze the architectures of software systems at the design stage. xSADL specifies a complex software system as a collection of components and connectors. In the specification of a connector, xSADL can help designers deal with two kinds of architectural mismatches: behavior mismatch and message mismatch. Connectors often are considered to be explicit at the level of SA specifications, but implicit in CT-based implementations. Current CTs, such as CORBA, DCOM, and Java Beans, do not support explicit connector implementations. To support explicit connector implementations, a component framework, 3CoFramework, is presented in which a connector is raised to the level of a component at the implementation stage. In addition to the components and connectors, 3CoFramework also provides a management role, called a coordinator, to provide distributed component and connector management. xSADL helps to design software systems as component-based systems while 3CoFramework helps to implement the architecture designs as component-based applications. To integrate xSADL and 3CoFramework, a Computer Aided Software Engineering (CASE) tool, is presented also. The CASE tool has two purposes. First, it provides a GUI development environment to create xSADL documents. Second, it provides code generation functions to help transform xSADL designs into 3CoFramework-based implementations.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Component-Based Software Engineering (CBSE) has become an area of intense research and commercial focus with the complexity of software systems increasing. To help design component-based systems, Software Architecture (SA) has become a prospective research method and direction. SA is system-centric and views a software system as a collection of components and their interaction (connectors). Existing component middleware technologies (CTs), e.g., CORBA, DCOM, and Java Beans, provide a solid base to implement component-based systems. Those CTs are component-centric; they are primarily concerned with standardizing external component properties. Both SA and CTs are crucial aspects of CBSE, yet there has been limited interaction between the two domains in today's research. The goal of this dissertation research is to bridge the gap between SA and CTs: use existing component middleware technologies to build systems specified by software architecture technology. A component and component interaction model is presented to clarify what a component is and what component interaction is. Then, an Architecture Description Language (ADL), xSADL, is introduced that can specify and analyze the architectures of software systems at the design stage. xSADL specifies a complex software system as a collection of components and connectors. In the specification of a connector, xSADL can help designers deal with two kinds of architectural mismatches: behavior mismatch and message mismatch. Connectors often are considered to be explicit at the level of SA specifications, but implicit in CT-based implementations. Current CTs, such as CORBA, DCOM, and Java Beans, do not support explicit connector implementations. To support explicit connector implementations, a component framework, 3CoFramework, is presented in which a connector is raised to the level of a component at the implementation stage. In addition to the components and connectors, 3CoFramework also provides a management role, called a coordinator, to provide distributed component and connector management. xSADL helps to design software systems as component-based systems while 3CoFramework helps to implement the architecture designs as component-based applications. To integrate xSADL and 3CoFramework, a Computer Aided Software Engineering (CASE) tool, is presented also. The CASE tool has two purposes. First, it provides a GUI development environment to create xSADL documents. Second, it provides code generation functions to help transform xSADL designs into 3CoFramework-based implementations.
Key concepts: Distributed Component Object Model, Common Object Request Broker Architecture, Component (thermodynamics), Common Component Architecture, Computer science, Middleware (distributed applications), Component-based software engineering, JavaBeans