In this chapter, the following content will be discussed: Component integration, from integration to composition, predictable assembly from certifiable components, prediction-enabled component technology (PECT), architecture-based analysis, component certification, architectural styles and component models.
Trang 1Building Reliable Componentbased Systems
Ivica Crnkovic
Chapter 9
Component Composition and Integration
Trang 2Building Reliable Componentbased Systems
Ivica Crnkovic
Overwiev
Component Integration
From Integration to Composition
Predictable Assembly from Certifiable Components
Prediction-Enabled Component Technology (PECT)
Architecture-based Analysis
Component Certification
Architectural Styles and Component Models
Trang 3Building Reliable Componentbased Systems
Ivica Crnkovic
Component Integration
Integrating components can be illustrated as a mechanical process of “wiring” components together to form
assemblies.
Standardization in form of component models like EJB, CORBA and COM.
Still Difficult to make components play well together.
Trang 4Building Reliable Componentbased Systems
Ivica Crnkovic
Component Integration (2)
Architectural mismatch stems from mismatched assumptions a reusable part makes about the structure of the system it is to be part of These assumptions often conflict with the assumptions of other parts and are almost always implicit, making them extremely difficult to analyze before building the system.”
D. Garlan, R. Allen and J. Ockerbloom. “Architectural Mismatch: Why Reuse is So
Hard,”
IEEE Software, 12(6):1726, November 1995
Trang 5Building Reliable Componentbased Systems
Ivica Crnkovic
Component Integration (3)
2 Cases
D Garlan, R Allen and J Ockerbloom “Architectural
Mismatch: Why Reuse is So Hard”
AESOP
P Inverardi, A.L Wolf, and D Yankelevich, Static Checking of
System Behaviors Using Derived Component Assumptions
Compressing proxy
Trang 6Building Reliable Componentbased Systems
Ivica Crnkovic
Component Integration (4)
four classes of structural assumptions
The nature of components (infrastructure, control model, and data model)
The nature of connectors (protocols and data models) The architecture of the assemblies (constraints on interactions)
The run-time construction process (order of instantiations)
Trang 7Building Reliable Componentbased Systems
Ivica Crnkovic
Component Integration (5)
Filter Pseudo Filter(Adaptor) Filter
gzip
1
4 Compressing Proxy
Process Component Channel
Function call interface UNIX pipe interface
Trang 8Building Reliable Componentbased Systems
Ivica Crnkovic
Component Integration (6)
Formal architectural description and analysis to uncover
what they call “behavioral mismatch”
Not component mismatch
Components must express assumptions made about it’s
environment such as data formats or buffer sizes
Careful analysis of the assumptions components make about the context in which they are to be used can help prevent
design errors and result in building the right product faster
Trang 9Building Reliable Componentbased Systems
Ivica Crnkovic
From Integration to Composition
All assemblies are potential subsystem
Predicting the emergent behavior of assemblies
The result of component composition is a component
assembly which can be used as a part of a larger
composition
Composition goes beyond integration by allowing prediction
of the emergent behavior of assemblies
Trang 10Building Reliable Componentbased Systems
Ivica Crnkovic
Predictable Assembly from Certifiable Components
What types of system quality attributes are developers
interested in predicting?
What types of analysis techniques support reasoning about
these quality attributes, and what component property values
do they require as input parameters?
How are these component properties specified, measured,
and certified?
Trang 11Building Reliable Componentbased Systems
Ivica Crnkovic
Prediction-Enabled Component Technology
A prediction-enabled component technology consists of a component model and an associated analysis model
PECT integrates ideas from research in the areas of software architecture, component certification, and software component technology to create a prediction-enabled component technology
Prediction-enabled component technologies exploit the relationship between structural restrictions and assumptions
of analysis models to compute properties of assemblies based on trusted properties of the assembly’s constituent components.
Trang 12Building Reliable Componentbased Systems
Ivica Crnkovic
Prediction-Enabled Component Technology
Component Model AnalysisModel
Component Model AnalysisModel
assumptions
interpretation
PECT
not connected
specializes
influences
Trang 13Building Reliable Componentbased Systems
Ivica Crnkovic
Architecture-based Analysis
Provides a foundation for reasoning about system
completeness and correctness early in the development
process and at a high level of abstraction
Architecture description languages
One still unresolved challenge within architecture technology
is the bridging of the gap between architectural abstractions and implementation
Analytic models capture the fundamentals of compositional reasoning techniques: assumptions of the algorithms used
as well as the algorithms themselves.
Trang 14Building Reliable Componentbased Systems
Ivica Crnkovic
Architecture-based Analysis (2)
Specification refinement
mappings between analytic models and constructive models Analytic models capture the fundamentals of compositional reasoning techniques: assumptions of the algorithms used
as well as the algorithms themselves.
Trang 15Building Reliable Componentbased Systems
Ivica Crnkovic
Component Certification
The National Security Agency (NSA)
National Institute of Standards and Technology (NIST)
used the trusted computer security evaluation criteria
(TCSEC), a.k.a “Orange Book.” as the basis for the Common
Criteria, which defines criteria for certifying security features
of components
Trang 16Building Reliable Componentbased Systems
Ivica Crnkovic
Component Certification (2)
Trusted Components Initiative (TCI)
Loose affiliation of researchers with a shared heritage of experience in the formal specification of interfaces
Use use of pre/post conditions on API
Quality attributes, such as security, performance,
availability, and so forth, are beyond the reach of these assertion languages
Trang 17Building Reliable Componentbased Systems
Ivica Crnkovic
Component Certification (3)
Quality attributes, such as security, performance, availability, and so forth, are beyond the reach of both earlier mentioned languages
Voas has defined mathematical models of component
reliability based on statistical approaches to testing
Commercial component vendors
Shaw proposed component credentials as an open-ended, property-based interface specification
In Shaw’s proposal a credential is a triple <attribute, value, knowledge>
Trang 18Building Reliable Componentbased Systems
Ivica Crnkovic
Component Certification (4)
What does it mean to trust a component?
Still more fundamental: what ends are served by certifying (or developing trust) in these properties?
Trang 19Building Reliable Componentbased Systems
Ivica Crnkovic
Architectural Styles and Component Models
Architectural styles are sets of component types and
constraints on how instantiations of those types can be
interconnected
Component technology provides the means of realizing
architectural style constraints in software
Component models can be Architectural styles
Enterprise Java Beans
Trang 20Building Reliable Componentbased Systems
Ivica Crnkovic
Summary
Integration != Composition
Prediction-Enable component technologies will allow for
building component based software right from the beginning Old ideas are used together with new to form a answer to delays, due to unexpected result from assembling
components, in component based software development
Several fundamental questions are still unanswered