1 / 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. Flavio.Oquendo@univ-ubs.fr 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,

sari
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Architecture: Past, Present, and Future of the ArchWare European ProjectFlavioOquendo Flavio.Oquendo@univ-ubs.fr UnB - IV Seminário DPP de Pesquisa e Inovação Brasília, 6 de outubro 2010

  2. About me 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 France Paris European Univ. of Brittany Vannes http://www.ueb.eu http://www.univ-ubs.fr Flavio Oquendo, Université Européenne de Bretagne, France

  3. About me Flavio Oquendo, Université Européenne de Bretagne, France

  4. About me on EuropeanProjects • 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 years • Expert for the European Commission for Evaluating R&D Projects in different Framework Programs Flavio Oquendo, Université Européenne de Bretagne, France

  5. 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 Flavio Oquendo, Université Européenne de Bretagne, France

  6. The Past • Before ArchWare – Some European Projects in Software Engineering Flavio Oquendo, Université Européenne de Bretagne, France

  7. BeforeArchWare – SomeEuropeanProjects 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), IndustrieanlagenBetriebsgesellschaft (Germany), SELENIA (Italy), Software Sciences Limited (UK), THOMSON-SYSECA (France), Univ. of Aberystwyth (UK), Univ. de Nancy (France) Flavio Oquendo, Université Européenne de Bretagne, France

  8. BeforeArchWare – SomeEuropeanProjects 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) Flavio Oquendo, Université Européenne de Bretagne, France

  9. BeforeArchWare – SomeEuropeanProjects 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), Politecnicodi Milano (Italy), Politecnicodi Torino (Italy), Technical Univ. of Norway, Norway Flavio Oquendo, Université Européenne de Bretagne, France

  10. BeforeArchWare – SomeEuropeanProjects 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), Politecnicodi Milano (Italy), Politecnicodi Torino (Italy), Technical University of Norway (Norway), Technical University of Vienna (Austria) Flavio Oquendo, Université Européenne de Bretagne, France

  11. BeforeArchWare – SomeEuropeanProjects in Software Engineering • PIE (Process Instance Evolution) • Cap Gemini (France), Xerox European Research Centre (France), DassaultSystè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 – IngegneriaInformatica (Italy), Univ. of Manchester (UK), Univ. of St. Andrews (UK) Flavio Oquendo, Université Européenne de Bretagne, France

  12. The Present • ArchWare and its Research Achievements Flavio Oquendo, Université Européenne de Bretagne, France

  13. ArchWare: Introducing the Concept of Software Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  14. Analogy with Architecture in Civil Engineering architecture • noun 1the art or practice of designing and constructing buildings 2the style in which a building is designed and constructed 3 the complex structure of something — DERIVATIVES architecturaladjective [Oxford English Dictionary] 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) What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  15. Analogous to Architecture in Civil Engineering Software architecture • noun 1the art or practice of designing and constructing buildings 2the style in which a building is designed and constructed 3 the complex structure of something — DERIVATIVES architecturaladjective [Oxford English Dictionary] Architecture of Buildings: architecture has a central role for satisfying requirements software • The architecture is conceived for meeting requirements • The architecture is designed to meet functional requirements • … as well as non-functional requirements (-ilities) software What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  16. Analogy with Architecture in Civil Engineering architecture • noun 1the art or practice of designing and constructing buildings 2the style in which a building is designed and constructed 3 the complex structure of something — DERIVATIVES architecturaladjective [Oxford English Dictionary] 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 What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  17. Analogy with Architecture in Civil Engineering Software architecture • noun 1the art or practice of designing and constructing buildings 2the style in which a building is designed and constructed 3 the complex structure of something — DERIVATIVES architecturaladjective [Oxford English Dictionary] Architecture of Buildings: architecture has a central role for mastering construction software • 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 software software What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  18. Analogy with Architecture in Civil Engineering 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 architecturaladjective [Oxford English Dictionary] 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 What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  19. Analogy with Architecture in Civil Engineering Software 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 architecturaladjective [Oxford English Dictionary] Architecture of Buildings: architecture has a central role for mastering design software software • 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 software What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  20. Analogy with Architecture in Civil Engineering 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 architecturaladjective [Oxford English Dictionary] 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 What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  21. Analogy with Architecture in Civil Engineering Software 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 architecturaladjective [Oxford English Dictionary] Architecture of Buildings: structure is a central focus of architecture software • Structure is a central mechanism for providing functionality • Properties of structures are implied by the designed architecture • Structure is thereby a main concern software software What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  22. Analogy with Architecture in Civil Engineering architecture • others [Architecture Handbook] Architecture of Buildings: progress on underlying theories and technologies • Progress on technology • New materials • New tools • Progress on the ability to model architectures • Analytic power of theories • Power of automated analysis What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  23. Analogy with Architecture in Civil Engineering Software architecture • others [Architecture Handbook] Architecture of Buildings: progress on underlying theories and technologies • Progress on technology • New materials • New tools • Progress on the ability to model architectures • Analytic power of theories • Power of automated analysis software hardware What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  24. Analogy with Architecture in Civil Engineering architecture • others [Architecture Handbook] Architecture of Buildings: it exists by Itself, but needs to be represented to be manipulated • 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 What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  25. Analogy with Architecture in Civil Engineering Software architecture • others [Architecture Handbook] Architecture of Buildings: it exists by Itself, but needs to be represented to be manipulated • 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 software software What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  26. Analogy with Architecture in Civil Engineering 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 What is Architecture Technologies Styles Flavio Oquendo, Université Européenne de Bretagne, France

  27. Analogy with Architecture in Civil Engineering Software 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 What is Architecture Technologies Styles Flavio Oquendo, Université Européenne de Bretagne, France

  28. Limitations of the Analogy with Architecture in Civil Engineering Civil architecture • Buildings are basically static entities • Constructed with hard material • That when constructed are put to use (deployedonce) • And then evolves very, verylittle in its lifetime What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  29. Limitations of the Analogy: The Meaning of Architecture in Civil Engineering is Too Narrow Software is by nature different of buildings – it is dynamic and malleable Software architecture goes much beyond architecture in dynamicity and evolution What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  30. Limitations of the Analogy with Architecture in Civil Engineering Software Civil architecture Software architecture Software • Buildings are basically static entities • Constructed with hard material • That when constructed are put to use (deployedonce) • And then evolves very, verylittle in its lifetime • Software are basically dynamic entities • Constructed with soft material • That when constructed is put to use (deployedmanytimes) • And then evolves very, verymuch in its lifetime What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  31. 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] Architecture described by Architecture Description What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  32. Limitations of the Analogy: The Meaning of Architecture in Civil Engineering is Too Narrow Software architecture is at the core of software engineering Architecture pervades from requirements to code and supports evolution of software What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  33. Architecture-Driven Software Engineering:Architecture in Design Activity • Architectural Design • abstract architecture Design Requirements Software Architecture Code What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  34. Architecture-Driven Software Engineering:Architecture in Development Activity • From Architectural Design to Detailed Design • architectural refinements Software Architecture Software Architecture Software Architecture Software Architecture Software Architecture Software Architecture Requirements Code What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  35. Architecture-Driven Software Engineering:Architecture in Design Activity • Detailed Design • concrete architecture Design Requirements Software Architecture Code What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  36. 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 Refinement/Abstraction Refinement Requirements Requirements Software Architecture Software Architecture Execution Code What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  37. Architecture-Driven Software Engineering:Architecting Everywhere Evolving Architectures Defining Architectural Styles Refinement/Abstraction Refinement Analyzing Architectures Refining Architectures Requirements Requirements Architecture Architecture Execution Code Describing Architectures Reusing and Generating Code Adapting Architectures What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  38. Architecture-Based Civil Engineering Driven Software Software architecture must driven initial development and subsequent evolutions – description, analysis and refinement are in the heart of architecture-driven software engineering What is Architecture Flavio Oquendo, Université Européenne de Bretagne, France

  39. ArchWare: The Approach and Deliverables Flavio Oquendo, Université Européenne de Bretagne, France

  40. ArchWare: Architecting Evolvable SoftwareFrance, Italy, UK

  41. Goal of the ArchWare Project ArchWare Languages and Tools Architecture-centric Software Engineering with ArchWare Wrap Up Outline

  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 Goal of the ArchWare Project

  43. Requirements Architecture Description ArchWare ADL Architecture Analysis ArchWare AAL Architecture Refinement and Code Generation ArchWare ARL Architecture-centric Evolution ArchWare Hyper-ADL ArchWare Languages • 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 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 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

  44. Requirements Architecture Description UML-to-ADL Tool ADL Compiler and VM ADL Graphical Animator Architecture Analysis AAL Model Checker AAL Model Prover Architecture Refinement and Code Generation ARL Refinement Engine ADL-to-Java Generator Runtime Architecture-centric Evolution Hyper-coded ADL Feedback (Probes-Gauges) ArchWare Tools

  45. Architecture Style Description instance of Define Architecture Architecture Architecture Application Description Analyst Architect Architecture Analysis refinement of Refine Architecture Application generation from/reuse Engineer Compliant Application analysis allConnected is property {to DAS.instances apply forall{cs |to (to cs.components.portsapplyunion (cs.connectors.ports)) apply forall{p |to p.unificationsapplysize>0} } Abstract Architecture of a Data Acquisition System (DAS) Architecture-centric Software Engineering with ArchWare ClientServer Style Concrete Architecture of the Data Acquisition System coping with J2EE architectureDAS instyle ClientServer is abstraction() { componentsensor instyle Client is… componentdataManager instyle Server is… connectorlink instyle Link is… … } DAS Architecture in the ClientServer Style Analysis of correctness properties DAS Architecture in the EJB Style DAS Code with EJB

  46. Describe the software architecture Components bases Architectural styles bases Abstract architecture description decomposition refinement 1 Component & connector abstractions Architectural styles ? refinement 2 ... refinement 3 Simulate the behaviour and analyze the properties Preservation of properties ... Concrete architecture description Abstract architecture description decomposition Descriptions conformity implementation Liveliness Executable code refinement 1 ? refinement 2 Validity ... Safety Liveliness Refine the architecture and generate the code refinement 3 Validity Safety Property preservation ... Concrete architecture description Performance Reliability Description conformity Opening implementation Performance Executable code Reliability Manage the execution and evolution Opening Running software Architecture-centric Software Engineering with ArchWare

  47. Evolve Compose Decompose state client server Active Architectures in ArchWare ADL

  48. Formal Semi-Formal Component Connector Approach Other Approaches Component Connector Approach Other Approaches Static Architecture Static Architecture Dynamic Architecture Positioning ADL w.r.t. Other Approaches Language/ Method B, Z, VDM UML/UP Dynamic Architecture ArchWare(not only dynamic but also evolvable) Dyn-Wright Darwin, Rapide, Dyn-Acme, Plastik+Acme/Armani Wright, Padl, Darwin/FSP Acme, Aesop

  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 Critical Systems Large Systems Business Cases ofArchWare

  50. 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 IDE • ArchWare OSS: Open Source Software • ArchWare was partially funded by the European Commission • Contract No. 200132360 in the R&D Framework Program

More Related