Kĩ thuật lập trình - Chapter 9: Component composition and integration
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.
20 trang |
Chia sẻ: huyhoang44 | Lượt xem: 801 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Kĩ thuật lập trình - Chapter 9: Component composition and integration, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chapter 9Component Composition and IntegrationPage 1Building Reliable Component-based Systems Ivica CrnkovicOverwievComponent Integration From Integration to CompositionPredictable Assembly from Certifiable Components Prediction-Enabled Component Technology (PECT) Architecture-based Analysis Component Certification Architectural Styles and Component ModelsPage 2Building Reliable Component-based Systems Ivica CrnkovicComponent IntegrationIntegrating 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.Page 3Building Reliable Component-based Systems Ivica CrnkovicComponent 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):17-26, November 1995Page 4Building Reliable Component-based Systems Ivica CrnkovicComponent Integration (3)2 CasesD. Garlan, R. Allen and J. Ockerbloom “Architectural Mismatch: Why Reuse is So Hard”AESOPP. Inverardi, A.L. Wolf, and D. Yankelevich, Static Checking of System Behaviors Using Derived Component Assumptions Compressing proxyPage 5Building Reliable Component-based Systems Ivica CrnkovicComponent 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). Page 6Building Reliable Component-based Systems Ivica CrnkovicComponent Integration (5)FilterFilterPseudo Filter(Adaptor)gzip1234Compressing ProxyProcessComponentChannelFunction call interfaceUNIX pipe interfacePage 7Building Reliable Component-based Systems Ivica CrnkovicComponent Integration (6)Formal architectural description and analysis to uncover what they call “behavioral mismatch”Not component mismatchComponents must express assumptions made about it’s environment such as data formats or buffer sizesCareful 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 fasterPage 8Building Reliable Component-based Systems Ivica CrnkovicFrom Integration to CompositionAll assemblies are potential subsystemPredicting the emergent behavior of assembliesThe result of component composition is a component assembly which can be used as a part of a larger compositionComposition goes beyond integration by allowing prediction of the emergent behavior of assembliesPage 9Building Reliable Component-based Systems Ivica CrnkovicPredictable Assembly from Certifiable ComponentsWhat 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 10Building Reliable Component-based Systems Ivica CrnkovicPrediction-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.Page 11Building Reliable Component-based Systems Ivica CrnkovicPrediction-Enabled Component TechnologyComponent ModelAnalysisModelComponent ModelAnalysisModelassumptionsinterpretationPECTnot connectedspecializesinfluencesPage 12Building Reliable Component-based Systems Ivica CrnkovicArchitecture-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.Page 13Building Reliable Component-based Systems Ivica CrnkovicArchitecture-based Analysis (2)Specification refinementmappings between analytic models and constructive modelsAnalytic models capture the fundamentals of compositional reasoning techniques: assumptions of the algorithms used as well as the algorithms themselves.Page 14Building Reliable Component-based Systems Ivica CrnkovicComponent CertificationThe 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 Page 15Building Reliable Component-based Systems Ivica CrnkovicComponent 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 Page 16Building Reliable Component-based Systems Ivica CrnkovicComponent 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 testingCommercial component vendorsShaw proposed component credentials as an open-ended, property-based interface specification In Shaw’s proposal a credential is a triple Page 17Building Reliable Component-based Systems Ivica CrnkovicComponent 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? Page 18Building Reliable Component-based Systems Ivica CrnkovicArchitectural Styles and Component ModelsArchitectural 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 stylesEnterprise Java BeansPage 19Building Reliable Component-based Systems Ivica CrnkovicSummaryIntegration != CompositionPrediction-Enable component technologies will allow for building component based software right from the beginningOld ideas are used together with new to form a answer to delays, due to unexpected result from assembling components, in component based software developmentSeveral fundamental questions are still unansweredPage 20Building Reliable Component-based Systems Ivica Crnkovic
Các file đính kèm theo tài liệu này:
- 09_chapter_8797.ppt