SlideShare a Scribd company logo
1 of 20
π-Method: A Model-Driven
Formal Method for Architecture-
Centric Software Engineering
By Flavio Oquendo
Presented by: Sajith Wickramaratne
π-Method
 This article presents the π-Method, a formal method that has been designed
in the ArchWare European Project to address model-driven development of
safe software systems.
 It is a well-defined theoretical method relying on formal foundations.
 It supports formal model-driven development of software systems having
highly dynamic architectures.
 Its formal language for architecture is based on:
Architecture description : π-calculus.
Architecture analysis : μ-calculus.
Architecture transformation and refinement: Rewriting logic.
π-Method vs. Other formal methods
 Formal methods such as B, FOCUS, VDM, and Z, aim
to provide full support for formal development of
software systems.
 However, these methods do not provide any
architectural support.
 π-Method has been built from scratch to formally
support architecture-centric component-based model-
driven development.
Completeness and Correctness of
Software Systems
 Support the formal specification of software systems whose
architecture can change (at run-time).
 Support automated analysis: functional as well as non-functional
properties.
 Support their transformations and application synthesis, by
stepwise refinement from abstract to concrete specifications and
full code generation.
 Support compliance with respect to application requirements (if
requirements change, enable the software system to safely
progress with new requirements).
π-Method
 Why Formal?
 Improves documentation and understanding of
specifications.
 Enables rigorous analysis of the system
properties.
 Improves rigour and quality of the whole
development process.
 Provides a firm foundation during the evolution
process.
π-Method
Why Architecture-Centric?
 A key aspect of the design of any software system is its architecture.
 Fundamental organization of the system embodied in its components, their
relationships to each other, and to the environment, and the principles
guiding its design and evolution.
 Provides the conceptual abstraction for modeling complex software systems
during development and then during deployment and evolution
Why Model-Driven Engineering?
 Models are used to understand specific system aspects.
 Predicts system qualities.
 Reasons about impact of changes.
 Indicates major system features to stakeholders.
Approach of the π-Method
 The novelty of the π-Method lies in its holistic view of formal software
development.
 It involves:
“how” the software is to function in terms of expected behaviours.
“what” is its structure in terms of components and their connectors.
“which” qualities are to be guaranteed.
 Furthermore, an appropriate refinement process (describing “how to build”
the software).
Architecture-centric formal development
Architecture-centric formal development
“Define style” activities:
 Principal actors are the “style architects”.
 Represent the top level inception of a family of software architectures.
 What types of architectural elements.
 How elements can be combined.
 Which constraints apply, and which processes can be applied to architecture elements
and whole architecture descriptions.
“Describe architecture” activities:
 Principal actors are the “application architects”.
 Use the domain specific styles defined by the style architect to describe a specific
software architecture.
 An architecture description, in terms of a model.
 Can represent a system at various levels of abstractions.
“Refine architecture” activities:
 Principal actors are the “application engineers”.
 Support transformations from abstract to more concrete architecture descriptions.
 Derive concrete models by applying correctness preserving transformations.
Model transformations with π-ARL
Formal Languages
 π-ADL: an architecture description language based on
the higher-order typed π-calculus.
 π-AAL: an architecture analysis language based on the
μ-calculus.
 π-ARL: an architecture refinement language based on
the rewriting logic.
The triad of formal languages
The Architecture Description Language:
π-ADL
 Architecture Description Language encompasses two aspects: expression and
verification of architectural styles.
 General principles guided the design of π-ADL:
 Formality: π-ADL (formal language) provides a formal system, at the
mathematical sense, for describing dynamic software architectures.
 Run-time viewpoint: π-ADL focuses on the formal description of software
architectures from the run-time viewpoint: structure, behavior, and how these may
evolve over time.
 Executability: π-ADL(executable language) is a virtual machine that runs
specifications of software architectures.
 User-friendliness: π-ADL supports different concrete syntaxes – textual and
graphical notations (including UML-based) .
π-ADL
Design principles
 The principle of correspondence.
 The principle of abstraction.
 The principle of data type completeness.
Civil rights in the language
 The right to be declared.
 The right to be assigned.
 The right to have equality defined over them.
 The right to persist.
The Architecture Analysis Language:
π-AAL
Architecture Analysis Language focuses two aspects:
 Architectural styles (style architects)
 Software Architectures (application architects).
Properties of styles and architectures.
 structural (e.g. cardinality of architectural elements, interconnection topology)
 behavioral (e.g. safety, liveness, and fairness defined on actions of the system).
The π-AAL is a formal property expression language designed to
support automated verification.
 Can mechanically check whether an architecture described in π-ADL satisfies
property expressed in π-AAL.
The Architecture Refinement Language:
π-ARL
 The concrete architecture: Vertical and Horizontal transformations.
 Horizontal refinement is obtained from transforming an architecture by partition.
 Vertical refinement is obtained from transforming steps to add more details to abstract
models until the concrete architectural model is described.
 The π-Method (ARL) supports both horizontal and vertical refinements.
 π- ARL’s four forms of refinement from an external or internal point of view:
 behavior refinement
 port refinement
 structure refinement
 data refinement
Application domains of the
π-Method
The π-Method (π-ADL, π-AAL, and π-ARL) have been applied in
the following application domains:
• software systems targeting J2EE platforms.
• enterprise application integration systems.
• grid computing systems.
• human-computer interfaces for monitoring systems.
• mobile agent systems.
• sensor-actuator networks.
• service-oriented architectures.
• ambient intelligence.
Related Work for π-Method
 Architecture Description (ADLs):
ACME, AESOP,AML,ARMANI,CHAM-ADL, DARWIN,META-
H,PADL,RAPIDE,SADL, σπ-SPACE, UNICON-2,andWRIGHT/Dynamic-
WRIGHT.
 Architecture Analysis (AALs):
PDL, LOTOS, CADP and CCS.
 Architecture Transformation and Refinement(ARLs):
FOCUS,RAPIDE, SADL, B and Z.
Future Work in π-Method
 π-Modeller: a tool to support visual description of software architectures in π-ADL
 π-Animator: a tool to support graphical animation of software architectures described
in π-ADL.
 π-Analyser: a tool to support verification of structural and behavioural properties
specified in π-AAL against software architectures described in π-ADL.
 π-Refiner: a tool to support refinements of software architectures described in π-ADL.
 π-Synthesiser: a tool to support code generation from concrete architecture
descriptions in π-ADL.
 π-ADL Compiler and Virtual Machine.
 π-TraceChecker.
Conclusion
 π-Method recognizes architecture-centric model-driven
approaches, supported by adequate, compositional,
formal languages and tools.
 It involves π-ADL, π-AAL, and π-ARL to support
architectural description, analysis, refinement, and code
generation.
 π-Method cost-effectively develops and evolves
software systems while guaranteeing their completeness
and correctness.

More Related Content

Similar to Architecture Centric Development PPT Presentation

Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdfdo_2013
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdfdo_2013
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfdo_2013
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1SIMONTHOMAS S
 
Ontological approach to the specification of properties of software systems a...
Ontological approach to the specification of properties of software systems a...Ontological approach to the specification of properties of software systems a...
Ontological approach to the specification of properties of software systems a...Patricia Tavares Boralli
 
Reverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesReverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesDharmalingam Ganesan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
Performance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitecturePerformance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitectureEditor IJCATR
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...eSAT Publishing House
 
Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12NASAPMC
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...IJSEA
 

Similar to Architecture Centric Development PPT Presentation (20)

Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
Ontological approach to the specification of properties of software systems a...
Ontological approach to the specification of properties of software systems a...Ontological approach to the specification of properties of software systems a...
Ontological approach to the specification of properties of software systems a...
 
Reverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesReverse Engineering of Module Dependencies
Reverse Engineering of Module Dependencies
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
Performance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software ArchitecturePerformance Evaluation using Blackboard Technique in Software Architecture
Performance Evaluation using Blackboard Technique in Software Architecture
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...Testing and verification of software model through formal semantics a systema...
Testing and verification of software model through formal semantics a systema...
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12
 
4213ijsea02
4213ijsea024213ijsea02
4213ijsea02
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
 
SE notes 2.pdf
SE notes 2.pdfSE notes 2.pdf
SE notes 2.pdf
 

Recently uploaded

Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxabhijeetpadhi001
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 

Recently uploaded (20)

Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptx
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 

Architecture Centric Development PPT Presentation

  • 1. π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne
  • 2. π-Method  This article presents the π-Method, a formal method that has been designed in the ArchWare European Project to address model-driven development of safe software systems.  It is a well-defined theoretical method relying on formal foundations.  It supports formal model-driven development of software systems having highly dynamic architectures.  Its formal language for architecture is based on: Architecture description : π-calculus. Architecture analysis : μ-calculus. Architecture transformation and refinement: Rewriting logic.
  • 3. π-Method vs. Other formal methods  Formal methods such as B, FOCUS, VDM, and Z, aim to provide full support for formal development of software systems.  However, these methods do not provide any architectural support.  π-Method has been built from scratch to formally support architecture-centric component-based model- driven development.
  • 4. Completeness and Correctness of Software Systems  Support the formal specification of software systems whose architecture can change (at run-time).  Support automated analysis: functional as well as non-functional properties.  Support their transformations and application synthesis, by stepwise refinement from abstract to concrete specifications and full code generation.  Support compliance with respect to application requirements (if requirements change, enable the software system to safely progress with new requirements).
  • 5. π-Method  Why Formal?  Improves documentation and understanding of specifications.  Enables rigorous analysis of the system properties.  Improves rigour and quality of the whole development process.  Provides a firm foundation during the evolution process.
  • 6. π-Method Why Architecture-Centric?  A key aspect of the design of any software system is its architecture.  Fundamental organization of the system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.  Provides the conceptual abstraction for modeling complex software systems during development and then during deployment and evolution Why Model-Driven Engineering?  Models are used to understand specific system aspects.  Predicts system qualities.  Reasons about impact of changes.  Indicates major system features to stakeholders.
  • 7. Approach of the π-Method  The novelty of the π-Method lies in its holistic view of formal software development.  It involves: “how” the software is to function in terms of expected behaviours. “what” is its structure in terms of components and their connectors. “which” qualities are to be guaranteed.  Furthermore, an appropriate refinement process (describing “how to build” the software).
  • 9. Architecture-centric formal development “Define style” activities:  Principal actors are the “style architects”.  Represent the top level inception of a family of software architectures.  What types of architectural elements.  How elements can be combined.  Which constraints apply, and which processes can be applied to architecture elements and whole architecture descriptions. “Describe architecture” activities:  Principal actors are the “application architects”.  Use the domain specific styles defined by the style architect to describe a specific software architecture.  An architecture description, in terms of a model.  Can represent a system at various levels of abstractions. “Refine architecture” activities:  Principal actors are the “application engineers”.  Support transformations from abstract to more concrete architecture descriptions.  Derive concrete models by applying correctness preserving transformations.
  • 11. Formal Languages  π-ADL: an architecture description language based on the higher-order typed π-calculus.  π-AAL: an architecture analysis language based on the μ-calculus.  π-ARL: an architecture refinement language based on the rewriting logic.
  • 12. The triad of formal languages
  • 13. The Architecture Description Language: π-ADL  Architecture Description Language encompasses two aspects: expression and verification of architectural styles.  General principles guided the design of π-ADL:  Formality: π-ADL (formal language) provides a formal system, at the mathematical sense, for describing dynamic software architectures.  Run-time viewpoint: π-ADL focuses on the formal description of software architectures from the run-time viewpoint: structure, behavior, and how these may evolve over time.  Executability: π-ADL(executable language) is a virtual machine that runs specifications of software architectures.  User-friendliness: π-ADL supports different concrete syntaxes – textual and graphical notations (including UML-based) .
  • 14. π-ADL Design principles  The principle of correspondence.  The principle of abstraction.  The principle of data type completeness. Civil rights in the language  The right to be declared.  The right to be assigned.  The right to have equality defined over them.  The right to persist.
  • 15. The Architecture Analysis Language: π-AAL Architecture Analysis Language focuses two aspects:  Architectural styles (style architects)  Software Architectures (application architects). Properties of styles and architectures.  structural (e.g. cardinality of architectural elements, interconnection topology)  behavioral (e.g. safety, liveness, and fairness defined on actions of the system). The π-AAL is a formal property expression language designed to support automated verification.  Can mechanically check whether an architecture described in π-ADL satisfies property expressed in π-AAL.
  • 16. The Architecture Refinement Language: π-ARL  The concrete architecture: Vertical and Horizontal transformations.  Horizontal refinement is obtained from transforming an architecture by partition.  Vertical refinement is obtained from transforming steps to add more details to abstract models until the concrete architectural model is described.  The π-Method (ARL) supports both horizontal and vertical refinements.  π- ARL’s four forms of refinement from an external or internal point of view:  behavior refinement  port refinement  structure refinement  data refinement
  • 17. Application domains of the π-Method The π-Method (π-ADL, π-AAL, and π-ARL) have been applied in the following application domains: • software systems targeting J2EE platforms. • enterprise application integration systems. • grid computing systems. • human-computer interfaces for monitoring systems. • mobile agent systems. • sensor-actuator networks. • service-oriented architectures. • ambient intelligence.
  • 18. Related Work for π-Method  Architecture Description (ADLs): ACME, AESOP,AML,ARMANI,CHAM-ADL, DARWIN,META- H,PADL,RAPIDE,SADL, σπ-SPACE, UNICON-2,andWRIGHT/Dynamic- WRIGHT.  Architecture Analysis (AALs): PDL, LOTOS, CADP and CCS.  Architecture Transformation and Refinement(ARLs): FOCUS,RAPIDE, SADL, B and Z.
  • 19. Future Work in π-Method  π-Modeller: a tool to support visual description of software architectures in π-ADL  π-Animator: a tool to support graphical animation of software architectures described in π-ADL.  π-Analyser: a tool to support verification of structural and behavioural properties specified in π-AAL against software architectures described in π-ADL.  π-Refiner: a tool to support refinements of software architectures described in π-ADL.  π-Synthesiser: a tool to support code generation from concrete architecture descriptions in π-ADL.  π-ADL Compiler and Virtual Machine.  π-TraceChecker.
  • 20. Conclusion  π-Method recognizes architecture-centric model-driven approaches, supported by adequate, compositional, formal languages and tools.  It involves π-ADL, π-AAL, and π-ARL to support architectural description, analysis, refinement, and code generation.  π-Method cost-effectively develops and evolves software systems while guaranteeing their completeness and correctness.