Upload
madeline-turner
View
215
Download
0
Embed Size (px)
DESCRIPTION
Page 3 Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration Introduction Component integration Component composition q Component composition l Determining the properties of assemblies in order to check their run-time compatibility, l Reaches further than integration. l Assemblies must be designed in such a way that they can live in a variety of contexts. l Determine how an assembly will affect the systems in which it is used and also how it is affected by these systems
Citation preview
Page 1Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Chapter 9Chapter 9
Component Composition and IntegrationComponent Composition and Integration
Page 2Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
OverviewOverview
Introduction Component integration From integration to composition Summary
Page 3Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
IntroductionIntroduction
Component integration Component composition
Component composition Determining the properties of assemblies in order to
check their run-time compatibility, Reaches further than integration. Assemblies must be designed in such a way that they
can live in a variety of contexts. Determine how an assembly will affect the systems in
which it is used and also how it is affected by these systems
Page 4Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Component IntegrationComponent Integration
Integration mismatches have, to a large degree, been ameliorated by the introduction of component models such as EJB, CORBA, and COM.
Component models provide standards for components and a framework into which components can be plugged.
Page 5Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
From Integration to CompositionFrom Integration to Composition
Integration mismatch encountered by Garlan et al., Prevented them from plugging components together
because of the use of different data formats. The Compressing Proxy
Designed to improve performance of Web browsers through the transparent compression and decompression of transmitted data.
The mismatch allowed the proxy to deadlock.
Page 6Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
The Compressing ProxyThe Compressing Proxy
Filter FilterPseudo Filter(Adaptor)
gzip
1
2 3
4
Compressing Proxy
Process
Component
Channel
Function call interface
UNIX pipe interface
Page 7Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
RequirementsRequirements
This is not a mismatch of components, rather one with the requirements of the system.
If the requirements are changed to restrict transmission to small enough files, the potential for deadlock disappears.
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.
Page 8Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Analysis of Assumptions Analysis of Assumptions
“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.”
Page 9Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Predictable AssemblyPredictable Assembly
Assemblies can be made explicitly available to support hierarchical system composition.
Informally, compositional reasoning posits that: IF we know something about the properties of two
components, c1 and c2, THEN we can define a reasoning function f: SUCH THAT f(c1, c2) yields a property of an assembly
comprising c1 and c2.
Page 10Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Achieving a Predictable AssemblyAchieving a Predictable Assembly
To begin, we suggest that three interlocking questions must be answered:
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?
Page 11Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Prediction-enabled Component TechnologyPrediction-enabled Component Technology
A prediction-enabled component technology (PECT) approach is based on two fundamental premises:
That system quality attributes are emergent properties that are associated with patterns of interaction among components, and,
That software component technology provides a means of enforcing predefined and designed interaction patterns, thus facilitating the achievement of system quality attributes by construction.
A prediction-enabled component technology consists of a component model and an associated analysis model.
Page 12Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Prediction-enabled Component TechnologiesPrediction-enabled Component Technologies
Component Model
AnalysisModel
Component Model
AnalysisModel
assumptions
interpretation
PECT
not connectedspecializesinfluences
Page 13Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
Component CertificationComponent Certification
Trusted computer security evaluation criteria (TCSEC) Common criteria
The national security agency (NSA) National institute of standards and technology (NIST)
The trusted components initiative (TCI) Use of pre/post conditions on APIs (application
programming interfaces)
Page 14Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration
SummarySummary
Component Integration Composition
Prediction-enabled component technologies Software architecture-based analysis, Component certification, Architectural style
Produce component models that are enhanced to support reasoning about both the functional and extra-functional properties of software systems composed of components.