SysML-Modelica: A Redefinition & Modification Use Case

Slides:



Advertisements
Similar presentations
Chapter 4 Quality Assurance in Context
Advertisements

© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
1 Case Study: Starting the Student Registration System Chapter 3.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 10 Slide 1 Formal Specification.
Cs164 Prof. Bodik, Fall Symbol Tables and Static Checks Lecture 14.
Introduction to XML This material is based heavily on the tutorial by the same name at
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Semantic Analysis Legality checks –Check that program obey all rules of the language that are not described by a context-free grammar Disambiguation –Name.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
Concepts and Terminology Introduction to Database.
Lexical Analysis Hira Waseem Lecture
Copyrighted material John Tullis 10/17/2015 page 1 04/15/00 XML Part 3 John Tullis DePaul Instructor
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
1 Introduction to Software Engineering Lecture 1.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo.
ISBN Chapter 3 Describing Semantics.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor.
Section 7Chapter 2. Copyright © 2012, 2008, 2004 Pearson Education, Inc. 1 Objectives Absolute Value Equations and Inequalities Use the distance.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
DCMI Abstract Model Analysis Resource Model Jorge Morato– Information Ingeneering Universidad Carlos III de Madrid
Using DSDL plus annotations for Netconf (+) data modeling Rohan Mahy draft-mahy-canmod-dsdl-01.
SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010) Chris Paredis Georgia Tech On behalf of the SysML-Modelica Working.
Systems Realization Laboratory SysML-based Reference Models for Fluid Power Components Chris Paredis, Raphael Kobi Product & Systems Lifecycle Management.
Of 24 lecture 11: ontology – mediation, merging & aligning.
SysML Modelica Integration Working Group Report (SE DSIG Meeting, San Antonio, TX, 9/15/2009) Chris Paredis Georgia Tech 1.
SysML and Modelica Integration Working Group Meeting 3/11/09 Peter Fritzson Wladimir Schamai.
Model Based Engineering Environment Christopher Delp NASA/Caltech Jet Propulsion Laboratory.
1 Modeling Formalism (Modeling Language Foundations) System Modeling Assessment & Roadmap Working Group Meeting – SE DSIG Reston – March, 2016 Yves BERNARD.
SysML v2 Formalism Requirements Formalism WG September 15, 2016.
Language = Syntax + Semantics + Vocabulary
Logical Database Design and the Rational Model
Application Extension 5a
Original Implementation Approach proposed at March 2010 meeting
Jun Tatemura NEC Laboratories Amercia GGF10, March 2004
SysML 2.0 Formalism Requirements and Potential Language Architectures
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
SysML v2 Formalism: Requirements & Benefits
XML QUESTIONS AND ANSWERS
SysML 2.0 Interface Concepts Modeling Core Team
Process Modelling Chapter 6.
Compiler Lecture 1 CS510.
Proposed SysML v2 Submission Plan
CAE-SCRUB for Incorporating Static Analysis into Peer Reviews
Chapter 10: Process Implementation with Executable Models
Chapter 2 Database Environment.
Multiple Aspect Modeling of the Synchronous Language Signal
Abstract Syntax Prabhaker Mateti 1.
CPE 528: Lecture #3 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
An Introduction to Software Architecture
6.001 SICP Variations on a Scheme
Metadata The metadata contains
Visual Modeling Using Rational Rose
Lecture 06:Software Maintenance
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
SysML Modelica Integration Working Group Meeting 3/4/09
SysML 2.0 Interface Concepts Modeling Core Team
© 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
Software Architecture & Design
Presentation transcript:

SysML-Modelica: A Redefinition & Modification Use Case Alek Kerzhner and Nicolas Rouquette Jet Propulsion Laboratory, Caltech September 2012 Copyright 2011, California Institute of Technology Government Sponsorship Acknowledged

Overview: Why is improved support for Modelica’s redeclarations & modifications important for the SyM spec? Currently, Modelica’s redeclarations/modifications are stored as strings See: http://www.omg.org/spec/SyM/1.0/Beta3/ Practically, this leads to 2 significant issues: #1 (slide 14) Entering this information in text is error-prone #2 (slide 17) Duplication is unavoidable JPL’s proposal to capture Modelica’s redeclarations/modifications (slide 19) Cons: Definitely an up-scope of SyM 1.0 Beta3 Pros: Increased opportunity for model reuse (as is demonstrated by the use case described in this presentation) Reduced opportunity for model inconsistency Implications for the SyM transformations (slides 20,21) Separate concerns that were previously entangled in SyM 1.0 Beta3: Modelica’s name resolution semantics (see Chapter 4 scoping, name lookup & flattening) Resolved Modelica  SysML (with UML-based specialization) mapping

Use Case Overview We want to be able to have a set of “canned” analyses which can be used as-is or modified by experienced users: Analyses would be predefined in a Modelica tool where it is more natural to deal with equations, etc.. Analyses would then be imported into SysML using the M2S transformation Users would connect these analyses as-is to descriptive model elements Users would use SysML generation/redefinition to modify the analysis models The S2M transformation would then create the appropriate Modelica model Why? We cannot anticipate all variations of analyses of complex models a priori We need to facilitate exploring different ways to analyze an existing model (and compare them!) Some examples this could support: Analyzing different system variants using the same base analysis Could use redefinition to replace the analysis models used for one or more components Analyzing the same system during different lifecycle phases Could use redefinition to adjust the equations describing broken/damaged components

Use Case Overview (cont’d) We want to perform two tests on a car suspension: when the suspension is healthy (as-designed) when it has been damaged (As an example, consider a test where we apply an impulse force to the car and understand the effect on the suspension) We start from the as-designed test (analysis models exist in Modelica, have been imported into SysML):

Use Case Overview (cont’d) Reminder: We want to perform two tests on a car suspension: when the suspension is healthy (as designed) when it has been damaged On the descriptive side, we can use SysML specializations to define the test for the damaged suspension:

Use Case Overview (cont’d) Reminder: We want to perform two tests on a car suspension: when the suspension is healthy (as designed) when it has been damaged We want to simulate these tests

Use Case Overview (cont’d) Reminder: We want to perform two tests on a car suspension: when the suspension is healthy (as designed) when it has been damaged Analysis Models for these already exist in Modelica

Use Case Overview (cont’d) Reminder: We want to perform two tests on a car suspension: when the suspension is healthy (as designed) when it has been damaged Analysis Models for these need to be created

Relationship between descriptive and analytical models Let’s assume for part of the descriptive model there exist appropriate predefined analysis models

Existing Test Model The existing models include a model for the test, which contains a Car Suspension model that can be redefined (See SyM Beta 3, Section 10.3 p. 26) . Specializing CarSuspensionModel is precisely what we need to define the damaged car variant for the 2nd test. The CarSuspensionModel can be subsequently modified (by specialization)

Existing Car Model The internals of the car suspension model: Modelica's replaceable annotations are very important. Without them, we couldn't reuse this model to do the damaged suspension test. (See SyM Beta 3, Section 10.3 p. 26)

Analysis Contexts A1 A A2 A3 The same descriptive model… …could be analyzed in various ways A1 A A2 A3 Analysis contexts Analysis contexts capture the correspondence between a descriptive model and a particular analysis. (See SyM 1.0 Beta3, p. 76) Analysis contexts are one example where cross-cutting relationships exist between an analysis and the rest of the descriptive model.

Analysis Context for Original Test For the original test, one can capture the correspondence between a structural/descriptive model and the analysis model Analytical: Modelica Descriptive: SysML Analysis context (See SyM beta 3 p. 67, 75-76.)

Defining the new models with the current specification Manually entered by user (See SyM Beta 1.3, Section 8.10, p. 17) Issues (1/2): #1 The user needs to manually enter and interpret the information There is no way to insure consistency with the model or perform checks on these modifications until compile time Not only does the user now need to know a new syntax, they also need to avoid typos and understand the structure of the underlying models This includes understanding the appropriate procedure for name lookup, namespaces, and how to parse statements like (mass=mass)

Variant Analysis Contexts Variations of a descriptive model… …could be analyzed in various ways A A1 Analysis Context 1 B Analysis Context 2 B1 C C1 Analysis Context 3 For each descriptive variant, an analysis context is also needed

Analysis Context With only the tag value strings, the correspondences cannot be captured because the appropriate structural elements are missing This type has been re-declared, but that is only captured in the text. We can’t show the descriptive/analytical correspondences (redeclaration is only textual!) Analysis context Descriptive: SysML Analytical: Modelica

Defining the new models with the current specification Manually created by user Issues (2/2): #2: In order to support the definition of references to other parts of the model, the user needs to create the redefinitions anyway!

New Analysis Context Now the correspondences can be captured because a redefined car property is available. Analytical: Modelica Descriptive: SysML Analysis context

Proposed Solution Avoid duplicating the representation of Modelica’s redeclaration as tag value strings and UML/SysML’s redefinitions Instead, specify the correspondence between: Modelica redeclaration UML/SysML redefinition (i.e., the canonical representation of Modelica redeclaration in UML/SysML)

Impact on the SysML/Modelica Transformations: Currently The Modelica AST  SysML transformations entangle two aspects in a fragile way: Modelica’s resolution semantics (See Modelica Chapter 4) A Modelica’s class component is “looked up” by name in the corresponding SysML Block The mapping between Modelica & SysML is fragile Modelica’s redeclarations/modifications are stored as strings (Modelica  SysML) Errors due to unexpected duplication between String-based Modelica redeclarations/modifications and UML-based specialization (SysML  Modelica)

Impact on the SysML/Modelica Transformations: Proposed Resolved Modelica Library (with SysML correspondences) Resolved Modelica (.xmi) Modelica AST model with some expressions parsed (.xmi)

Modelica Resolution & Modelica/SysML Correspondences Modelica Resolver Currently, a QVT transformation: Modelica => Modelica Authoritative reference is Chapter 5 of the Modelica Language Reference Modelica Metamodel must be isomorphic to the record-based representation produced by a Modelica compiler implementation (flattener) There is currently no agreement among implementation about what this record-based representation This makes the implementation of a .mo  .xmi (modelica) converter highly dependent on a particular Modelica compiler implementation Augments the SyM 1.0 Beta3 Modelica metamodel Adds attributes to represent references to resolved elements Example: ComponentRef needs a reference to a Component definition (see SyM 1.0 Beta3 section 14.2.12) Modelica  SysML Correspondences Modelica’s redeclarations & modifications are relationships, (not elements) To map these relationships to SysML, we need to incrementally maintain element/element correspondences between Modelica & SysML