Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W....
Transcript of Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W....
![Page 1: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/1.jpg)
Prof. Dr. Wolfgang Pree
Department of Computer ScienceUniversity of Salzburg
cs.uni-salzburg.at
Component Software –selection of chapters 1-4
![Page 2: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/2.jpg)
W. Pree 2
Contents
Motivation Market vs Technology Standards Foundations
![Page 3: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/3.jpg)
W. Pree 3
Motivation
![Page 4: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/4.jpg)
W. Pree 4
going beyond OO
“Object orientation has failed but component software issucceeding” Udell, 1994
All other engineering disciplines introduced componentsas they became mature and they still use components.
Solve current software crisis via an analogy to “SoftwareIntegrated Circuits”
Components are independent units of deployment,allowing independent development
![Page 5: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/5.jpg)
W. Pree 5
What are Software Components?
Binary units of independent production / deployment
Procedures, classes, modules and even applications inExecutable form that remain composable (e.g., libraries)
Components are for composition
Composition enables existing components to be reusedby rearranging them into even new components
![Page 6: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/6.jpg)
W. Pree 6
Why Software Components?
OO technology mostly used for monolithic applications ignores market aspects – only a small amount of
class libraries and/or frameworks exists in thepublic/commercial domain
Definition of objects is purely technical – does notinclude notions of independence or late composition
Component = unit of deployment Framework, module or set of classes compiled and
linked in a package
![Page 7: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/7.jpg)
W. Pree 7
What is missing in OO?
interoperability
visual/interactive configuration
![Page 8: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/8.jpg)
W. Pree 8
Our definition of the term (software) component
A piece of software with aprogramming interface
![Page 9: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/9.jpg)
W. Pree 9
Wiring standards
Interoperability problem:
=> wiring standards
Java
C++
ST
C
![Page 10: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/10.jpg)
W. Pree 10
Filling the gap
Mega components (SAP, DB systems, operatingsystems)
only a few medium-sized components existso far
very small components(GUI components, etc.)
![Page 11: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/11.jpg)
W. Pree 11
Mechanistic view
Currently software components assembly requiresexact matching of interfaces:
![Page 12: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/12.jpg)
W. Pree 12
Adaptive architectures
Alternative: components configurethemselves automatically through testing &fitting.
Sources of inspiration: Sun’s Jini, Microsoft‘s .NET agent technology ontologies
?
![Page 13: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/13.jpg)
W. Pree 13
Software development
Custom made Flexible and tailored to customer needs Expensive, often too late to be productive Requires major updates periodically – software revolution
Parameterized standard software Major trend toward “outsourcing” Cheaper and up to date (vendor has the burden of maintenance) No competitive advantage Not always possible to adapt to all needs – business has to be
adapted
Component software provides a middle path – software evolution
![Page 14: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/14.jpg)
W. Pree 14
Software Components
Requirements - Sufficient variety and Quality
First component vendors shape the market (e.g.Windows CE)
Software => blueprints for products
Software IC failed to capture the most distinctive aspectof software as a metaproduct.
![Page 15: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/15.jpg)
W. Pree 15
Benefits from using components
Process of component assembly allows significantcustomization of standard components.
Individual components can be custom-made for specificrequirements
No more massive upgrade cycles (evolution replacesrevolution).
Modeling advantages of OO technology are of valuewhen constructing a component.
Software based on components benefits from combinedproductivity and innovation of all component vendors
![Page 16: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/16.jpg)
W. Pree 16
Caveats
General confusion between abstractions and instances Distinction between class and object is frequently
omitted Mathematical modeling fails to capture the engineering
and market aspects of component technology. Software technology is an engineering discipline Formally everything can be done without components Reuse, time to market, quality and viability concepts are
greatly diminished.
![Page 17: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/17.jpg)
W. Pree 17
Market versusTechnology
![Page 18: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/18.jpg)
W. Pree 18
Market vs Technology
Market is a vital issue for component design in the wayto success. Technology is just a basic support for themarket. But without a market, even the best technologycannot survive. (C. Szyperski)
Imperfect technology in a working market is sustainable;perfect technology without any market will vanish.
(C. Szyperski)
![Page 19: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/19.jpg)
W. Pree 19
Market vs Technology
Market Provide enough supply for estimated demand and
create extra demand to maintain a good market. Component warehouses
Technology Not adequately developed, especially regarding to
the third-party component integration. Modular checking, components should interoperate
correctly and safely Performance issues
![Page 20: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/20.jpg)
W. Pree 20
Standards
![Page 21: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/21.jpg)
W. Pree 21
Standards
Component standards - essential for the developmentand success of component markets
No component could address all needs in allenvironments
Specify the required “interfacing” between a set ofcomponents as needed by clients and vendors.
Standards First introduced are vendor specific Neutral organization - no proprietary solution
![Page 22: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/22.jpg)
W. Pree 22
Wiring standards for components
Components need to be interconnected to be useful
A common standard is desirable, but not essential as long as the market is large enough adapters can be made to solve “wiring problems”
Standards can coexist and also compete but manycannot survive in the long run.
Today most standardization efforts are either at the“wiring” level or at the intra-component level.
![Page 23: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/23.jpg)
W. Pree 23
Foundations
![Page 24: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/24.jpg)
W. Pree 24
Definition of a component
A component is a binary unit of independent
production, acquisition and deployment that interacts to form a functional system
(C. Szyperski)
![Page 25: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/25.jpg)
W. Pree 25
Component characteristics
Units of independent deployment Separated from the environment and from other
components Never deployed partially Hidden construction details
Units of composition encapsulate implementation interaction through well-defined interfaces
No persistent state, attributes not influencingfunctionality
![Page 26: Component Software – selection of chapters 1-4Component Software – selection of chapters 1-4 W. Pree 2 Contents Motivation Market vs Technology Standards Foundations W. Pree 3](https://reader035.fdocuments.us/reader035/viewer/2022071003/5fbfe6959f515c37891e6b9d/html5/thumbnails/26.jpg)
W. Pree 26
Object characteristics
unit of instantiation may have stae and this can be externally observable encapsulates its state and behavior