Composition of XML Dialects A ModelicaXML case study Adrian Pop, Ilie Savga, Uwe Aßmann, Peter Fritzson Programming Environments Laboratory Linköping University.

Slides:



Advertisements
Similar presentations
Debugging Natural Semantics Specifications Adrian Pop and Peter Fritzson Programming Environment Laboratory Department of Computer and Information Science.
Advertisements

Peter Fritzson 1 MetaModelica for Meta-Modeling and Model Transformations Peter Fritzson, Adrian Pop, Peter Aronsson OpenModelica Course at INRIA, 2006.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
JAXB Java Architecture for XML Binding Andy Fanton Khalid AlBayat.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Generative Programming for a Component-based Framework of Distributed Embedded Software Systems Xu Ke, Krzysztof Sierszecki Mads Clausen Institute for.
1 RealSim RealSim is Real Time Simulation for Design of Multi-Physics Systems RealSim goal: bring Modelica to industryModelica Objectives: Develop high-performance.
WPSM Programming Language A simple language that transform simple data structure into complex xML format Wai Y. Wong Peter Chen Seema Gupta Miqdad Mohammed.
ModelicaXML A Modelica XML representation with Applications Adrian Pop, Peter Fritzson Programming Environments Laboratory Linköping University.
Telescoping Languages: A Compiler Strategy for Implementation of High-Level Domain-Specific Programming Systems Ken Kennedy Rice University.
An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications Adrian Pop and Peter Fritzson Programming.
A Portable Debugger for Algorithmic Modelica Code Adrian Pop, Peter Fritzson Programming Environments Laboratory (PELAB) Department of Computer and Information.
MetaModelica A Unified Equation-Based Semantical and Mathematical Modeling Language Adrian Pop and Peter Fritzson Programming Environment Laboratory Department.
An framework for model-driven product design and development using Modelica Adrian Pop, Olof Johansson, Peter Fritzson Programming Environments Laboratory.
Natural Semantics Based Tools for Semantic Web with Application to Product Models Adrian Pop Programming Environments Laboratory (PELAB) Department of.
February 10, 2004 Overview Adrian Pop  Programming Environments Laboratory  Linköping University  
1 Dan Quinlan, Markus Schordan, Qing Yi Center for Applied Scientific Computing Lawrence Livermore National Laboratory Semantic-Driven Parallelization.
OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment.
Contributions to Meta-Modeling Tools and Methods Adrian Pop Programming Environments Laboratory.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Principles of Procedural Programming
Teaching with MATLAB - Tips and Tricks
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
1 April 2005, Siemens Industrial Turbomachinery AB Copyright © Copyright © 2005 Peter Fritzson Modelica Classes and Inheritance.
VRML Dr. Alun Moon What is VRML The Virtual Reality Modeling Language (VRML) is a file format for describing interactive 3D objects.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
Java Adaptive Mathematical Modeling Engine (JAMME) Leeland Artra, Cell Systems Initiative (CSI) Zheng Li, Department of Bioengineering University of Washington,
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 62 – Manipulating Data Using Methods – Day 1.
Speaking Bluntly about SharpHDL: Some Old Stuff and Some Other Proposed Future Extensions Gordon J. Pace & Christine Vella Synchron’05 Malta, November.
1 WSMX Web Service Modeling Execution WSMO Deliverable 13 Emilia Cimpian, Adrian Mocan, Matthew Moran, Eyal Oren, Michal Zaremba 3 March 2004.
Towards a Text Generation Template Language for Modelica Peter Fritzson *, Pavol Privitzer +, Martin Sjölund *, Adrian Pop * + Institute of Pathological.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
Institute for Software Integrated Systems Vanderbilt University Copyright © Vanderbilt University/ISIS 2008 Model Interpreters Janos Mathe based on Peter.
Korea Advanced Institute of Science and Technology, Dept. of EECS, Div. of CS, Information Systems Lab. 1/10 CS204 Course Overview Prof.
© GMV S.A., 2004 Property of GMV S.A. All rights reserved 2004/05/13 XML in CCSDS CCSDS Spring Meeting - Montreal Fran Martínez GMVSA 4081/04.
Introduction to Exception Handling and Defensive Programming.
SIMO SIMulation and Optimization ”New generation forest planning system” Antti Mäkinen & Jussi Rasinmäki Dept. of Forest Resource Management.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Resource Manager for Distance Education Systems Goran Kimovski Vladimir Trajkovik Danco Davcev Faculty of Electrical Engineering and Computer Science,
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Functions Outline 5.1Introduction 5.2Program Modules.
Protocol Derivation Assistant Matthias Anlauff Kestrel Institute
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Model Design using Hierarchical Web-Based Libraries F. Bernardi Pr. J.F. Santucci {bernardi, University of Corsica SPE Laboratory.
1 FESA architecture v.1.0 Framework Configuration & Data-entry Tool 5 th December 2003.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
CS223: Software Engineering
FUNCTIONAL PROGRAMING AT WORK - HASKELL AND DOMAIN SPECIFIC LANGUAGES Dr. John Peterson Western State Colorado University.
OSSIM Technology Overview Mark Lucas. “Awesome” Open Source Software Image Map (OSSIM)
A Flexible MDATool Set Anneke Kleppe Klasse Objecten.
Extension du formalisme SES pour l’intégration de la hiérarchie d’abstraction et la granularité temporelle au sein de la modélisation et la simulation.
SEAMCAT’s propagation model plugin Karl Koch, BNetzA, CEPT SEAMCAT Workshop Copenhagen,
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.
Multi-disciplinary Approach for Industrial Phases in Space Projects Evolution of classic SE into MBSE Harald EisenmannAstrium Satellites Joachim Fuchs.
Systems Engineering Concept Model (SECM) OMG Technical Conference 12/10/2015 System Modeling Assessment & Roadmap WG John Watson 1.
Bootstrapping a Modelica Compiler Martin Sjölund, Peter Fritzson, Adrian Pop Linköping University th International Modelica Conference Dresden,
Interface Concepts Modeling Core Team
Validating Reconfigurations of Reo Circuits
THERMAL BUILDING SIMULATION WITH MAPLESIM
SysML-based Reference Models for Fluid Power Components
Introduction to Computer Programming
Automation of Control System Configuration TAC 18
Presentation transcript:

Composition of XML Dialects A ModelicaXML case study Adrian Pop, Ilie Savga, Uwe Aßmann, Peter Fritzson Programming Environments Laboratory Linköping University

April 03, Outline  Introduction  Modelica  ModelicaXML  Compost  ModelicaXML extension of Compost  Modelica Component Model  Composition programs  Conclusions and Future Work

April 03, Introduction  Why the need for Modelica composition and transformation?  Interoperability between existing modeling languages or CAD tools and Modelica  Automatic generation of different version of models from product specifications. Choosing best design based on automatic simulation.  Automatic configuration of models using external sources (XML, databases, files)  Protection of intellectual property through obfuscation  Fine grain support for library developers

April 03, Modelica  Declarative language  Equations and mathematical functions allow acausal modeling, high level specification, increased correctness  Multi-domain modeling  Combine electrical, mechanical, thermodynamic, hydraulic, biological, control, event, real-time, etc...  Everything is a class  Strongly typed object-oriented language with a general class concept, Java & Matlab like syntax  Visual component programming  Hierarchical system architecture capabilities  Efficient, non-proprietary  Efficiency comparable to C; advanced equation compilation, e.g equations

April 03, Decomposition and Abstraction of an Automatic Gearbox Modelica Visual Programming

April 03, ModelicaXML Modelica code Modelica XML Modelica Parser read output class Test "comment" Real x; Real xdot; equation xdot = der(x); end Test; <definition ident= "Test" comment="comment"> <component ident="x" type="Real" visibility="public" /> <component ident="xdot" type="Real" visibility="public" />... modelicaxm l definition componen t equation

April 03, Compost Overview

April 03, ModelicaXML extension of Compost

April 03, Modelica Component Model – Box hierarchy

April 03, Example Box Hierarchy <component visibility="public” variability="parameter" type="Integer" ident="cylinders"> class Engine parameter Integer cylinders = 4; Cylinder c[cylinders]; end Engine; ModelicaClass ModelicaComponent

April 03, Modelica Component Model – Hook hierarchy

April 03, Example: Hooks <component visibility="public” variability="parameter" type="Integer" ident="cylinders"> parameter Integer cylinders = 4; ModelicaParameterHook name value.... class NewEngine extends Engine;.... end NewEngine;.....

April 03, Composition Programs: Mixin ModelicaCompositionSystem cs = new ModelicaCompositionSystem(); ModelicaClass resultBox = cs.createModelicaClass(”Class1.mo.xml”); ModelicaClass firstMixin = cs.createModelicaClass(”Class2.mo.xml”); ModelicaClass secondBox = cs.createModelicaClass(”Result.mo.xml”); resultBox.mixin(firstMixin); resultBox.mixin(secondMixin); resultBox.print();

April 03, Composition Program: Input class CelestialBody ``Celestial Body'' Real mass; String name; constant Real g = 6.672e-11; parameter Real radius; end CelestialBody;

April 03, Composition Program ModelicaCompositionSystem cs = new ModelicaCompositionSystem(); ModelicaClass bodyBox = cs.createModelicaClass(``Body.mo.xml''); ModelicaClass celestialBodyBox = cs.createModelicaClass(``Celestial.mo.xml''); ModelicaElement extractedPart = celestialBody.findHook(``extract'').getValue(); celestialBody.findHook(``extract'').bind(null); bodyBox.append(extractedPart); bodyBox.print(); celestialBody.findHook(``superclass'').bind(``Body''); celestialBody.print();

April 03, Composition Programs: Result class Body ``Generic Body'' Real mass; String name; end Body; class CelestialBody ``Celestial Body'' extends Body; constant Real g = 6.672e-11; parameter Real radius; end CelestialBody;

April 03, Conclusions and Future Work  ModelicaXML+Compost  a start in providing better tools for Modelica language  Future Work  refine the Modelica+Compost extension  more composition operators  validation of composition using OpenModelica compiler  automatic generation of Modelica component model from the Modelica ontology

April 03, End Thank you! Questions?

April 03, ModelicaXML and Compost  ModelicaXML   Compost 

April 03, Software Composition Workshop 2004, Barcelona Components Transformation and Composition Sagrada Familia