[email protected] unb - iv seminário dpp de pesquisa e inovação

66
Software Architecture: Past, Present, and Future of the ArchWare European Project Flavio Oquendo [email protected] UnB - IV Seminário DPP de Pesquisa e Inovação Brasília, 6 de outubro 2010

Upload: sari

Post on 13-Jan-2016

34 views

Category:

Documents


2 download

DESCRIPTION

Software Architecture: Past, Present, and Future of the ArchWare European Project Flavio Oquendo. [email protected] UnB - IV Seminário DPP de Pesquisa e Inovação Brasília, 6 de outubro 2010. About me. Full Professor of Computer Science at the University of South Brittany, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Software Architecture: Past, Present, and Future of the

ArchWare European Project

Flavio Oquendo

[email protected]

UnB - IV Seminário DPP de Pesquisa e InovaçãoBrasília, 6 de outubro 2010

Page 2: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

2

About me

Vannes

European Univ. of Brittany

France

Paris

http://www.ueb.euhttp://www.univ-ubs.fr

Full Professor of Computer Science at the University of South Brittany,part of the European University of Brittany, France

72,000 students 3,000 PhD students 3,600 PhD academics

Flavio Oquendo, Université Européenne de Bretagne, France

Page 3: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

3Flavio Oquendo, Université Européenne de Bretagne, France

About me

Page 4: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

About me on European Projects

25 years of active participation in more than 10 European R&D Projects, funded by the European Commission, under Frameworks Programs I to VII: ALICE, PCTE, PCTE+, PACT, ALF, SCALE, PROMOTER

I, PROMOTER II, PIE I, PIE II, ARCHWARE, S-CUBE Scientific Director of European R&D Projects

for more than 10 yearsExpert for the European Commission for

Evaluating R&D Projects in different Framework Programs

4Flavio Oquendo, Université Européenne de Bretagne, France

Page 5: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Outline

The Past Before ArchWare – Some European Projects in

Software Engineering

The Present ArchWare and its Research Achievements

The Future After ArchWare – Sustainable Development and

Applications

5Flavio Oquendo, Université Européenne de Bretagne, France

Page 6: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

The Past

6

Before ArchWare – Some European Projects in Software Engineering

Flavio Oquendo, Université Européenne de Bretagne, France

Page 7: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Before ArchWare – Some European Projects in Software Engineering

PCTE (A Basis for a Portable Common Tool Environment) BULL (France), GEC Software (UK), ICL (UK),

NIXDORF (Germany), OLIVETTI (Italy), SIEMENS (Germany)

PCTE+ (Portable Common Tool Environment: Tool Support Interface) BULL (France), GIE Emeraude (France),

Industrieanlagen Betriebsgesellschaft (Germany), SELENIA (Italy), Software Sciences Limited (UK), THOMSON-SYSECA (France), Univ. of Aberystwyth (UK), Univ. de Nancy (France)

7Flavio Oquendo, Université Européenne de Bretagne, France

Page 8: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Before ArchWare – Some European Projects in Software Engineering

PACT (PCTE Added Common Tools BULL (France), EUROSOFT (France), GEC Software

(UK), ICL (UK), OLIVETTI (Italy), SIEMENS (Germany), THOMSON-SYSECA (France), Systems and Management (Italy)

ALF (Advanced Software Engineering Environment Logistics Framework) GIE Emeraude (France), Cerilor (France), CIG-

INTERSYS (Belgium), Computer Technologies Co. (Greece), Grupo de Mecánica del Vuelo, S.A. (Spain), ICL (UK), Univ. Catholique de Louvain (Belgium), Univ. de Dijon (France), Univ. of Dortmund (Germany), Univ. de Nancy (France)

8Flavio Oquendo, Université Européenne de Bretagne, France

Page 9: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Before ArchWare – Some European Projects in Software Engineering

SCALE (System Composition and Large Grain Component Reuse Support INTECS (Italy), BULL (France), GIE Emeraude

(France), INRIA (France), Logica Cambridge (UK), SFGL/TRANSTAR (France), Univ. Grenoble (France)

PROMOTER I (Process Modelling and Technology – I) Univ. de Nancy (France), Univ. de Grenoble

(France), Imperial College (UK), Univ. of Pisa (Italy), Univ. of Manchester (UK), Univ. of Dortmund (Germany), Univ. of Leiden (The Netherlands), Politecnico di Milano (Italy), Politecnico di Torino (Italy), Technical Univ. of Norway, Norway

9Flavio Oquendo, Université Européenne de Bretagne, France

Page 10: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Before ArchWare – Some European Projects in Software Engineering

PROMOTER II (Basic Research Action on Process Modelling and Technology – II) University of Nancy-LORIA (France), IMAG-LSR

(France), Imperial College (UK), University of Pisa (Italy), University of Manchester (UK), University of Dortmund-Informatik 10 (Germany), University of Leiden (The Netherlands), University of Paderborn (Germany), Université de Savoie (France), London City University (UK), Politecnico di Milano (Italy), Politecnico di Torino (Italy), Technical University of Norway (Norway), Technical University of Vienna (Austria)

10Flavio Oquendo, Université Européenne de Bretagne, France

Page 11: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Before ArchWare – Some European Projects in Software Engineering

PIE (Process Instance Evolution) Cap Gemini (France), Xerox European Research

Centre (France), Dassault Systèmes (France), ICL (UK), IMAG-LSR (France), University of Manchester (UK), University of Dortmund (Germany), Université de Savoie (France), Politecnico de Milano (Italy), Teamware (UK)

ARCHWARE (Architecting Evolvable Software) INRIA (France), Thesame (France), InterUnec

(France), CPR – Consorzio Pisa Ricerche (Italy), Engineering – Ingegneria Informatica (Italy), Univ. of Manchester (UK), Univ. of St. Andrews (UK)

11Flavio Oquendo, Université Européenne de Bretagne, France

Page 12: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

The Present

12

ArchWare and its Research Achievements

Flavio Oquendo, Université Européenne de Bretagne, France

Page 13: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

13Flavio Oquendo, Université Européenne de Bretagne, France

ArchWare: Introducing the Concept of Software Architecture

Page 14: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: ARCHITECTURE HAS A CENTRAL ROLE FOR SATISFYING REQUIREMENTS The architecture is conceived for meeting

requirements The architecture is designed to meet functional

requirements … as well as non-functional requirements (-ilities)

14

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Page 15: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogous to Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: ARCHITECTURE HAS A CENTRAL ROLE FOR SATISFYING REQUIREMENTS The architecture is conceived for meeting

requirements The architecture is designed to meet functional

requirements … as well as non-functional requirements (-ilities)

15

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Software

software

software

Page 16: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: ARCHITECTURE HAS A CENTRAL ROLE FOR MASTERING CONSTRUCTION The architecture is refined towards detailed design The building is constructed based on the

architecture and their refinements There are different possible constructions for coping

with the same architecture

16

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Page 17: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: ARCHITECTURE HAS A CENTRAL ROLE FOR MASTERING CONSTRUCTION The architecture is refined towards detailed design The building is constructed based on the

architecture and their refinements There are different possible constructions for coping

with the same architecture

17

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Software

software

software

software

Page 18: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: ARCHITECTURE HAS A CENTRAL ROLE FOR MASTERING DESIGN Architectures are often based on well-defined styles Architectural styles enforce main architectural

properties and imply common features Design is based on well-defined patterns

18

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Page 19: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: ARCHITECTURE HAS A CENTRAL ROLE FOR MASTERING DESIGN Architectures are often based on well-defined styles Architectural styles enforce main architectural

properties and imply common features Design is based on well-defined patterns

19

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Software

softwaresoftware

software

Page 20: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: STRUCTURE IS A CENTRAL FOCUS OF ARCHITECTURE Structure is a central mechanism for providing

functionality Properties of structures are implied by the designed

architecture Structure is thereby a main concern

20

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Page 21: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

ARCHITECTURE OF BUILDINGS: STRUCTURE IS A CENTRAL FOCUS OF ARCHITECTURE Structure is a central mechanism for providing

functionality Properties of structures are implied by the designed

architecture Structure is thereby a main concern

21

architecture• noun 1 the art or practice of designing and constructing buildings 2 the style in which a building is designed and constructed 3 the complex structure of something— DERIVATIVES architectural adjective[Oxford English Dictionary]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Software

software

software

software

Page 22: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

Progress on technology New materials New tools

Progress on the ability to model architectures Analytic power of theories Power of automated analysis

22Flavio Oquendo, Université Européenne de Bretagne, France

W

hat

is A

rchit

ect

ure

ARCHITECTURE OF BUILDINGS: PROGRESS ON UNDERLYING THEORIES AND TECHNOLOGIES

architecture• others[Architecture Handbook]

Page 23: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

Progress on technology New materials New tools

Progress on the ability to model architectures Analytic power of theories Power of automated analysis

23Flavio Oquendo, Université Européenne de Bretagne, France

W

hat

is A

rchit

ect

ure

ARCHITECTURE OF BUILDINGS: PROGRESS ON UNDERLYING THEORIES AND TECHNOLOGIES

architecture• others[Architecture Handbook]

hardware

Software

software

Page 24: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

Every building has an architecture even if not explicitly designed

An architecture is an abstract concept It is described according to different viewpoints It is described for meeting different purposes

Architecture description is thereby the main concern from an engineering viewpoint

24

architecture• others[Architecture Handbook]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

ARCHITECTURE OF BUILDINGS: IT EXISTS BY ITSELF, BUT NEEDS TO BE REPRESENTED TO BE MANIPULATED

Page 25: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Analogy with Architecture in Civil Engineering

Every building has an architecture even if not explicitly designed

An architecture is an abstract concept It is described according to different viewpoints It is described for meeting different purposes

Architecture description is thereby the main concern from an engineering viewpoint

25

architecture• others[Architecture Handbook]

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

ARCHITECTURE OF BUILDINGS: IT EXISTS BY ITSELF, BUT NEEDS TO BE REPRESENTED TO BE MANIPULATED

software

software

Software

Page 26: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

26Flavio Oquendo, Université Européenne de Bretagne, France

The need for describing the architecture increases with the complexity of the system in terms of its parts, their relationships and the properties to be enforced

W

hat

is A

rchit

ect

ure

Analogy with Architecture in Civil Engineering

TechnologiesStyles

Page 27: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

27Flavio Oquendo, Université Européenne de Bretagne, France

The need for describing the architecture increases with the complexity of the system in terms of its parts, their relationships and the properties to be enforced

W

hat

is A

rchit

ect

ure

Analogy with Architecture in Civil Engineering

TechnologiesStyles

Software

Page 28: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Limitations of the Analogy with Architecture in Civil Engineering

28Flavio Oquendo, Université Européenne de Bretagne, France

CIVIL ARCHITECTURE Buildings are basically static entities

Constructed with hard material

That when constructed are put to use (deployed once)

And then evolves very, very little in its lifetime

What

is A

rchit

ect

ure

Page 29: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

29

Limitations of the Analogy: The Meaning of Architecture in Civil Engineering is Too Narrow

Flavio Oquendo, Université Européenne de Bretagne, France

W

hat

is A

rchit

ect

ure

Software is by nature different of buildings –

it is dynamic and malleable

Software architecture goes much beyond

architecture in dynamicity and

evolution

Page 30: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Limitations of the Analogy with Architecture in Civil Engineering

30Flavio Oquendo, Université Européenne de Bretagne, France

CIVIL ARCHITECTURE Buildings are basically static entities

Constructed with hard material

That when constructed are put to use (deployed once)

And then evolves very, very little in its lifetime

SOFTWARE ARCHITECTURE Software are basically dynamic entities

Constructed with soft material

That when constructed is put to use (deployed many times)

And then evolves very, very much in its lifetime

Software

Software

W

hat

is A

rchit

ect

ure

Page 31: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Architecture in Software Engineering

Software architecture can be defined as : The fundamental

conception of a system in its environment embodied in elements, their relationships to each other and to the environment, and principles guiding system design and evolution [IEEE Std 1471-2000, ISO/IEC 42010:2007/2009]

31Flavio Oquendo, Université Européenne de Bretagne, France

ArchitectureDescription

Architecture

described by

W

hat

is A

rchit

ect

ure

Page 32: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

32Flavio Oquendo, Université Européenne de Bretagne, France

W

hat

is A

rchit

ect

ure

Software architecture is at the core of software

engineering

Architecture pervades from requirements to

code and supports evolution of software

Limitations of the Analogy: The Meaning of Architecture in Civil Engineering is Too Narrow

Page 33: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Architecture-Driven Software Engineering:Architecture in Design Activity

Architectural Design abstract architecture

33

Requirements Code

Design

Software Architecture

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Page 34: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

CodeRequirementsSoftware

Architecture

Architecture-Driven Software Engineering:Architecture in Development Activity

From Architectural Design to Detailed Design architectural refinements

34Flavio Oquendo, Université Européenne de Bretagne, France

Software Architecture

Software Architecture

Software Architecture

Software Architecture

Software Architecture

W

hat

is A

rchit

ect

ure

Page 35: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Architecture-Driven Software Engineering:Architecture in Design Activity

Detailed Design concrete architecture

35

Requirements Code

Design

Software Architecture

W

hat

is A

rchit

ect

ure

Flavio Oquendo, Université Européenne de Bretagne, France

Page 36: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Architecture-Driven Software Engineering:Architecture in Run-time Activity

Architecture at run-time Architecture description provides

concrete models for reasoning about and evolving software systems under execution

36

Requirements

Execution

Refinement/Abstraction

Software Architecture

W

hat

is A

rchit

ect

ure

Requirements Code

Refinement

Software Architecture

Flavio Oquendo, Université Européenne de Bretagne, France

Page 37: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Architecture-Driven Software Engineering:Architecting Everywhere

37

Requirements

Execution

Refinement/Abstraction

Architecture

W

hat

is A

rchit

ect

ure

Requirements Code

Refinement

Architecture

Flavio Oquendo, Université Européenne de Bretagne, France

DescribingArchitectures

AnalyzingArchitectures Refining

Architectures

DefiningArchitectural Styles

Reusing andGeneratingCode

AdaptingArchitectures

EvolvingArchitectures

Page 38: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

38Flavio Oquendo, Université Européenne de Bretagne, France

W

hat

is A

rchit

ect

ure

Architecture-Based Civil EngineeringDriven Software

Software architecture must driven initial development and subsequent evolutions

– description, analysis and refinement are in the heart of architecture-driven

software engineering

Page 39: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

39Flavio Oquendo, Université Européenne de Bretagne, France

ArchWare: The Approach and Deliverables

Page 40: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

ArchitectingEvolvable

Software

ArchWare: Architecting Evolvable

Software

France, Italy, UK

Page 41: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Outline

41

Goal of the ArchWare Project ArchWare Languages and Tools Architecture-centric Software Engineering

with ArchWare Wrap Up

Page 42: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Goal of the ArchWare Project

42

The broad scope of ArchWare is to respond to the ever-present demand for software systems that are capable of accommodating change over their lifetime, and therefore are evolvable

In order to achieve this goal, ArchWare develops an integrated set of architecture-centric languages and tools for the model-driven engineering of evolvable software systems based on a persistent run-time framework

Page 43: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

ArchWare Languages

43

Architecture AnalysisArchWare AAL

Architecture-centric EvolutionArchWare Hyper-ADL

Architecture Refinementand Code GenerationArchWare ARL

Architecture DescriptionArchWare ADL

Requirements

ArchWare Hyper-ADL (Hyper-coded ADL): Aims to support architecture-centric evolution through structural

reflection Structural reflection is defined as the ability of a running

specification to generate new specification fragments and to integrate these into its own execution

It supports introspection of existing specifications and mixing of existing and new specification fragments on the fly

ArchWare ADL: Aims to describe dynamic and evolvable architectures It is a formal language based on the higher-order typed p-calculus It reconciles structure and behaviour in a Turing-complete ADL

ArchWare ARL: Aims to support the stepwise refinement of an abstract

architecture into a (relatively correct) concrete architecture that is intended to implement it

Code is generated from concrete architectures It is a formal language (integrated with ArchWare ADL) based on

a rewriting logic Rewritings are enforced to be refinements if preconditions of

refinement actions are satisfied and proof obligations discarded

ArchWare AAL: Aims to specify architectural properties that can be verified

throughout the software process It is a formal language (integrated with ArchWare ADL) based on

the modal m-calculus and the predicate calculus It provides a property specification language It supports for automated verification of property satisfaction by

theorem proving and model checking

Page 44: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

ArchWare Tools

44

Requirements

Architecture DescriptionUML-to-ADL ToolADL Compiler and VMADL Graphical Animator

Architecture AnalysisAAL Model CheckerAAL Model Prover

Runtime Architecture-centric EvolutionHyper-coded ADLFeedback (Probes-Gauges)

Architecture Refinementand Code GenerationARL Refinement EngineADL-to-Java Generator

Page 45: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Architecture-centric Software Engineering with ArchWare

45

refinement of

Application Engineer

Refine

Architecture

Abstract Architecture

of a Data Acquisition

System (DAS)

Architecture Description

Architecture Analysis

Architecture Analyst

CompliantApplication

generation from/reuse

Application Architect

Define Architecture

instance of

Architecture Style Description

ClientServer Style

Analysis of correctness properties

DAS Architecture

in the ClientServer

Style

DAS Architecture in the EJB

Style DAS Code with EJB

Concrete Architecture of the Data Acquisition

System coping with

J2EE

architecture DAS in style ClientServer isabstraction() { component sensor in style Client is … component dataManager in style Server is … connector link in style Link is ……}

analysis allConnected is property {to DAS.instances apply forall {cs | to (to cs.components.ports apply union (cs.connectors.ports)) apply forall {p | to p.unifications apply

size>0}}

Page 46: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

46

Simulate the behaviour

and analyze the properties

Architecture-centric Software Engineering with ArchWare

Refine the architecture

and generate the code

Running software

Manage the execution

and evolution

?

Descriptions conformity

Abstract architecture description

Concrete architecture description

Executable code

decomposition

refinement 1

Preservation of properties

refinement 2

refinement 3

implementation

...

Componentsbases

Architectural stylesbases

...

Describe the software

architecturecompose Simple {C:Client ||L:Link ||S:Server

whereattach C@p@request to L@c@cReply,attach C@p@reply to L@c@cRequest,attach S@p@reply to L@s@sRequest,attach S@p@request to L@s@sReply

}

Description conformity

Abstract architecture description

Concrete architecture description

Executable code

decomposition refinement 1

Property preservation

refinement 2

refinement 3

implementation

...

Component& connectorabstractions

Architectural styles

...?

architecture CS is abstraction() { …

behaviour is compose {

replicate client is ClientDef()

and link is LinkDef()

and server is ServerDef()

} where { client::outgoing unifies link::incoming

and link::outgoing unifies server::incoming

}

}

Page 47: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

47

Active Architectures in ArchWare ADL

Evolve

DecomposeCompose

clientserver

state

Page 48: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Dynamic Architectu

re

StaticArchitectu

re

StaticArchitectu

re

Dynamic Architectu

re

Other Approache

s

Component

Connector Approach

Other Approache

s

Component

Connector Approach

Formal Semi-Formal

Language/

Method

Positioning ADL w.r.t. Other Approaches

Wright,Padl,Darwin/FSP

ArchWare (not only dynamic but also evolvable)Dyn-Wright

Acme, Aesop

Darwin, Rapide,Dyn-Acme,Plastik+Acme/Armani

B, Z,VDM

UML/UP

48

Page 49: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Business Cases ofArchWare

49

Business cases at Thésame (France) aims to architecting, developing, and evolving integrated business process systems

Business cases at Engineering Informatica (Italy) aims to architecting, developing, and evolving federated knowledge management systems

CriticalSystems

LargeSystems

Page 50: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Achievements as Open Source Software

All ArchWare language definitions are open and free, a.k.a. p-ADL, p-AAL, and p-ARL

All tools are partially or fully available as Open Source Software as part of the ArchWare IDEArchWare OSS: Open Source Software

ArchWare was partially funded by the European CommissionContract No. 200132360 in the R&D Framework

Program 50

Page 51: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Key Research Questions that were addressed by ArchWare

51

What are the suitable features for: modelling dynamic architecturessupporting architecture-centric evolution at design

and run-time What are the suitable features for:

(active) model-driven engineeringapplication generation

What the trade-offs in supporting an architecture-centric formal approach: formal description, analysis, refinement

Page 52: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

The Future

52

After ArchWare – Sustainable Development and Applications

Flavio Oquendo, Université Européenne de Bretagne, France

Page 53: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice

p-ADL and associated technologies have been applied in several realistic case studies and pilot projects China France Italy Switzerland UK ...

53Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

53

Page 54: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice

54Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

p-ADL and associated technologies have been applied in the following application domains: Business process management Service-oriented architectures Enterprise application integration Grid computing Distributed Control systems Sensor-actuator networks Distributed simulation Mobile agents Robotics Software systems targeting J2EE platforms

54

Page 55: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice:Knowledge Management Systems (Italy)

55Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

Who: Engineering Informatica (Roma, Italy) Large Software House

What: Development of federated knowledge management systems

How: A new specific architecture style was developed with p-

ADL and p-AAL▪ Dynamic software architecture▪ J2EE as target platform

After refinement, the application is generated▪ A new architecture is defined and an application generated for

each new customer▪ The architecture evolves according to the federation of KMS

55

Page 56: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice:Business Process Management (France)

56Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

Who: Thésame Inc. (Annecy, France) SME specialized in technology transfer

What: Development of an integrated business process system for supply-chain management

How: The software architecture was described with p-ADL and

analysed with p-AAL▪ Dynamic software architecture▪ Service-oriented architecture

After refinement, the application was generated▪ Orchestrations in the XML-based Agilium process language▪ Service interfaces in WSDL▪ Service implementations in Java

56

Page 57: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice:Service-Oriented Architecture (UK)

57Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

Who: UWE (Bristol, UK) Bridging the gap between BPM and Grid-based SOA

What: Development of business processes in terms of service-oriented architectures on Grid platforms

How: Business processes are described in terms of RAD (Role-

Activity Diagrams) Then transformed in terms of dynamic architectures in p-

ADL and analysed with p-AAL Then transformed into Grid services

▪ Dynamic software architecture▪ Service-oriented architecture

57

Page 58: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice:Distributed Simulation Systems (China)

58Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

Who: BIT (Beijing, China) Distributed Simulation Systems based on HLA

What: Development of distributed simulation systems HLA (High Level Architecture) [IEEE Standard 1516-2000] General purpose architecture for distributed computer simulation

systems Using HLA, computer simulations can communicate to other

computer simulations regardless of the computing platforms Communication between simulations is managed by a Run-Time

Infrastructure middleware How:

A specific architecture style was developed with p-ADL and p-AAL▪ Description of the HLA middleware (RTI)▪ Description of the HLA components (federates)

After refinement, the “glue code” is generated▪ The architecture evolves according to the federation of simulation components

58

Page 59: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice:Distributed Control Systems (Switzerland)

59Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

Who: CERN (European Organization for Nuclear Research (Geneva, Switzerland) Control systems for particle accelerators

What: Development of distributed control systems to restart particle accelerators

How: A new specific architecture style was developed

▪ Architectural abstractions described with p-ADL

▪ Architectural properties expressed with p-AAL▪ Parameterized architecture – variation at deployment time

When the experiments plugged in the particle accelerators evolve, a new architecture is defined and an application generated▪ Most components are data sources providing the information

concerning the monitored equipments

59

Page 60: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Applications of ArchWare in Practice:Robotics (France)

60Flavio Oquendo, Université Européenne de Bretagne, France

CriticalSystems

LargeSystems

Control software for controlling a robot with a glove The glove: the 18-sensor CyberGlove The robot: a Lego Mindstorm

▪ It comprises an autonomous programmable microcomputer to control actuators like sound generator, lights, and motors, and read input from various sensors like light sensors, pressure sensors, rotation sensors, and temperature sensors

▪ It has an infrared transceiver for downloading software components and communicating with other robots

Control software for controlling autonomous robots Robot software based on Microsoft Robotics technology Service-oriented architecture for robotics

▪ Decentralized Software Services – a lightweight .NET-based run-time environment that sits on top of the Concurrency and Coordination Run-time

Supported by Visual Simulation Environments60

Page 61: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Wrap Up

Summarizing

61Flavio Oquendo, Université Européenne de Bretagne, France

Page 62: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Summarizing

The architecture-centric solution we have developed in ArchWare and its follow-up initiative shows a high potential impact It is based on a holistic approach where

architecture deserves first-class status ▪ The ADL deserves first-class status too!

▪ It is more than just a high-level design language, it is in fact a wide-spectrum computer language, i.e. one coherent language frame covering the whole lifecycle spectrum

It provides well-defined languages and supporting tools for experimenting in practice in pilot projects

It provides a laboratory for experimenting new ideas!

62Flavio Oquendo, Université Européenne de Bretagne, France

Page 63: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

For more information on ArchWare

ArchLog Web Page:http://www-valoria.univ-ubs.fr/ARCHLOG/

ArchWare Web Page:http://www-valoria.univ-ubs.fr/ARCHLOG/ ArchWare-IST/documents.htm

My Web Page:http://www-valoria.univ-ubs.fr/flavio.oquendo/

63Flavio Oquendo, Université Européenne de Bretagne, France

Page 64: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Beyond ArchWare: Conclusion on Submission of European Projects

You’re worth it!Having a submission accepted is very hard

Few submissions are successful! Preparing a submission requires a big

effortHowever, it is payoff!

Having a proposal accepted paves the road for outstanding research that may have a large impact

EC funding ranges from ca. 1.5M€ to 15M€64Flavio Oquendo, Université Européenne de Bretagne, France

Page 65: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Thank You

65

Questions?

Flavio Oquendo, Université Européenne de Bretagne, France

Page 66: Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação

Software Architecture: Past, Present, and Future of the

ArchWare European Project

Flavio Oquendo

[email protected]

UnB - IV Seminário DPP de Pesquisa e InovaçãoBrasília, 6 de outubro 2010