26
Prof. Dr. Wolfgang Pree Department of Computer Science University of Salzburg cs.uni-salzburg.at Component Software – selection of chapters 1-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

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

W. Pree 26

Object characteristics

unit of instantiation may have stae and this can be externally observable encapsulates its state and behavior