SlideServe
Menu
Préférences
© SlideServe · v2026

Abstract Model Specification

adolph avatar
26 diapositives · 514 Views · Sep 13, 2014

Abstract Model Specification. Abstract Model Specification. Explicitly describes behavior in terms of a model using well-defined types (viz. set, sequences, relations, functions) & defines operations by showing effects on model Specification includes Type - syntax of object being specified

Abstract Model Specification - slide 1
01 / 26Abstract Model Specification
1 / 17

Télécharger la présentation

Abstract Model Specification
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Abstract Model Specification

  2. Abstract Model Specification • Explicitly describes behavior in terms of a model using well-defined types (viz. set, sequences, relations, functions) & defines operations by showing effects on model • Specification includes • Type - syntax of object being specified • Model - underlying structure • Invariant - properties of modeled object • Pre/post conditions - semantics of operations

  3. Notation • Is used to test the results • Independent of program code • Mathematical data model • Represent both static and dynamic aspects of a system

  4. Features (Z-Notation) • Decompose specification into small pieces (schemas) • Schemas are used to describe both static and dynamic aspects of a system • Data refinement • Direct refinement • You can ignore details in order to focus on the aspects of the problem you are interested in

  5. Schema Static Aspect • The state can occupy • The invariant relationships that are maintained as the system moves from state to state

  6. Schema (Cont.) Dynamic Aspect • The operations that are possible • The relationship between their inputs and outputs • The change of state that happen

  7. Operators (Conjunction of the two predicate parts) any common variables of the two schemas are merged V (the effect of the schema operator is to make a schema in which the predicate part is the result of joining the predicate parts of its two arguments with the logical connective V)

  8. From Specification to Design Data Refinement “To describe the concrete data structures which the program will use to represent the abstract data in the specification, and to derive description of the operation in terms of the concrete data structures” Direct Refinement Method to go directly from abstract specification to program in one step

  9. Advantages • The flexibility to model a specification which can directly lead to the code • Easy to understand • A large class of structural models can be described in Z without higher – order features, and can thus be analyzed efficiently • Independent conditions can be added later

  10. Chemical Abstract Model CHAM: for architectural description and analysis Software systems chemicals (whose reactions are controlled by explicitly stated rules) Where floating molecules can only interact according to a stated set of reaction rules

  11. Features (CHAM) - Modular specification • Chemical reactions • Molecules (components) • Reactions (connectors) • Solutions (states of CHAM) • This is used in areas where intended architecture will tend to be large, complex, and assembled from existing components • Architectural elements: Processing elements, data elements, and connecting elements

  12. Alloy: A Lightweight Object Modeling Notation

  13. Introduction • Alloy • Is a modeling notation that describes structural properties • Has a declaration syntax compatible with graphical object models • Has a “set-based” formula syntax • Is based on “Z”

  14. Analysis • Alloy supports two kinds of analysis • Simulation: Consistency of an invariant or operation is demonstrated by generating a state or transition • Checking: A consequence of a specification is tested by attempting to generate a counterexample • Together they enable an incremental process of specification

  15. Based On Z • Alloy is based on Z because: • Simple and intuitive semantics (based on sets) • Well suited for object oriented modeling • Data structures are built from concrete mathematical structures

  16. Features • Automatic analysis • Theorem proving is deep & automatic • Easier to read and write. Plain ASCII notation • Relational operators are powerful • Incorporates mutability notions from informal notations

  17. Design Faults • Omission of the let construct & relational operators • No integers • No distinction between attributes and relations

  18. Formalizing Style to Understand Descriptions of Software Architecture

  19. Introduction • Software architecture describes a software system • Architectural descriptions are informal & diagrammatic • Represented by boxes & lines • For one system they may mean filters & pipes • For another system boxes  abstract data types or objects & lines  procedure calls

  20. Introduction • Different graphical conventions used to describe more than one kind of component or connection type in a single system • Generalized meanings to architectural descriptions

  21. How is it Done? • Formalize abstract syntax for architectures • For a given style: • Define the semantic model • Discuss concrete syntax for easing syntactic descriptions in a given style • Define the mapping from abstract syntax into semantic model • Make explicit the constraints on the syntax

  22. How is it Done? • Demonstrate analysis within & between formally defined architectural styles

  23. Abstract Syntax of Software Architectures • Component: • Relationship between component & it’s environment is defined as a collection of interaction points or ports

  24. Abstract Syntax of Software Architectures • Connectors: • Connector has an interface that consists of a set of roles

  25. Abstract Syntax of Software Architectures • Instances of components & connectors are identified by naming elements from the syntactic class

  26. Advantages • Provides a templates for formalizing new architectural styles in a uniform way • Provides uniform criteria for demonstrating that the notational constraints on a style are sufficient to provide meanings for all described systems • Makes possible a unified semantic base through which different stylistic interpretations can be compared