51) Why are Compositions Important? Applications of...

35
CBSE, © Prof. Uwe Aßmann 1 51) Why are Compositions Important? Applications of Composition Systems 1. Applications of Composition Systems 2. Software Ecosystems 3. Software Ecosystems for Cyber-Physical Systems Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de 13-1.0, 19.07.13

Transcript of 51) Why are Compositions Important? Applications of...

Page 1: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

CBSE, © Prof. Uwe Aßmann 1

51) Why are Compositions Important? Applications of Composition Systems

1.  Applications of Composition Systems

2.  Software Ecosystems 3.  Software Ecosystems for

Cyber-Physical Systems Prof. Dr. Uwe Aßmann Technische Universität Dresden

Institut für Software- und Multimediatechnik

http://st.inf.tu-dresden.de 13-1.0, 19.07.13

Page 2: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 2

Interesting Reading

•  Slinger Jansen, Anthony Finkelstein, Sjaak Brinkkemper. A Sense of Community: A Research Agenda for Software Ecosystems. IEEE ICSE Companion, 2009.

•  Software Ecosystems. David G. Messerschmitt, Clemens Szyperski. MIT Press

•  Michael A. Cusumano Staying power. Six enduring principles for managing strategy and innovation in an uncertain world. Oxford University Press.

•  Annabelle Gawer, Michael A. Cusumano. Platform leadership. How Intel, Microsoft and Cisco drive industry innovation. Harvard Business School Press

•  Karl Michael Popp, Ralf Meyer. Profit from Software Ecosystems. Synomic GmbH, 2010.

Page 3: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

CBSE, © Prof. Uwe Aßmann 3

51.1. New Applications of Composition Systems

Component-based software engineering is built on composition systems.

Page 4: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 4

Product Families (Variant Family, Product Lines)

►  A product family (line) is a consistently managed set of products ►  sharing a common platform (framework) and components ►  With a component model and composition technique that enables variability and

extensibility ►  With a composition language

►  Consistent variation of component variants, while interfaces and contracts are invariant ►  Conformant replacement of components ►  Contract checking for all components of the system

Product Lines are based on Composition Systems

Page 5: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 5

Adaptive Systems (Dynamic Variant Families)

►  Consistent variation of component variants at run-time (reconfiguration), while interfaces and contracts are invariant ►  Conformant replacement of components at run time ►  Dynamic contract negotiation: does the implementation of a new variant fit to a

contract?

►  Reconfiguration is controlled by a cost-utility function (CUF) to arrive at an optimal configuration with regard to a CUF ►  Reconfiguration can be based on multi-objective optimization (MOO)

►  Reconfiguration strategy is important

Adaptive Systems are based on Composition Systems

Page 6: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 6

CPS Composition Systems

Ø  Cyber-physical systems (CPS) are systems in the internet of things and services. These need quality specifications (real-time, energy, safety, movements) and need to be quality-verified.

•  Robot swarms •  Car trains •  Virtual factories

Ø  A Multi-Quality-controlled composition system provides a component model with quality contracts.

•  Technical space bridges are necessary to bridge

Page 7: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 7

Smart Factory mit CPS

•  Embedded System: maschines, robots, presses, transport systems •  CPS: Autonomous control of the factory •  Self assembly of the products •  Autonomous control of logistics •  Pull of products instead of push

Page 8: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 8

Smart Traffic/Transport/Logistics mit CPS

•  Embedded System: Railcabs are autonomous train cars (Paderborn)

•  CPS: Optimization of the German logistics

Page 9: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 9

Smart Grid

•  Embedded System: Isolated measuring •  CPS: distributed control based on

Smart Metering •  Control of natural energy

Page 10: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 10

Further Examples of CPS

•  Smart Metering –  Optimization of all energy consumers

in the home or office

•  Smart Grid: intelligent power grids –  Optimization of all energy traffic

nation-wide

•  Smart Traffic: –  Car trains on the motorway –  Optimization of all traffic nation-wide

•  Smart Logistics –  Control of transports

Smart Factory: Self-assembly of products Pull instead of push

Smart Construction: Robot swarms for constructions of

tunnels

Smart Office: World wide workflows Cyber-physical search engines

Smart City: Mobile instantaneous commuting Car sharing

Page 11: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 11

The Revolution of CPS

•  All domains in transport, logistics, assembly, housing will change •  Nothing will stay as it is •  All engineering disciplines will change until 2020

So far:

Miniaturization of the world in the computer

To make decisions

about it

With CPS:

All objects of the real world have an „object Computer“

and are connected

Control of the place of things in space and time

Page 12: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 12

Component A

Real-time

Safety

Dyna mics

Energy

Component B

Real-time contract checking (Technical Space 1)

Safety contract checking (Technical Space 2)

Dynamics contract checking (Technical Space 3)

Energy contract checking (Technical Space 4)

HRC: Multi-Quality Contracts in CPS (Multi-Technical Space)

Page 13: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 13

Multi-Quality Contract Specifications in CPS (Multi-TS)

Ø  Bridge technology for Technical spaces required Ø  Guided software development important for certification

13

System architecture

model

Safety contracts + Safety

Checker

Dynamics Contract + Dynamics language

Syntactic Technical Space Eclipse EMOF

Semantic Technical Space Safety

Semantic Technical Space Hybrid Automata

Real-time contract + Real-time analysis

Semantic Technical Space Real-Time

Page 14: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 14

Multi-Quality Contracts for CPS needs Several Semantic Technical Spaces Ø  A CPS has components with contracts in multiple qualities with semantic Ø  Every semantic has a separate technical space Ø  A Technical Space is a metahierarchy based on a specific metalanguage

Static Semantic World

Ontologies

Abstract Interpretation

Model checking

Structural (syntactic) Modeling World

Structure

Hierarchies Contracts

Graphs

Static Semantic

Expert

Software Engineer

Dynamic Semantic World

Interpretation

State systems

Simulation

Dynamics Semantic

Expert

EMOF UML-CD

MOF

OWL CTL

Petri nets SOS

Nat.Semantics

Domain world

Ontologies

Domain models

Domain Expert

OWL

Page 15: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 15

CPS-Composition Systems Must Be Multi-Technical Space

Ø  Multi-Technical-Space Development

15

Composition Systems

Composition Systems with Semantics

Multi-Technical-Space Composition Systems

Development in one technical space

Development with two technical spaces

Development with multiple technical spaces

Page 16: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 16

CPS Composition Systems

Classic Composition System

Multi-Quality-Controlled Composition System

Multi-Technical-Space Composition Systems for Cyber-Physical Systems

Staged Composition System

Technical Space Bridging Self-adaptivity

Dynamic Composition System

Transconsistency

Page 17: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 17 Seite 17 Uwe Aßmann,

17.07.2003, sd&m-Konferenz 2003: Web Services

Composition Systems for CPS

Turing-complete language;

Probably ECA-rule based

Component Model Composition Technique

Composition Language

Multi-quality component contracts

(real-time, safety, movements,

energy)

Multi-quality contract checking

Contract negotiation (configuration optimization, autotuning)

Complements (plugins)

Multi-technical space

Ø  Early example: HRC, www.cool-software.de

Page 18: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

CBSE, © Prof. Uwe Aßmann 18

51.2 Software Ecosystems: a New Economic Use of Composition Systems

Staying Power [Cusomano, Gawer]

Page 19: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 19

Platforms and Ecosystems

•  „Platforms, not only products“ (Buch „Staying Power“ Michael Cusumano)

•  Markets need market platforms •  With Vendor Lock-In

Platform

Complementors

Platform leader

Chip

Software Providers

Intel, Infineon, AMD

Page 20: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 20

Plattform Leadership

•  Platform leadership und „platform wannabie“ •  Platform can be open or closed •  Platform can be for end users or for developers

App Store

App Providers

Apple, Intel, Google

AutoSAR

Module Providers

BMW, Bosch,...

Eclipse

Plugin Providers

IBM, Itemis, many

Genivi Multimedia Infotainment Platform

Component Providers

Genivi consortium

Page 21: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 21

Software Platforms and Software Ecosystems

Ø  Software ecosystems are platforms plus complements (plugins) Ø  Interdependent companies and value creation Ø  [Gawer/Cusomano] describe 4 levels of software ecosystems:

•  Scope of the firm •  Modularity technology

•  Composition system •  Extensibility concept for complements (plugins) •  IPR strategy •  Interface openness

•  Relationship with external complementors •  Internal organization of the firm

Page 22: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 22

Software Ecosystem

Modularity technlogoy

Scope Rules

Complements App Stores

Platform Leader

Complementors

Third party management

App Services

Software Platforms and Software Ecosystems

Ø  Value creation is shared between platform leader and complementor Ø  Companies want to be platform leader („platform wannabie“) Ø  Apple iPad, iPhone AppStores

Market Rules

Apps Apps Apps

Page 23: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 23

Software Ecosystem

Component Model with plugin concept Plugin Tools

Uncertified App Store Certified App Store

Platform Leader Consortium

Plugin/App Provider

Platform Services

App Services

Apps Apps Apps

Consortial Software Ecosystems a la AutoSAR, GENIVI

Ø  Platforms can be owned by a consortium, a steering committee Ø  www.autosar.org, www.genivi.org, Android, ..

Page 24: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 24

Software Ecosystems

Domain-independent platform Eclipse RCP, RAP

Platform Domain 1 Business Intelligence

Platform Domain 2 Modeling

Plugin/App Providers

Platform Domain 3 Automotive

Domain-specific platforms

Many more layers possible (platforms and ecosystems)

Layered Platforms and Ecosystems (Eclipse.org)

Ø  Eclipse is even layered

Page 25: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 25

Generic Business Model for Software Ecosystems

Rolle Art des Produktes

Financial Physical Intangible Human

Creator Entrepreneur Manufacturer Inventor -

Distributor Financial trader

Wholesaler, Retailer

IP distributor -

Lessor Financial lessor

IP lessor Contractor

Broker Financial broker

IP broker HR broker

[Popp,Meyer; Wei05]

Page 26: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

CBSE, © Prof. Uwe Aßmann 26

51.3 Software Ecosystems for CPS

Staying Power [Cusomano, Gawer]

Page 27: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 27

CPS Ecosystem

Rich Component Model with plugin concept Plugin Tools

Certification Tools

Uncertified App Store Certified App Store

Platform Leader

Plugin/App Provider

Platform Services

App Services

Apps Apps Apps

Vision: CPS Software Ecosystems

•  Apps of CPS are safety critical, need to be certified Ø  Who will be platform leader?

Composition Tools

Page 28: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 28

Software Ecosystems for CPS

Domain-independent CPS platform

Cool Smart Grid Cool Smart Factory

Plugin/App Providers

Cool Logistics

Domain-specific CPS platforms

.....

Many more layers possible (platforms and ecosystems)

Layered Software Ecosystems für CPS

Ø  Structure like Eclipse

Core Steering

Committee

Dependent Steering

Committees

Dependent Steering

Committees

Page 29: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 29

CPS-Plattform-Leadership

•  In a value chain, every level can consist of a platform

CPS App Operating System Chips CPS

Platform CPS

App Store

Who will own the platform leaderships?

Page 30: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 30

It‘s kind of severe

•  Prof. Wolfgang Wahlster (DFKI)

Cyber-Physical Systems are the „the next big thing“ in ICT and are of uttermost importance for the industrial evolution of Germany.

They form the basis of the 4th industrial revolution.

Page 31: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 31

Business Model for CPS Ecosystems

Ø  Should be an instance of the Popp/Meyer generic model

[Popp,Meyer; Wei05]

Rolle Art des Produktes Financial Physical Intangible Human

Creator Entrepreneur Manufacturer Inventor -

Distributor Financial trader

Wholesaler, Retailer

IP distributor -

Lessor Financial lessor

IP lessor Contractor

Broker Financial broker

IP broker HR broker

Page 32: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 32

ResUbic Lab Dresden explores CPS www.resubic.org •  .. exploring cyber-physical systems •  ESF Nachwuchsforschergruppen

–  ZESSY: safety-critical cyber-physical systems –  EDYRA: seamless interaction, personal info services –  FLEXCLOUD: cloud management

•  4,5 Mio € 2011-13, 19 Forscher, ESF, SMWK •  Focus „Smart Office“

Physical Tool Cloud

ZESSY Safety-critical CPS

EDYRA Seamless interaction

FLEXCLOUD Cloud

management

Cyber-physical system welcome

Page 33: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 33

What have we learned?

►  Composition systems are the basis of ►  Product families ►  Adaptive systems ►  Platforms and Ecosystems ►  CPS composition systems are multi-technical space

►  Who will get the CPS software ecosystem?

Page 34: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 34

The End

Page 35: 51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent

Prof. U. Aßmann, CBSE 35

Two-level Algebra

►  Algebren sind einstufig ►  Man braucht eine Fragment-Collaboration zur Definition einer

zweistufigen Algebra, der Definition von Ports ►  Der Lambda-Kalkül ist der erste sehr primitive zweistufige Algebra ►  LambdaN macht es allgemeiner ►  Fragment-Collaborations noch allgemeiner

►  Port-lokale Verträge vs Komponenten-lokale verträge, die die Ports verknüpfen, aber innerhalb der Komponente bleiben