p-Method: A Model-Driven Formal Method for Architecture-Centric Software Engineering - PowerPoint PPT Presentation

About This Presentation
Title:

p-Method: A Model-Driven Formal Method for Architecture-Centric Software Engineering

Description:

This article presents the p-Method, a formal method that has been designed in ... ACME, AESOP,AML,ARMANI,CHAM-ADL, DARWIN,META-H,PADL,RAPIDE,SADL, sp-SPACE, ... – PowerPoint PPT presentation

Number of Views:147
Avg rating:3.0/5.0
Slides: 21
Provided by: Saj
Learn more at: https://www.ecs.csun.edu
Category:

less

Transcript and Presenter's Notes

Title: p-Method: A Model-Driven Formal Method for Architecture-Centric Software Engineering


1
p-Method A Model-Driven Formal Method for
Architecture-Centric Software Engineering
  • By Flavio Oquendo
  • Presented by Sajith Wickramaratne

2
p-Method
  • This article presents the p-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 p-calculus.
  • Architecture analysis µ-calculus.
  • Architecture transformation and refinement
    Rewriting logic.

3
p-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.
  • p-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
p-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
p-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 p-Method
  • The novelty of the p-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).

8
Architecture-centric formal development
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.

10
Model transformations with p-ARL
11
Formal Languages
  • p-ADL an architecture description language based
    on the higher-order typed p-calculus.
  • p-AAL an architecture analysis language based on
    the µ-calculus.
  • p-ARL an architecture refinement language based
    on the rewriting logic.

12
The triad of formal languages
13
The Architecture Description Language p-ADL
  • Architecture Description Language encompasses
    two aspects expression and verification of
    architectural styles.
  • General principles guided the design of p-ADL
  • Formality p-ADL (formal language) provides a
    formal system, at the mathematical sense, for
    describing dynamic software architectures.
  • Run-time viewpoint p-ADL focuses on the formal
    description of software architectures from the
    run-time viewpoint structure, behavior, and how
    these may evolve over time.
  • Executability p-ADL(executable language) is a
    virtual machine that runs specifications of
    software architectures.
  • User-friendliness p-ADL supports different
    concrete syntaxes textual and graphical
    notations (including UML-based) .

14
p-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 p-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 p-AAL is a formal property expression
    language designed to support automated
    verification.
  • Can mechanically check whether an architecture
    described in p-ADL satisfies property expressed
    in p-AAL.

16
The Architecture Refinement Language p-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 p-Method (ARL) supports both horizontal and
    vertical refinements.
  • p- ARLs 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 p-Method
  • The p-Method (p-ADL, p-AAL, and p-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 p-Method
  • Architecture Description (ADLs)
  • ACME, AESOP,AML,ARMANI,CHAM-ADL,
    DARWIN,META-H,PADL,RAPIDE,SADL, sp-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 p-Method
  • p-Modeller a tool to support visual description
    of software architectures in p-ADL
  • p-Animator a tool to support graphical animation
    of software architectures described in p-ADL.
  • p-Analyser a tool to support verification of
    structural and behavioural properties specified
    in p-AAL against software architectures described
    in p-ADL.
  • p-Refiner a tool to support refinements of
    software architectures described in p-ADL.
  • p-Synthesiser a tool to support code generation
    from concrete architecture descriptions in p-ADL.
  • p-ADL Compiler and Virtual Machine.
  • p-TraceChecker.

20
Conclusion
  • p-Method recognizes architecture-centric
    model-driven approaches, supported by adequate,
    compositional, formal languages and tools.
  • It involves p-ADL, p-AAL, and p-ARL to support
    architectural description, analysis, refinement,
    and code generation.
  • p-Method cost-effectively develops and evolves
    software systems while guaranteeing their
    completeness and correctness.
Write a Comment
User Comments (0)
About PowerShow.com