The Functional Mockup Interface for Tool independent Exchange of Simulation Models Torsten Blochwitz (ITI), Martin Otter (DLR-RM) M. ArnoldUniversity of.

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

D ARMSTADT, G ERMANY - 11/07/2013 A Framework for Effective Exploitation of Partial Reconfiguration in Dataflow Computing Riccardo Cattaneo ∗, Xinyu Niu†,
MiL Testing using TTCN-3: Concepts and Case Study Marcus Mews, Technical University of Berlin * Jaroslav Svacina, Fraunhofer FIRST.
A Discrete Adjoint-Based Approach for Optimization Problems on 3D Unstructured Meshes Dimitri J. Mavriplis Department of Mechanical Engineering University.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
MotoHawk Training Model-Based Design of Embedded Systems.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
CHEP04 - Interlaken - Sep. 27th - Oct. 1st 2004T. M. Steinbeck for the Alice Collaboration1/27 A Control Software for the ALICE High Level Trigger Timm.
ASP.NET Programming with C# and SQL Server First Edition
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
A Library for Synchronous Control Systems in Modelica Martin Otter Bernhard Thiele Hilding Elmqvist DLR Dassault Systèmes Institute of System Dynamics.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
MSR AG VHDL-AMS, 10/07/00 Requirements, goals, and tasks of MSR Working Group VHDL-AMS.
1 Web Based Interface for Numerical Simulations of Nonlinear Evolution Equations Ryan N. Foster & Thiab Taha Department of Computer Science The University.
The Design Discipline.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Enabling Workflow in UPnP Networks Andreas BobekUniversity of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek, Hendrik Bohn,
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
1 LabVIEW DSP Test Integration Toolkit. 2 Agenda LabVIEW Fundamentals Integrating LabVIEW and Code Composer Studio TM (CCS) Example Use Case Additional.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
DEVS Namespace for Interoperable DEVS/SOA
©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.
ITEA International Workshop on Challenges in Methodology, Representation, and Tooling for Automotive Embedded Systems, Berlin 2012 AMALTHEA Tool.
“DECISION” PROJECT “DECISION” PROJECT INTEGRATION PLATFORM CORBA PROTOTYPE CAST J. BLACHON & NGUYEN G.T. INRIA Rhône-Alpes June 10th, 1999.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Systems Analysis and Design in a Changing World, 3rd Edition
The european ITM Task Force data structure F. Imbeaux.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
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.
Functional Mockup Interface 2.0 John Colley 26 th November 2012 Düsseldorf.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
Texas A&M University, Department of Aerospace Engineering AN EMBEDDED FUNCTION TOOL FOR MODELING AND SIMULATING ESTIMATION PROBLEMS IN AEROSPACE ENGINEERING.
SIMULINK-Tutorial 1 Class ECES-304 Presented by : Shubham Bhat.
FMI & Co-simulation Bert Van Acker, Cláudio Gomes and Joachim Denil
I ndustrial Cy ber- Ph ysical Systems October 16, 2015 CyPhySim CyPhySim is an open-source simulator for cyber-physical systems. The.
Cracow Grid Workshop, November 5-6, 2001 Concepts for implementing adaptive finite element codes for grid computing Krzysztof Banaś, Joanna Płażek Cracow.
A PPARC funded project Common Execution Architecture Paul Harrison IVOA Interoperability Meeting Cambridge MA May 2004.
Mantid Stakeholder Review Nick Draper 01/11/2007.
FMI Suite Simulation of Simulator independent Models.
TISC Suite Connects Simulation Tools. User Engine = … Refrigeration Cycle Passengers Compartment Redesign of models in one suitable program A BCoupling.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
Building Industrial grade Modelica compiler
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Linking FMI-based Components with Ptolemy II’s Discrete Event Domain Introduction In the simulation of cyber-physical systems, event driven models with.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Wednesday NI Vision Sessions
SysML and Modelica Integration Working Group Meeting 3/11/09 Peter Fritzson Wladimir Schamai.
SysML and Modelica Integration using FMI\System of Systems March The seventh National Conference INCOSE_IL 2013 System of Systems "SysML and Modelica.
R4.21 – Public Report on "Scilab/Scicos code generation for IFP platform and real-time multicore code generation with SynDEx" Simon Nivault, Yves Sorel.
Databases and DBMSs Todd S. Bacastow January 2005.
ITEA3 Project: ACOSAR Advanced Co-Simulation Open System Architecture
SysML/FMI Etienne BROSSE
Part 3 Design What does design mean in different fields?
A user-friendly front-end for Eviews- based macro-structural models
IP – Based Design Methodology
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Introduction to fmi technology
Software Engineering with Reusable Components
Presented By: Darlene Banta
Introduction to Modelica and FMI
Presentation transcript:

The Functional Mockup Interface for Tool independent Exchange of Simulation Models Torsten Blochwitz (ITI), Martin Otter (DLR-RM) M. ArnoldUniversity of Halle C. Bausch, M. MonteiroAtego Systems GmbH C. Clauß, S. WolfFraunhofer IIS EAS, Dresden H. Elmqvist, H. OlssonDassault Systèmes, Lund A. Junghanns, J. Mauss QTronic, Berlin T. NeidholdITI, Dresden, D. NeumerkelDaimler AG, Stuttgart J.-V. Peetz Fraunhofer SCAI, St. Augustin Modelica 2011, 21 st,22 nd March

Modelica 2011: Functional Mockup Interface Slide 2 Functional Mock-up Interface (FMI) - Motivation (1) Problems / Needs Component development by supplier Integration by OEM Many different simulation tools ? supplier1supplier2supplier3supplier4supplier5 OEM supplier1 tool 1 supplier2 supplier3 supplier4 supplier5 tool 2 tool 3 tool 4 tool 5 FMI OEM Solution Reuse of supplier models by OEM: DLL (model import) and/or Tool coupling (co-simulation) Protection of model IP of supplier ! supplier1 supplier2 supplier3 OEM Added Value Early validation of design Increased process efficiency and quality slide from Nick Suyam, Daimler (adapted)

Modelica 2011: Functional Mockup Interface Slide 3 FMI - Motivation (2) No standards available for: Model interface based on C or binaries Co-simulation between simulation tools Lots of proprietary interfaces: Simulink: S-function Modelica: external function, external object interface QTronic Silver: Silver-Module API SimulationX: External Model Interface NI LabVIEW: External Model Interface, Simulation Interface Toolkit Simpack: uforce routines ADAMS: user routines …

Modelica 2011: Functional Mockup Interface Slide 4 FMI – Overview The FMI development is part of the ITEA2 MODELISAR project ( ; 29 partners, Budget: 30 Mill. €) FMI development initiated, organized and headed by Daimler AG Improved Software/Model/Hardware-in-the-Loop Simulation, of physical models from different vendors. Open Standard 14 Automotive Use-Cases to evaluate FMI. Engine with ECU Gearbox with ECU Thermal systems Automated cargo door Chassis components, roadway, ECU (e.g. ESP) etc. functional mockup interface for model exchange and tool coupling courtesy Daimler

Modelica 2011: Functional Mockup Interface Slide 5 FMI - Main Design Idea (1) FMI for Model Exchange: Version 1.0 released in January 2010 FMI for Co-Simulation: Reuses as much as possible from FMI for Model Exchange standard Version 1.0 released in October 2010 Tool Solver FMU Model Tool FMU Model Solver

Modelica 2011: Functional Mockup Interface Slide 6 FMI - Main Design Idea (2) A component which implements the interface is called Functional Mockup Unit (FMU) Separation of Description of interface data (XML file) Functionality (C code or binary) A FMU is a zipped file (*.fmu) containing the XML description file and the implementation in source or binary form Additional data and functionality can be included Interface specification:

Modelica 2011: Functional Mockup Interface Slide 7 XML schema (.xsd) defined by the FMI specification

Modelica 2011: Functional Mockup Interface Slide 8 FMI XML Schema Information not needed for execution is stored in one xml-file: Complex data structures give still simple interface. Reduced overhead in terms of memory. Variable names and attributes Definition of display units Definition of type defaults Default stop time, tol. etc. Tool specific data

Modelica 2011: Functional Mockup Interface Slide 9 Example <fmiModelDescription fmiVersion="1.0" modelName="Modelica.Mechanics.Rotational.Examples.Friction" modelIdentifier="Modelica_Mechanics_Rotational_Examples_Friction" guid="{8c4e810f-3df3-4a fa3c9f9e0}"... numberOfContinuousStates="6" numberOfEventIndicators="34"/> <ScalarVariable name="inertia1.J" valueReference=" " description="Moment of inertia" variability="parameter">... modelDescription.xml

Modelica 2011: Functional Mockup Interface Slide 10 C-Interface Two C-header files: Platform dependent definitions (basic types): C-functions: 18 core functions 6 utility functions no macros C-function name: _, e.g. Drive_fmiSetTime"

Modelica 2011: Functional Mockup Interface Slide 11 C-Interface Instantiation: fmiComponent fmiInstantiateXXX(fmiString instanceName,...) Returns an instance of the FMU. Returned fmiComponent is a parameter of the other interface functions. It is of type void* for the master. The FMU uses it to hold all necessary information. Functions for initialization, termination, destruction Support of real, integer, boolean, and string inputs, outputs, parameters Set and Get functions for each type: fmiStatus fmiSetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]) fmiStatus fmiSetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]) Identification by valueReference, defined in the XML description file for each variable

Modelica 2011: Functional Mockup Interface Slide 12 FMI for Model Exchange (1) Import and export of input/output blocks (FMU – Functional Mock-up Unit) described by differential-, algebraic-, discrete equations, with time-, state, and step-events FMU can be large (e.g variables) FMU can be used in an embedded system (small overhead) FMUs can be connected together

Modelica 2011: Functional Mockup Interface Slide 13 For example: 10 input/output signals (u/y) for connection and internal variables (v) for plotting FMI for Model Exchange Signals of an FMU

Modelica 2011: Functional Mockup Interface Slide 14 // Set input arguments fmiSetTime(m, time); fmiSetReal(m, id_u1, u1, nu1); fmiSetContinuousStates(m, x, nx); // Get results fmiGetContinuousStates(m, derx, nx); fmiGetEventIndicators (m, z, nz); Example:

Modelica 2011: Functional Mockup Interface Slide 15 Co-Simulation Definition: Coupling of several simulation tools Each tool treats one part of a modular coupled problem Data exchange is restricted to discrete communication points Subsystems are solved independently between communication points Motivation: Simulation of heterogeneous systems Partitioning and parallelization of large systems Multirate integration Hardware-in-the-loop simulation

Modelica 2011: Functional Mockup Interface Slide 16 FMI for Co-Simulation Master/slave architecture Considers different capabilities of simulation tools Support of simple and sophisticated coupling algorithms: Iterative and straight forward algorithms Constant and variable communication step size Allows (higher order) interpolation of continuous inputs Support of local and distributed co-simulation scenarios FMI for Co-Simulation does not define: Co-simulation algorithms Communication technology for distributed scenarios

Modelica 2011: Functional Mockup Interface Slide 17 FMI for Co-Simulation Signals of an FMU for Co-Simulation Inputs, outputs, and parameters, status information Derivatives of inputs, outputs w.r.t. time can be set/retreived for supporting of higher order approximation u y Enclosing Model v Solver x t External Model (FMU instance) Co-Simulation Slave (FMU instance) t Model Solver Co-Simulation Master t 0, p

Modelica 2011: Functional Mockup Interface Slide 18 FMI for Co-Simulation C-Interface Execution of a time step: fmiStatus fmiDoStep(fmiComponent c, fmiReal currentCommunicationPoint, fmiReal communicationStepSize, fmiBoolean newStep) communicationStepSize can be zero in case of event iteration newStep = fmiTrue if last step was accepted by the master It depends on the capabilities of the slave which parameter constellations and calling sequences are allowed Depending on internal state of the slave and the function parameters, slave can decide which action is to be done before the computation Return values are fmiOK, fmiDiscard, fmiError, fmiPending Asynchronous execution is possible

Modelica 2011: Functional Mockup Interface Slide 19 FMI for Co-Simulation Use Case Co-Simulation stand alone: Co-Simulation tool: Process Executable Library (DLL) Slave ModelSolver Slave ModelSolver Master Process 1 Executable Library (DLL) Process 2 Simulation tool Slave ModelSolver FMI Wrapper Master

Modelica 2011: Functional Mockup Interface Slide 20 FMI for Co-Simulation Use Case Distributed co-simulation scenario Data exchange is handled by a communication layer which is implemented by a special FMI wrapper Master and slave utilize FMI for Co-Simulation only

Modelica 2011: Functional Mockup Interface Slide 21 Tools supporting FMI (from FMI web site)

Modelica 2011: Functional Mockup Interface Slide 22 Conclusions and Outlook FMI has a high potential being widely accepted in the CAE world: Initiated, organized and pushed by Daimler to significantly improve the exchange of simulation models between suppliers and OEMs. Defined in close collaboration of different tool vendors. Industrial users were involved in the proof of concept. FMI can already be used with several Modelica tools, Simulink, multi- body and other tools. FMI is maintained and further developed: Unification and harmonization of FMI for Model Exchange and Co ‑ Simulation (FMI 2.0) within Modelisar. Improved handling of time events. Clean handling of changeable parameters. Efficient interface to Jacobian matrices.

Modelica 2011: Functional Mockup Interface Slide 23 Acknowledgments FMI initiated and organized:Daimler AG (Bernd Relovsky,....) Head of FMI development:Dietmar Neumerkel (Daimler AG) Head of FMI-for-Model-Exchange:Martin Otter (DLR-RM) FMI-for-Model-ExchangeTorsten Blochwitz (ITI) Core-Design by:Hilding Elmqvist (Dassault Systèmes -Dynasim) Andreas Junghanns (QTronic) Jakob Mauss (QTronic) Hans Olsson (Dassault Systèmes -Dynasim) Martin Otter (DLR-RM) Other MODELISAR contributors:Ingrid Bausch-Gall, Bausch-Gall GmbH Alex Eichberger, SIMPACK AG Rainer Keppler, SIMPACK AG Gerd Kurzbach, ITI GmbH Carsten Kübler, TWT Johannes Mezger, TWT Thomas Neidhold, ITI GmbH Dietmar Neumerkel, Daimler AG Peter Nilsson, Dassault Systèmes-Dynasim Antoine Viel, LMS International Daniel Weil, Dassault Systèmes Other contributors:Johan Akesson, Lund University Joel Andersson, KU Leuven Roberto Parrotto, Politecnico di Milano

Modelica 2011: Functional Mockup Interface Slide 24 Acknowledgments FMI for Co-Simulation Martin Arnold, University Halle, Germany Core-Design by: Constanze Bausch, Atego Systems GmbH, Wolfsburg, Germany Torsten Blochwitz, ITI GmbH, Dresden, Germany Christoph Clauß, Fraunhofer IIS EAS, Dresden, Germany Manuel Monteiro, Atego Systems GmbH, Wolfsburg, Germany Thomas Neidhold, ITI GmbH, Dresden, Germany Jörg-Volker Peetz, Fraunhofer SCAI, St. Augustin, Germany Susann Wolf, Fraunhofer IIS EAS, Dresden, Germany Contributors:Jens Bastian, Fraunhofer IIS EAS, Dresden, Germany Christoph Clauß, Fraunhofer IIS EAS, Dresden, Germany Dietmar Neumerkel, Daimler AG, Böblingen, Germany Martin Otter, DLR, Oberpfaffenhofen, Germany Tom Schierz, University Halle, Germany Wolfgang Trautenberg, Simpack AG, Germany Klaus Wolf, Fraunhofer SCAI, St. Augustin, Germany Partially funded by:BMBF, VINNOVA, DGCIS, organized by ITEA2