Multiple Aspect Modeling of the Synchronous Language Signal

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Chess Review May 8, 2003 Berkeley, CA Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley.
Functional Design and Programming Lecture 1: Functional modeling, design and programming.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Chess Review, May 10, Multiple Aspect Modeling Well-formedness Rules Semantic Domain A property p is accessible iff: in every well-formed model.
Testing an individual module
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
SOFTWARE DESIGN.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Low-Level Detailed Design SAD (Soft Arch Design) Mid-level Detailed Design Low-Level Detailed Design Design Finalization Design Document.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
ECE-C662 Lecture 2 Prawat Nagvajara
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
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.
Advanced Computer Systems
Software Testing.
Dynamic structure modelling for Causal Block Diagrams
Compiler Design (40-414) Main Text Book:
Design and Documentation
Basic Language Concepts
SysML v2 Formalism: Requirements & Benefits
Input Space Partition Testing CS 4501 / 6501 Software Testing
Chapter 11 Object-Oriented Design
EKT 356 MICROWAVE COMMUNICATIONS
Representation, Syntax, Paradigms, Types
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Structural style Modular design and hierarchy Part 1
课程名 编译原理 Compiling Techniques
About the Presentations
TIM 58 Chapter 8: Class and Method Design
C++ for Engineers and Scientists Second Edition
Chapter 10: Process Implementation with Executable Models
Software Development Cycle
Unit# 8: Introduction to Computer Programming
Introduction to cosynthesis Rabi Mahapatra CSCE617
Eugene Gavrin – MSc student
Logical architecture refinement
Structural style Modular design and hierarchy Part 1
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Chapter 20 Object-Oriented Analysis and Design
Event-Based Architecture Definition Language
Chapter 5 Architectural Design.
Interpreter Pattern.
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Representation, Syntax, Paradigms, Types
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Introduction to Requirements Modeling
Representation, Syntax, Paradigms, Types
Software Development Cycle
COMPILER CONSTRUCTION
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Abstract Types Defined as Classes of Variables
Software Architecture & Design
Presentation transcript:

Multiple Aspect Modeling of the Synchronous Language Signal Institute for Software Integrated Systems Vanderbilt University Janos Sztipanovits, Ethan Jackson http://www.isis.vanderbilt.edu Multiple Aspect Modeling A A A ccessible Properties spects pplying are glimpses into the inner workings of a semantic domain partition the abstract syntax while partitioning accessible properties multiple aspect modeling means carefully choosing the abstract syntax A DSML is defined by a meta-model, which provides an abstract syntax (AS), a concrete syntax, and a static semantics. Accessible properties allow formal design-time reasoning about properties relevant to the semantic domain. Aspects should partition the AS in a way that also partitions relevant accessible properties. This modularizes reasoning about the semantic domain. An abstract syntax must be chosen so that: The represented concepts are intuitive Important properties can be made accessible Accessible properties can be evaluated within clearly defined subsets (aspects) of the abstract syntax. We use the synchronous dataflow language Signal as a non- trivial candidate for demonstrating these principles because: Signal programs are completely declarative systems of dataflow equations Control flow is implicit and requires a global reasoning process to extract Signal is the most expressive of the synchronous languages supporting under-sampling, over-sampling, and arbitrarily complicated clock relations. Some static semantics are due to the particular AS (max. name length), but others reflect the underlying semantic domain (there must be a start state). The later type are accessible properties. Two-aspect example for describing data and storage. “Is there enough storage for the data?” is an accessible property, but this property straddles the aspects. Hence, these aspects are bad because important reasoning is not modularized. Static Semantics Accessible Properties Semantic Domain A property is accessible iff: Our future work includes: Describing generative constraints using formal graph transformation languages (e.g. GReAT) Formally characterizing an abstract syntax with respect to the underlying semantic domain Extending the HFGMM (described below) representation to encompass other discrete time models of computation Data Issues Storage Issues Is enough? Data Aspect Storage Aspect Data Aspect Storage Aspect in every statically correct model that has an error in property p, a semantically equivalent model can be found where the static semantics are not satisfied. Is enough? Is enough? Data Issues Storage Issues However, a generative constraint that generates a storage element for each data element does modularize the reasoning. Case I: Simple Multiple Aspect Signal Front-End A A this type of front-end using GME-based MDA tools is straightforward A pplying bstract Syntax spects addresses program structure only are Structure and Implementation In this multiple aspect environment, the AS concepts are hierarchy, module interface, module interconnections, and dataflow equations. The structure aspect shows all AS having to do with program structure. Relevant accessible properties include proper use of module interconnection, signal scoping, and sub process invocation. Combining these two aspects into Signal code involves a simple depth first search of the model The first time a module is seen, a preamble is written. The second time a module is seen (when DFS backs up), all equations and a post-amble are written. The implementation aspect groups dataflow equations into equation boxes, the but meaning of the actual equations is not accessible. This environment has no accessible properties relating to the behavior of the program. The static semantics restrict the type of interconnections that can be formed. Code generation is not performed directly on the model, but an AST is built from the model and contains the node types shown below. Equations like this are stored in the model, but the static semantics does not give them any meaning during design time. Sub-process result binding to local Sub-process invocation with local start := true when go default start$ Passing result up hierarchy Sub-process invocation The aspects are orthogonal, i.e. there are no cross aspect consistency constraints. These aspects are also an intuitive way to partition a programming language. However, they lack the ability to formally reason about what the program will do. Passing constant parameters Instantiating parameters Case II: HFGMM Front-End with Generative Constraints A A spects are non-orthogonal Dataflow and Clock A bstract Syntax pplying captures structural and behavioral concepts this type of front-end requires generative constraints and non-trivial interpretation The underlying dataflow is the dataflow aspect and the modes comprise the clock aspect. Notice that the dataflow in each mode is a permutation of the dataflow aspect. This is a generative consistency constraint that must be maintained. Signal is modeled with hierarchical fine-grained modal models (HFGMM). Converting from this representation to Signal requires non-trivial synthesis techniques, particularly to generate realistic undersampling conditions. I1 … In this representation, synchrony constraints become static semantics. Specifically, a synchrony constraint has been violated if any n-ary operator in a mode cannot be categorized into one of the cases on the left. While combining aspects is non-trivial, the HFGMM representation is general enough to be easily specialized for different models of computation. … O Op … In I1 Dataflow Semantics … … O Clock Semantics Op … In Checking this property is straightforward because it is a local property of each node. When an error is detected, it is easily localized to the offending component and mode. Dataflow and Clock Semantics Signal programs are hierarchical dataflow graphs with n-ary synchronous operators, inputs, outputs, polymorphic parameters, delay lines, and muxes that are sensitive to clocks. I1 … … O Op … Signal Dataflow Semantics A Signal system has a set of modes that represent the possible clock configurations and define which dataflow components are active and inactive at a given instant. In Signal Clock Semantics Similarly, causality errors become static semantics. While a causality error it not a local property, it can still be checked for efficiently: Find any cycle made entirely of present components and without delay. Signal Dataflow And Clock Semantics Our current synthesis tool exploits the “feed-forward” modularity of the HFGMM representation so that synthesis can be reused an easily specialized. For example, the “Signal Clock Semantics” module could be replaced by a purely monochronous module. These are fine-grained modes because the system could switch modes at the resolution of the base clock. A causality cycle A causality cycle broken by clock absence