Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model CS 5381 Juan C. González Authors: Paola Inverardi.

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Architecture Representation
Principles of programming languages 1: Introduction (with a simple language) Isao Sasano Department of Information Science and Engineering.
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
PDDL: A Language with a Purpose? Lee McCluskey Department of Computing and Mathematical Sciences, The University of Huddersfield.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Operational Semantics.
C SC 520 Principles of Programming Languages 1 C SC 520: Principles of Programming Languages Peter J. Downey Department of Computer Science Spring 2006.
Describing Syntax and Semantics
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Dr. Muhammed Al-Mulhem ICS An Introduction to Functional Programming.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
The chapter will address the following questions:
PROGRAMMING LANGUAGES The Study of Programming Languages.
Bridging the chasm between MDE and the world of compilation Nondini Das 1.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Software Engineering CS B Prof. George Heineman.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Towards Human-Executable Business Process Modeling Janis Barzdins, Edgars Rencis, Agris Sostaks Institute of Mathematics and Computer Science, University.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Lecture 9: Chapter 9 Architectural Design
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
Scientific Workflow Interchanging Through Patterns: Reversals and Lessons Learned Bruno Fernandes Bastos Regina Maria Maciel Braga Antônio Tadeu Azevedo.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Of 33 lecture 1: introduction. of 33 the semantic web vision today’s web (1) web content – for human consumption (no structural information) people search.
Architectural Styles, Design Patterns, and Objects Joe Paulowskey.
CoOL: A Context Ontology Language to Enable Contextual Interoperability Thomas Strang, Claudia Linnhoff-Popien, and Korbinian Frank German Aerospace Centor.
1-1 An Introduction to Functional Programming Sept
MDA & RM-ODP. Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all.
RE-ENGINEERING AND DOMAIN ANALYSIS BY- NISHANTH TIRUVAIPATI.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
1 Abstract Model Specification. 2 Explicitly describes behavior in terms of a model using well-defined types (viz. set, sequences, relations, functions)
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
OWL-S: As a Semantic Mark-up Language for Grid Services By Narendranadh.J.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Mixture Pure substances REVIEW. Mixtures: 1.Two or more _____________or _____________ NOT chemically combined 2.No reaction between substances. 3.Mixtures.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Choosing a Formal Method Mike Weissert COSC 481. Outline Introduction Reasons For Choosing Formality Application Characteristics Criteria For A Successful.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
Architecture for View Modeling in SysML Auto-View Generation Working Group Lead: Christopher Delp NASA JPL.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Algorithms and Problem Solving
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Information Science and Engineering
SysML v2 Formalism: Requirements & Benefits
State Digrams in UML: A Formal Senmatics using Graph Transformations
Jingyong Liu*, Lichen Zhang,
Web Ontology Language for Service (OWL-S)
Implementing Language Extensions with Model Transformations
Objective of This Course
Jigar.B.Katariya (08291A0531) E.Mahesh (08291A0542)
Algorithms and Problem Solving
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Implementing Language Extensions with Model Transformations
Motivation for Language Specification
Presentation transcript:

Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model CS 5381 Juan C. González Authors: Paola Inverardi and Alexander L. Wolf

Outline Introduction A model of Architectural Description The Chemical Abstract Machine Model Specifying Architectures using CHAM’S Conclusion

Introduction Importance of studying the architectures of large and complex systems  Improved education  Increased reuse  Reduced development cost  Enhanced quality

Formal specification of software architecture Motivations of using a formal framework  Semantic precision  Uniform description  Common basis for formal comparison  Susceptibility to formal analysis

Challenges of choosing a framework A general and flexible formalism in which it is possible to describe very different kinds of architectures The description has to be understandable to the widely varying consumers of the specification

Operational semantic formalism as the more appropriate choice In the belief that can be more easily understood by a broader range of practitioners than other, abstract mathematical formalism Operational semantics reflects the familiar idea of specifying the computational behavior of a more abstract and precisely defined system.

Ideal approach To use an operational semantic formalism that is based on a more flexible, relatively neutral computational model.

Chemical Abstract Machine (CHAM) model Proposed by Berry and Boudol in the domain of theoretical computer science The abstract machine is fashioned after chemical and chemical reactions

Metaphor of the CHAM The states of the machine are chemical solutions Molecules can only interact according to a set of reaction rules The CHAM formalism has already been used to describe several different and important computational paradigms.

A Model of architectural description Example: Multiphase compiler

The model identifies three basic kind of architectural elements Processing elements Data elements Connecting elements

The Chemical Abstract Machine Model It is built upon the chemical metaphor first proposed by Banatre and Le Metayer to illustrate their Gamma formalism or parallel computing.

Gamma computation Set of transformations or reactions that consume elements of the multiset and produce new ones according to the rules that constitute the program.

The CHAM formalism Extends the Gamma language by specifying a syntax for molecules and by providing a classification scheme for reaction rules. It also introduces the membrane construct.

Basics A CHAM is specified by defining molecules m,m’, … and solutions S,S’,… of molecules. Also contains transformation rules T, T’,… that define a transformation relation S  S’  General laws  Specific rules

More… Any solution can be considered as a single molecule with respect to other solutions by means of an encapsulation construct called a membrane. A reversible operator called an airlock is used to selectively extract molecules form a solution within a membrane.

Molecules, Solutions and Membranes Solutions S, S’, … are finite multisets of molecules, each denoted as a comma – separated list of molecules  m1, m2, …, mn Solutions can be built form other solutions by combining them through the multiset union operator.  S=m1, …, mn and S’=m’1,…,m’k then S U S’ = m1,…,mn,m’1,…,m’k

More… A solution enclosed in {|. |} denotes a membrane. The reversible airlock operator applied to solution S = m1, …, mn to extract mi from S is denoted  S’ = mi ◄ {|m1, …, mi-1, mi+1, …, mn|} The model provides a context abstraction, denoted as C[.], derived from λ-calculus.

General Laws CHAM’s obey four general laws:  The reaction law  The chemical law

More… The membrane law The airlock law

Rules Heating rules  Is heating if it decomposes a molecule into its constituents.  A solution is said to be hot if no heating rule is applicable. Cooling rules  Is a cooling if it composes a compound molecule.  A solution is said to be frozen if no cooling rule is applicable. Reaction rules  Is reaction if it actually changes the nature of the solutions.

Example Sequential Multiphase Compiler

Conclusion The CHAM is a reasonably simple model, yet very expressive. The CHAM model might be one useful tool in the software architect’s chest of useful tools.