1 / 23

CS 5381 Juan C. González Authors: Paola Inverardi and Alexander L. Wolf

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

oleg-garcia
Download Presentation

CS 5381 Juan C. González Authors: Paola Inverardi and Alexander L. Wolf

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. 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

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

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

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

  5. 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

  6. 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.

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

  8. 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

  9. 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.

  10. A Model of architectural descriptionExample: Multiphase compiler

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

  12. 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.

  13. 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.

  14. 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.

  15. 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

  16. 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.

  17. 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

  18. 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.

  19. General Laws • CHAM’s obey four general laws: • The reaction law • The chemical law

  20. More… • The membrane law • The airlock law

  21. 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.

  22. Example • Sequential Multiphase Compiler

  23. 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.

More Related