WO2014113751A1 - Functional debugging of equation-based languages - Google Patents

Functional debugging of equation-based languages Download PDF

Info

Publication number
WO2014113751A1
WO2014113751A1 PCT/US2014/012181 US2014012181W WO2014113751A1 WO 2014113751 A1 WO2014113751 A1 WO 2014113751A1 US 2014012181 W US2014012181 W US 2014012181W WO 2014113751 A1 WO2014113751 A1 WO 2014113751A1
Authority
WO
WIPO (PCT)
Prior art keywords
functional
simulation
model
design
functions
Prior art date
Application number
PCT/US2014/012181
Other languages
French (fr)
Inventor
Arquimedes Martinez Canedo
Ling Shen
Original Assignee
Siemens Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Corporation filed Critical Siemens Corporation
Publication of WO2014113751A1 publication Critical patent/WO2014113751A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Definitions

  • the present invention is related to tools and methods for obtaining a system-level understanding during product design. More in particular it relates to methods and systems for equation-based languages - a language intended to mean a computer language - to facilitate a system-level understanding of complex cyber-physical processes.
  • CPS cyber-physical systems
  • CPS are often characterized by the use of dynamic architectures (e.g. based upon the availability of elements such as sensors) that produce online, emergent, and on-the-fly unprecedented behavior. Therefore, CPS design, analysis, validation necessitates a new systems science that encompasses both physical and computational aspects.
  • Object oriented equation-based languages are often used to describe CPS because they can be used to model the behavior of both continuous (physical-) and discrete (cyber-) processes. To facilitate physical modeling in terms of energy conservation principles, these languages are implemented as declarative programming languages that describe what the goal is.
  • a functional debugger is a design tool that allows product designers to functionally understand the complex underlying cyber-physical processes of a system. Additionally, functional debugging is seen as a complementary and orthogonal approach to existing debugging techniques that are employed during detail design. It is also believed that functional debugging can be used as a tool to consolidate 3D CAD and CAE or Computer Aided Engineering including kinematics, flow simulation, thermal analysis, and structural analysis with system-level simulation models.
  • systems and methods are provided for functional debugging of a simulation with equation based languages of a system under design.
  • a method for functional debugging of a system under design comprising a processor functionally editing in a visual programming environment a functional model that describes one or more physical functions that are to be performed by the system under design, the processor synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in an equation-based language, the processor generating a mapping model that associates the one or more functions with one or more executable simulation components in the corresponding simulation model and the processor running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
  • a method is provided, wherein the functional editing is performed with a block- flow chart program wherein a block is adapted to transforming an input value into an output value.
  • a method is provided, wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor. 10014] In accordance with yet a further aspect of the present invention a method is provided, wherein the transforming is defined by a formal syntax implemented on the processor.
  • a method is provided, wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
  • mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model.
  • a method is provided, further comprising: the processor querying simulation variables.
  • a functional debugger for a system under design comprising: a memory enabled to store data and instructions, a processor enabled to execute instructions retrieved from the memory to perform the steps of functional editing in a visual programming environment to author a functional model that describes one or more physical functions that are to be performed by the system under design, synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in an equation- based language, generating a mapping model that associates the one or more physical functions with one or more executable simulation components in the corresponding simulation model and running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
  • a functional debugger for a system under design wherein the functional editing is performed with a block-flow chart program wherein a block is adapted to transforming an input value into an output value.
  • a functional debugger for a system under design wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor.
  • a functional debugger for a system under design wherein the transforming is defined by a formal syntax implemented on the processor.
  • a functional debugger for a system under design wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
  • a functional debugger for a system under design wherein the simulation model is implemented with a declarative equation-based language.
  • a functional debugger for a system under design wherein the one or more physical functions are decomposed into sub-functions.
  • a functional debugger for a system under design wherein the simulation model is implemented with an imperative equation-based language.
  • mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model.
  • a functional debugger for a system under design is provided, further comprising: the processor querying simulation variables.
  • a functional debugger for a system under design wherein the processor simulates the system under design synchronized with a real-time performance of the system under design realized with physical components.
  • a functional debugger for a system under design is provided, wherein a time dependent performance indicator of the simulated system under design is calculated.
  • a functional debugger for a system under design wherein the simulation model is implemented with a declarative or imperative equation-based language.
  • a functional debugger for a system under design wherein the one or more physical functions are decomposed into sub-functions.
  • a functional debugger for a system under design is provided, further comprising an acausal or causal execution of the one or more physical functions.
  • a method for functional debugging of a system under design comprising: a processor functionally editing in a visual programming environment a functional model that describes one or more physical functions that are to be performed by the system under design, the processor synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in a declarative or imperative equation-based language, the processor generating a mapping model that associates the one or more functions with one or more executable simulation components in the corresponding simulation model and the processor running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
  • FIG. 1. is a diagram that illustrates aspects of the present invention
  • FIG. 2 illustrates a syntax of elements in a visual editing environment in accordance with various aspects of the present invention
  • FIGS. 3A, 3B, 3C and 3D illustrate a functional model in accordance with various aspects of the present invention
  • FIG. 4 illustrates a functional model in accordance with various aspects of the present invention
  • FIGS. 5 and 6 illustrate a relation between a functional model and an equation based language in accordance with various aspects of the present invention
  • FIG. 7 illustrates control and data flow interactions in accordance with various aspects of the present invention
  • FIG. 8 illustrates another functional model in accordance with various aspects of the present invention.
  • FIGS. 9A, 9B, 9C, 9D, 9E, 9F, 9G and 9H illustrate yet another functional model in accordance with various aspects of the present invention
  • FIG. 10 illustrates a functional model in accordance with various aspects of the present invention
  • FIG. 1 1 illustrates a processor based system in accordance with one or more aspects of the present invention
  • FIG. 12 illustrates a table with descriptions of functions in accordance with various aspects of the present invention.
  • FIG. 13 illustrates a menu in accordance with at least one aspect of the present invention
  • FIG. 14 illustrates functions and corresponding behaviors in accordance with various aspects of the present invention
  • FIGS. 15, 16 and 17 illustrate a mapping in accordance with various aspects of the present invention.
  • FIG. 18 illustrates an interface in accordance with various aspects of the present invention.
  • a new debugging technique suitable for the concept design phase is provided. Based on the observation that functional models describe what the system is supposed to do, and models in equation-based languages describe what the cyber-physical process is, a functional debugging interface is provided that helps users understand complex processes in a high-level of abstraction.
  • the herein provided implementation couples a functional model (functionality) with an underlying simulation model (behavior). This enables, for the first time it is believed, a dynamic functional representation of the system that serves as a quick validation tool for new design concepts.
  • the functional debugging technique can be integrated into the systems engineering process by reusing functional and simulation components and allowing the identification of system-level problems early in the design.
  • aspects of the present invention are:
  • a model-based debugging methodology referred to as functional debugging, that interprets the results of simulation models written in equation-based languages in a high-level manner and allows the identification of system-level errors and integration problems early in the design cycle.
  • Equation-based languages such as Bond Graphs, Modelica® and SimscapeTM have been developed to provide the syntax and semantics for physical modeling.
  • Most equation-based languages are declarative programming languages that describe what the program should accomplish. It is the responsibility of the compilers and optimizers to transform equation based declarative programs into an imperative program that specifies how to accomplish the goal as most numerical solvers require an imperative program to simulate the dynamic behavior of the system.
  • Static techniques focus on tracing the complex process of symbolically transforming declarative code into highly optimized imperative code to provide explanations regarding problematic code.
  • Novel and innovative static debugging techniques using graph theoretic methods have been developed as described in earlier above mentioned "[9] Peter Bunus. An empirical study on debugging equation based simulation models. In Proceedings of the 4 th International Modelica Conference, pages 281 - 288, 2005.”
  • Dynamic techniques are similar to classical debugging and focus on interactively inspecting the imperative parts of the model that relate to functions and algorithms typically used to describe control code and embedded software. Hybrid approaches as described in earlier above mentioned "[44] Adrian Pop, Martin Sjolund, Adeel Asghar, Peter Fritzson, and Francesco Casella. Static and dynamic debugging of Modelica® models. In Proceedings of the 9th International Modelica Conference, pages 443 - 454, 2012” that combine static and dynamic methods are the most advanced debugging techniques for equation-based languages.
  • a debugging technique is provided herein in accordance with an aspect of the present invention that deals with the functional aspects of equation-based languages and presents to the user a high-level interface to complex cyber-physical processes to facilitate the conceptual design space exploration of complex products.
  • high-level debugging approach as provided herein and state-of-the-art low-level debugging techniques are complementary in a systems engineering context.
  • Functional modeling is a systems engineering activity where products are described in terms of their functionalities and the functionalities of their subsystems. Fundamentally, a functional model reflects what the system does and, therefore, we observe that functional models are strongly related to declarative equation-based languages. Because a Functional Model decouples the design intentions (functions) from behavior and/or structure (logical components,), it can be used as the basis for communication among engineers of different disciplines. (Logical components (and models) are often used as the guidelines for the creation of simulation models). Functional modeling reflects the design intentions that are typically driven by the product requirements and the human creativity. Functional modeling is acknowledged by many researchers and practitioners to be a subjective process as described in earlier above mentioned "[17] M.S. Erden, H. Komoto, T.J.
  • a high-level debugging technique suitable for early concept design phases that uses functional modeling as a debugging interface for equation-based languages is provided herein in accordance with an aspect of the present invention.
  • Functional debugging of equation based languages is defined herein as the mechanism by which states and variables of a running simulation are visualized through a functional model to create an implementation independent understanding of a cyber-physical process. It is illustrated in FIG. 1 that a functional debugger relies on three components : a functional editor, a simulation model synthesizer, and a simulation runtime (simulation run- time and simulation engine are used interchangeably herein.)
  • the Functional Debugging Architecture as illustrated in FIG. 1 includes three components: a functional editor, a synthesizer, and a simulation runtime. Different models are necessary for the functional debugger to relate functions to behavior.
  • the functional editor is a visual programming environment for users to author functional models that describe what the system does.
  • the functional editor is also used as the debugger user interface that allows users to visualize and interact with the simulation in a high- level of abstraction.
  • One implementation uses Microsoft® Visio® as the functional editor.
  • Visio® is defined herein as being a flow chart or a diagramming computer program.
  • the simulation model synthesizer is a computer program (automatic) or a simulation expert (manual) that takes a functional model as an input and generates a corresponding simulation model that realizes or embodies the system's functionality.
  • This simulation model provides the executable semantics to the functional model.
  • the synthesizer also generates a mapping model that associates functions to simulation components.
  • the simulation runtime simulates the simulation model and calculates the dynamic behavior of the system. It is important to note that different simulation runtimes may be used to simulate the same functional model.
  • the thermal-vibration facet of a functional model may be simulated using a finite element analysis solver, and its ID electromechanical facet may be simulated using Modelica® or SimscapeTM.
  • the declarative equations are located in the simulation model.
  • the functional debugger takes a functional model, a simulation model, and a mapping model as inputs.
  • the mapping model specifies how functions and flows in the functional model associate to simulation components and effort/flow variables in the simulation model. This information is used during debugging (dotted lines in FIG. 1) to relate the simulation output to visualization in the functional model, and to relate user interaction debugging commands to the running simulation.
  • the functional debugger should be capable of controlling a simulation through pausing, stopping, resuming, advancing time to the next integration step, and querying simulation variables. A description of the implementation of the functional debugger architecture will be provided.
  • a functional model can be also expressed textually, or as a design matrix as described in earlier above mentioned "[31] Oregon state university, design engineering lab, design repository. ⁇ URLhttp://designengineeringlab.org/>", it is believed that a visual functional editor improves the productivity of designers and a herein presented implementation provides an editor based on Microsoft® Visio® ActiveX® control that can be easily embedded in other systems engineering tools. Visio® has been extended herein with a C# implementation to improve the user-interaction and to manage the communication and data transfer between the displayed interface and the simulation runtime. Accordingly, an enhanced flow chart computer program is provided in accordance with an aspect of the present invention.
  • the enhanced flow chart computer program is capable of defining feedback loops, building a hierarchical definition of functional models at various levels of detail, interactively displaying energy flows within the system, defining test cases and breakpoints for debugging in terms of a visual representation.
  • the functional modeling types are provided as shapes in a Visio® stencil as shown in a table in FIG. 2.
  • a de-facto functional modeling syntax was used including a block-flow diagram where blocks represent functions (process) that transform inputs into outputs (flows) as described in earlier above mentioned "[21] Julie Hirtz, Robert B. Stone, Simon Szykman, Daniel A. McAdams, and Kristin L. Wood.
  • a functional basis for engineering design Reconciling and evolving previous efforts.
  • a functional model can be refined into more specific descriptions in a process referred to as functional decomposition. This is illustrated in a functional model of an automobile as shown in FIG. 3 A with diagram 301, FIG. 3B with diagram 302, FIG. 3C with diagram 303 and FIG. 3D with diagram 304. These diagrams combined, as illustrated in FIG. 4, illustrate the functional model of an internal combustion engine car showing the functions associated with the main powertrain subsystems (in parentheses). Syntactically and semantically, the functional modeling approach handles feedback loops.
  • the "transport people” function can be decomposed into sub-functions such as “Store Chemical Energy” and “Convert Chemical Energy to Rotational Mechanical Energy” implying the design of an internal combustion engine car.
  • sub-functions can be decomposed to create a functional decomposition tree where the root node represents the top- level function and the leaf-nodes represent elementary functions such as "Transfer Translational Mechanical Energy (TME)".
  • a goal of the simulation model synthesis is to find components that fulfill the functionalities in a functional model.
  • the synthesis can be performed manually by a simulation expert, or automatically by a synthesis tool.
  • Automatic synthesis of functional models to simulation models is challenging because one function may be realized by multiple and different components, and one component may realize multiple functions. In other words, multiple valid simulation models exist for a given functional model, but only a few are useful for modeling the actual system.
  • Engineering rules are analogous to machine description files in a traditional compiler. Engineering rules and simulation component libraries are the means for capturing engineering knowledge.
  • a simulation model contains components with well defined interfaces, and each component may contain equations, variables, and algorithms.
  • the functional debugger In order to create a correct mapping from functions to simulation components, the functional debugger must associate functions and flows in a functional model with components and variables in a simulation model.
  • the output of an engineering rule is the mapping of functions and flows to components and variables.
  • manual mapping requires the designer to make these relations by looking at both the functional and the simulation models and deciding how the two models relate. Either way, the functional debugger needs access to functional models, simulation models, and the mapping model.
  • Modelica® uses potential flow variables as described in earlier above mentioned "[33] Modelica Association, Modelica. ⁇ URLhttps://modelica.org/>”
  • Bond Graphs use effort-flow variables as described in earlier above mentioned "[12] F. E. Cellier. Continuous System Modeling. Springer-Verlag, 1991 "
  • SimscapeTM uses across-through variables as described in earlier above mentioned "[28] Math Works. Simscape. ⁇ URLhttp://www.mathworks.com/products/simscape/>.”
  • Table 500 in FIG. 5 and table 600 in FIG. 6 which were adapted from "[56] Robert B. Stone and Kristin L. Wood. Development of a functional basis for design. Journal of Mechanical Design, 122(4):359-370, 2000" show the mapping between flow types (e.g. electrical, magnetic, etc. in Column 2) in a functional model to conjugate variables (Column 3) in equation-based simulation languages. The last two Columns show some of the system-level equation-based languages (e.g. Modelica®) and domain specific equation-based languages (e.g. CAD/CAE) that are typically used to simulate physical systems.
  • columns 4 and 5 refer to the identification numbers of references mentioned earlier above.
  • the functional debugger implementation uses a data structure referred to as the Mapping Model (See FIG. 1) to read the mapping information of functions and flows (Functional Model) to components and conjugate variables (Simulation Model).
  • Mapping Model See FIG. 1
  • mappings are from function(s)-to-component(s) and flow(s)-to-variable(s)
  • other combinations are also possible including flow(s)-to-component(s) and component(s)-to-variable(s).
  • a mapping Model See FIG. 1
  • mappings are from function(s)-to-component(s) and flow(s)-to-variable(s)
  • other combinations are also possible including flow(s)-to-component(s) and component(s)-to-variable(s).
  • a mapping Model See FIG. 1
  • a simulation runtime responsible for executing the simulation models is the last component required for functional debugging. Although a simulation model is heavily transformed and optimized into a mathematical model for integration with numerical methods, the variables remain visible during simulation. Using the mapping model, the functional debugger can query the variables' status and values during simulation. From the functional debugging perspective, there are two important requirements for the simulation runtime.
  • the simulation runtime in order to facilitate a natural human-computer interaction in the functional debugger, the simulation runtime must allow the synchronization of the simulation time with the real (human) time. Whenever the simulation time is faster than the real time, the simulation runtime must delay the execution of the simulation in order to synchronize the two times. In case that the simulation time is slower than the real time, the simulation runtime can adopt execution strategies similar to the ones used in hardware -in-the-loop simulations including fixed-step size solvers, loop tearing, or iterative limits.
  • the second requirement demands the simulation runtime to be programmatically controlled by the functional debugger in order to start, pause, stop, and proceed to the next iteration step during the simulation.
  • the functional debugger as provided in accordance with an aspect of the present invention uses Wolfram's SystemModelerTM as described in earlier above mentioned "[64] Wolfram. SystemModelerTM. ⁇ URLhttp://www. wolfram.com/system-modeler/>" as the simulation runtime and the next section provides details of the implementation.
  • the functional debugger contains three applications as shown in FIG. 7.
  • the Functional Editor or Functional Debugger GUI (left) handles the user interaction events such as breakpoints and visualization requests on specific functions and flows.
  • This C# application extends the functionality of Visio® through the Visio Object Model as described in earlier above mentioned "[32] Microsoft®. Visio®. ⁇ URLhttp://msdn.microsoft.com>” and allows the functional debugging specific commands and visualization such as stop, pause, restart, and perform the next iteration step; load functional, simulation, and mapping models; detect user events to debug specific functions and flows and to zoom in/out in the functional model hierarchy; manipulate the look & feel of Visio® shapes representing the functional model to convey points of interest during the simulation.
  • the simulation runtime as illustrated in FIG. 7 uses an application-specific TCP protocol that allows a client application to control the simulation and set/receive simulation data.
  • this application streams data over TCP to the client after every integration time step.
  • this application can be configured to maintain the simulation time and the real-time synchronized.
  • a simulation of a system under design is executed under the functional debugger to provide performance results in real-time. That is: the simulated system under design runs as it would when implemented with physical components that are now simulated.
  • a simulation of a system under design is performed at a different speed than real-time. For instance the system under design is simulated under a much faster clock, allowing the simulation for instance to go quickly through different simulation conditions.
  • a system under design is simulated at a slower rate than real-time, allowing for instance an assessment of different concurrent or near-concurrent effects that would be difficult to distinguish in real-time.
  • a user determines a clock-speed of a simulation relative to real-time performance.
  • a simulation of a system under design is performed at a maximum clock- speed allowed by the system on which it is simulated.
  • the functional debugger application as illustrated in FIG. 7 is the intermediary between the GUI and the simulation runtime. Its main responsibility is to retrieve data from the simulation and map it to the functional model in the GUI, and also to control the simulation according to the user commands.
  • each component of the functional debugger has an analogous technology that could be used to provide the same functionality.
  • the functional editor could be implemented in SysML.
  • Open source Modelica® runtimes as described in "[40] OpenModelica. ⁇ URLhttps://www.openmodelica.org/>” and "[22] JModelica in ⁇ http://www.jmodelica.org/>” can be used as the simulation runtime.
  • FMI as described in "[6] T. Blochwitz, M. Otter, M. Arnold, C. Bausch, C. Clauss, H. Elmqvist, A. Junghanns, J. Mauss, M. Monteiro, T. Neidhold, D. Neumerkel, H. Olsson, J.-V. Peetz, and S. Wolf.
  • the functional mockup interface for tool independent exchange of simulation models In Proceedings of the 8th Modelica Conference, pages 105 - 114, 2011” can be used as the communication and data transfer mechanism between the functional editor and the simulation runtime.
  • the functional debugger provided herein in accordance with an aspect of the present invention is evaluated with a common scenario in automotive development.
  • automotive companies invest in the development of architectures that can be reused to produce different models of cars within and across brands. Therefore, it is natural that even radical new designs, such as an eCar, attempt to reuse an existing architecture and a set of compatible cyber-physical components.
  • Functional models are used in this type of scenarios to understand the impact of major architectural changes in the overall design.
  • An architecture is, after all, the allocation of functions (or functionality) to specific cyber-physical (logical) components (e.g. a gearbox, a wheel, an ECU).
  • One objective is to demonstrate how the functional debugger supports a realistic conceptual design scenario where an eCar is developed while reusing as much as possible, components of an existing architecture.
  • FIGS. 3A-3D and FIG. 4 A baseline functional model of an internal combustion engine car is first created and shown in FIGS. 3A-3D and FIG. 4.
  • This baseline functional model describes the functionality of the automotive driveline industrial example in Modelica® language published in "[65] Wolfram. Systemmodeler. ⁇ URLhttp://www.wolfram.com/system-modeler/industry- examples/automotive-transportation/>.”
  • the mapping of functions-to-components is indicated by the parentheses in FIGS. 3A-3D and this represents the baseline architecture for the scenario of the eCar example.
  • FIG. 8 illustrates changes to the functional model in FIGS. 3A-3D and FIG. 4 to convey the new design intentions of an e-Car. Fuel containing chemical energy is replaced with electrical energy. This implies the use of a Battery and an Electric DC Motor instead of a
  • This workflow shows that a simple change in the functional model can be used to generate new simulation models that allow the designer to understand and quantify how a change in functionality of an existing architecture has an impact in the overall system-level design.
  • the relation of functions to components, or mapping model was created by the engineering rules and the analogy between functions and system-level equation-based languages discussed in the table of FIG. 5. Therefore, at this point in time, the three input models to the functional debugger are available: an eCar functional model (Visio), a simulation model (Modelica®), and the mapping model (data structure described earlier above).
  • the next step is to run the eCar simulation model under the functional debugger to identify any possible system-level problems created by the architectural change.
  • FIGS. 9A, 9B, 9C, 9D, 9E, 9F, 9G and 9H and FIG. 10 illustrate the functional debugger under four modes of operation:
  • FIG. 10 shows how all diagrams combined represent the 4 operational stages of the eCar.
  • the functional debugger shows that the main energy transfer in the power train, indicated by the direction of the flows, is from left-to-right starting from the "convert electrical energy to rotational mechanical energy".
  • the functional debugger helps a non-expert to understand that rotational mechanical energy (RME) is functionally correct.
  • RME rotational mechanical energy
  • the functional debugger shows that there is an equilibrium of energy transfer in the powertrain and this is indicated by the bi-directional flows.
  • the functional debugger shows that RME flow is from right-to-left.
  • this functional debugging snapshot shows that the function being performed by the "Electric Motor” component changed to "Convert RME to electrical energy".
  • FIGS. 9A-9H illustrate how the functional debugger can help the concept level designer to create a mental high-level picture of the system and conceptually understand how a functional and architectural change affects the rest of the system. It also allows them to visualize potential new innovations such as regenerative breaking, and visualize the energy, material, and signal flows through the system.
  • Functional debugging can be easily integrated into the current systems engineering processes and reuse the existing and legacy simulation, functional, and architectural models. Another important feature is that functional debugging allows non-technical person to easily understand the cyber-physical process at the functional or conceptual level.
  • condition dependent indicators such as depending on temperature, wind force
  • time dependent indicators such as acceleration by calculations from generated numbers.
  • gauges and meters are provided that visualize the calculated indicators such as car speed, acceleration, motor RPMs, drain status of the battery, temperature of the battery and/or engine and the like in real-time corresponding with a real-life performance of the system under design.
  • the problem is in the control gains in the controller software at the transmission control unit, and it required an expert to use the existing debugging techniques to find the solution.
  • functional debugging is used early in the concept design phase, and its purpose is to communicate potential problems to the systems engineer using a high-level of abstraction (functionality) rather than a low-level of abstraction (behavior), it is clear that it enhances the systems engineering and it is complementary and orthogonal to the existing debugging techniques for equation-based languages.
  • a new methodology was provided herein in accordance with an aspect of the present invention referred to as functional debugging that builds a functional view of an underlying cyber-physical process described in equation-based languages.
  • the implementation couples functions and flows in functional models with conjugate variables in simulation models, and this mapping enables a high-level view of what the system does.
  • the functional debugger can be used as a rapid prototyping tool for new concepts to identify system-level integration problems.
  • functional debugging can be a valuable tool for an iterative design process that involves the coordination of multiple disciplines.
  • functional debugging is compatible with existing low-level debugging techniques for equation-based languages.
  • the methods as provided herein are, in one embodiment of the present invention, implemented on a system or a computer device.
  • steps described herein are implemented on a processor in a system, as shown in FIG. 11.
  • a system illustrated in FIG. 11 and as provided herein is enabled for receiving, processing and generating data.
  • the system is provided with data that can be stored on a memory 1101. Data may be obtained from an input device. Data may be provided on an input 1106. Such data may be engineering data or any other design data that is helpful in an equation based system.
  • the processor is also provided or programmed with an instruction set or program executing the methods of the present invention that is stored on a memory 1102 and is provided to the processor 1103, which executes the instructions of 1102 to process the data from 1101.
  • Data such as design data or any other data provided by the processor can be outputted on an output device 1104, which may be a display to display images or data or a data storage device.
  • the processor also has a communication channel 1107 to receive external data from a communication device and to transmit data to an external device.
  • the system in one embodiment of the present invention has an input device 1105, which may include a keyboard, a mouse, a pointing device, or any other device that can generate data to be provided to processor 1103.
  • the processor can be dedicated or application specific hardware or circuitry. However, the processor can also be a general CPU or any other computing device that can execute the instructions of 1102. Accordingly, the system as illustrated in FIG. 11 provides a system for processing data and is enabled to execute the steps of the methods as provided herein as one or more aspects of the present invention.
  • FIG. 12 illustrates components of the simulation and debugging in accordance with various aspects of the present invention. Items 1201 and 1202 are part of the same table that is broken up to fit on the page. The rows show an item ID number UID, a functional type of function or flow such as a signal. It further describes the simulation component in 1201, such as brake signal for UID is fl5 and the related debugging action in 1202 that defines when to set the brake light to visible.
  • the functions are enabled in the visual programming environment by for instance a drop down or pop-up menu provided in accordance with an aspect of the present invention as illustrated in FIG. 13.
  • the menu when activated by a user allows the user to select a function from a pre-defined vocabulary.
  • a similar type of menu is provided as an aspect of the present invention to select a flow from the vocabulary.
  • FIG. 14 A distinction is made herein between a function and its description, which is usually defined in a domain, and a behavior and its description. This is illustrated in FIG. 14. For instance in an electrical domain a function is to regulate electrical energy. One behavior description in a simulation is an implementation of Ohm's law. A thermal and mechanical domain example are also illustrated in FIG. 14. Another domain that is illustrated is the software domain, wherein a function is to regulate a control signal. The behavior of such regulation in a simulation is described in a conditional "i '/"else" statement. It is noted that in the illustration electrical, thermal, and mechanical are acausal (equal sign represents equality and not assignment), and the software domain is causal (equal sign represents assignment).
  • One aspect of the present invention is the mapping of a function into a realization or behavior that can be simulated on a computer. It is noted that a single function can be mapped to multiple realizations in accordance with an aspect of the present invention.
  • a function 1500 as illustrated in FIG. 15 "Transmit Thermal Energy” has several possible behavioral realizations: conduction, convection and radiation for instance.
  • the system as provided herein in accordance with an aspect of the present invention enables the mapping of a function into at least two behaviors. This is further illustrated in FIG. 15 wherein the function 1500 is mapped into a first behavior 1600 (convection) illustrated as Simulation model A in FIG. 16 and a second behavior 1700 (conduction) illustrated as Simulation model B in FIG. 17.
  • Each simulation component is implemented as a formula (as shown in FIG. 17) or as a computer statement or procedure.
  • FIG. 18 shows examples on how the appearance of the functional model can be modified (colors, direction of arrows, gauges, animations) to convey simulation information. This change can take place dynamically on screen. For instance, FIG. 18 illustrates how a box that can be provided with an alarm color such as red, highlights a function in 1801, while 1802 illustrates how colored arrows can indicate bidirectional or single direction flows. Other indicators, alerts, gauges, meters, indicators, status icons and state variables are fully contemplated.
  • methods in accordance with various aspects of the present invention include a method for functional debugging of a system under design comprising a processor functionally editing in a visual programming environment a functional model that describes one or more physical functions that are to be performed by the system under design, the processor synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in a declarative equation-based language, the processor generating a mapping model that associates the one or more functions with one or more executable simulation components in the corresponding simulation model and the processor running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
  • They further include a method, wherein the functional editing is performed with a block-flow chart program wherein a block is adapted to transforming an input value into an output value.
  • They further include a method, wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor.
  • They also include a method, wherein the transforming is defined by a formal syntax implemented on the processor.
  • They further include a method, wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
  • They further include a method, wherein the simulation model is implemented with a declarative equation-based language.
  • They also include a method, wherein the one or more physical functions are decomposed into sub-functions.
  • They further include a method, further comprising an acausal execution of the one or more physical functions.
  • mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model.
  • methods also include a method, further comprising the processor querying simulation variables.
  • They further include a method, wherein the processor simulates the system under design synchronized with a real-time performance of the system under design realized with physical components.
  • They also include a method, wherein a time dependent performance indicator of the simulated system under design is calculated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Functional debugging of equation-based languages visualizes states and variables of a running simulation through a functional model to create an implementation independent understanding of a cyber-physical process. The functional debugging architecture includes three components: a functional editor, a synthesizer, and a simulation runtime. Functional editing is performed in a visual programming environment to author a functional model of the system under design. A simulation synthesizer applies the functional model to generate a corresponding simulation model and generates a mapping model that associates the one or more functions with one or more executable simulation components. The simulation model using the one or more executable simulation components is executed to calculate a dynamic behavior of the system under design.

Description

FUNCTIONAL DEBUGGING OF EQUATION-BASED LANGUAGES STATEMENT OF RELATED CASES
100011 The present application claims priority to and the benefit of U.S. Provisional Patent Application Serial No. 61/754,721 filed on January 21, 2013, which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] The present invention is related to tools and methods for obtaining a system-level understanding during product design. More in particular it relates to methods and systems for equation-based languages - a language intended to mean a computer language - to facilitate a system-level understanding of complex cyber-physical processes.
BACKGROUND
[0003] Product development, from consumer products to military systems, is a highly competitive area where companies are constantly challenged to meet quality targets, revenue targets, and launch dates for new and innovative products. In order to reduce the product development cycle, companies use systems engineering methodologies that attempt to parallelize and detect errors in the design as early as possible. For example, DARPA's META- II project has the qualitative goal to compress the system design, development, test, and evaluation of mission critical design applications by a factor of 5 or more by identifying system-level and component interaction problems early in the design cycle. Currently, most computer-based design tools are suitable for detail design and it is very difficult or impossible to effectively front-load the detection of system-level design flaws.
[0004] Products characterized by a blend of multiple disciplines including mechanical, electrical, thermal, software, control, etc. are often referred to as cyber-physical systems (CPS). CPS are often characterized by the use of dynamic architectures (e.g. based upon the availability of elements such as sensors) that produce online, emergent, and on-the-fly unprecedented behavior. Therefore, CPS design, analysis, validation necessitates a new systems science that encompasses both physical and computational aspects. Object oriented equation-based languages are often used to describe CPS because they can be used to model the behavior of both continuous (physical-) and discrete (cyber-) processes. To facilitate physical modeling in terms of energy conservation principles, these languages are implemented as declarative programming languages that describe what the goal is. [0005] Debugging these programs is very challenging because during execution or simulation, these programs are highly optimized and transformed into imperative programs that instruct the computer how to reach the goal. Unfortunately, these debugging techniques expose the user with the low-level details of the model and therefore, it is difficult to incorporate these techniques in tools for the early concept design phase.
100061 The inventors believe that the development of tools for conceptual design is mandatory to handle the complexity of large-scale cyber-physical systems where system-level optimization plays a critical role. A functional debugger is a design tool that allows product designers to functionally understand the complex underlying cyber-physical processes of a system. Additionally, functional debugging is seen as a complementary and orthogonal approach to existing debugging techniques that are employed during detail design. It is also believed that functional debugging can be used as a tool to consolidate 3D CAD and CAE or Computer Aided Engineering including kinematics, flow simulation, thermal analysis, and structural analysis with system-level simulation models. This would allow system designers to have an integrated and dynamic function-behavior-structure view of the system with the capacity for testing and simulating design alternatives while reusing existing components. Functional debugging can be used to comprehend multi-tool multi-language co-simulations of complex systems. However, such functional high level debuggers are currently not available. 10007| Accordingly, novel and improved systems and methods for functional debugging of equation based languages in system design are required.
100081 The following references describe or illustrate aspects of and issues with current tools, systems and methodologies in system design and in particular design of cyber-physical systems and are incorporated herein by reference:
100091 [1] Foundations for innovation: Strategic R&D opportunities for the 21st century cyber-physical systems - connecting computer and information systems with the physical world. Technical report, NIST, 2013; [2] Aberdeen Group. System design: New product development for mechatronics. January 2008; [3] A. A. Alvarez Cabrera, M. S. Erden, and T.
Tomiyama. On the potential of function-behavior-state (FBS) methodology for the integration of modeling tools. In Proc. of the 19th CIRP Design Conference- Competitive Design, pages 412-419, 2009; [4] ANSYS. HFSS. <URLhttp://www.ansys.com>; [5] Autodesk. Simulation
Software. <URLhttp://www.ni.com/labview/>; [6] T. Blochwitz, M. Otter, M. Arnold, C.
Bausch, C. Clauss, H. Elmqvist, A. Junghanns, J. Mauss, M. Monteiro, T. Neidhold, D. Neumerkel, H. Olsson, J.-V. Peetz, and S. Wolf. The functional mockup interface for tool independent exchange of simulation models. In Proceedings of the 8th Modelica Conference, pages 105 - 114, 2011; [7] Manfred Broy, Mario Gleirscher, Peter Kluge, Wolfgang Krenzer, Stefano Merenda, and Doris Wild. Automotive architecture framework: Towards a holistic and standardized system architecture description. Technical report, TUM, 2009; [8] Cari R. Bryant, Robert B. Stone, Daniel A. Mcadams, Tolga Kurtoglu, and Matthew I. Campbell. Concept generation from the functional basis of design. In Proc. of International Conference on Engineering Design, ICED 2005, pages 15-18, 2005; [9] Peter Bunus. An empirical study on debugging equation based simulation models. In Proceedings of the 4th International Modelica Conference, pages 281 - 288, 2005; [10] A.A. Alvarez Cabrera, M.J. Foeken, O.A. Tekin, K. Woestenenk, M.S. Erden, B. De Schutter, M.J.L. van Tooren, R. Babuska, F.J.A.M. van Houten, and T. Tomiyama. Towards automation of control software: A review of challenges in mechatronic design. Mechatronics, 20(8):876 - 886, 2010; [11] A. Canedo, E. Schwarzenbach, and M. A. Al-Faruque. Context-sensitive synthesis of executable functional models of cyber- physical systems. In ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS), 2013; [12] F. E. Cellier. Continuous System Modeling. Springer- Verlag, 1991; [13] E. Christen and K. Bakalar. Vhdl-ams-a hardware description language for analog and mixed- signal applications. Circuits and Systems II: Analog and Digital Signal Processing, IEEE Transactions on, 46(10): 1263 -1272, Oct 1999; [14] Jeffrey B. Dahmus, Javier P. Gonzalez- Zugasti, and Kevin N. Otto. Modular product architecture. Design Studies, 22(5):409^24, September 2011; [15] D. Dumbacher and S. R. Davis. Building operations efficiencies into NASA's Ares I crew launch vehicle design. In 54th Joint JANNAF Propulsion Conference, 2007; [16] J. Eker, J.W. Janneck, E.A. Lee, Jie Liu, Xiaojun Liu, J. Ludvig, S. Neuendorffer, S. Sachs, and Yuhong Xiong. Taming heterogeneity - the ptolemy approach. Proceedings of the IEEE, 91(1): 127-144, Jan 2003; [17] M.S. Erden, H. Komoto, T.J. Van Beek, V.D'Amelio, E. Echavarria, and T. Tomiyama. A review of function modeling: approaches and applications. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 22: 147-169, 2008;
[18] G. S. Fishman. Discrete-Event Simulation - Modeling, Programming, and Analysis. Springer, 2001; [19] Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica®. IEEE, 2004. [20] D. Gross, J. F. Shortle, J. M. Thompson, and C. M. Harris. Fundamentals of Queueing Theory. Wiley, 4th edition, 2011. [21] Julie Hirtz, Robert B. Stone, Simon Szykman, Daniel A. McAdams, and Kristin L. Wood. A functional basis for engineering design: Reconciling and evolving previous efforts. Technical report, NIST, 2002.
[22] JModelica. <URLhttp://www .jmodelica.org/>. [23] Hitoshi Komoto and Tetsuo Tomiyama. A framework for computer-aided conceptual design and its application to system architecting of mechatronics products. Comput. Aided Des., 44(10):931-946, October 2012.
[24] H. Kuehnelt, Thomas Baeuml, and Anton Haumer. SoundDuctFlow: a Modelica® library for modeling acoustics and flow in duct networks. In Proc. of the 7th Intl. Modelica Conference, pages 519-525, 2009. [25] Tolga Kurtoglu and Matthew I. Campbell. Automated synthesis of electromechanical design configurations from empirical analysis of function to form mapping. Journal of Engineering Design, 19, 2008. [26] Lawrence Berkeley National Laboratory - Modelica Buildings Library. <URLhttp://simulationresearch.lbl.gov/modelica>;
[27] Insup Lee, Oleg Sokolsky, Sanjian Chen, John Hatcliff, Eunkyoung Jee, BaekGyu Kim, Andrew L. King, Margaret Mullen-Fortino, Soojin Park, Alex Roederer, and Krishna K. Venkatasubramanian. Challenges and research directions in medical cyber-physical systems. Proceedings of the IEEE, 100(l):75-90, 2012; [28] MathWorks®. Simscape™. <URLhttp://www.mathworks.com products/simscape/>.; [29] MathWorks. Simulink. <URLhttp://www.mathworks.corn/products/simulink/>; [30] Stephen J. Mellor and Marc Balcer. Executable UML: A Foundation for Model-Driven Architectures. Addison- Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002; [31] Oregon state university, design engineering lab, design repository. <URLhttp://designengineeringlab.org/>; [32] Microsoft. Visio. <URLhttp://msdn.microsoft.com>; [33] Modelica Association, Modelica. <URLhttps://modelica.org/>; [34] Modelica Association, Modelica Standard Library. <URLhttps://modelica.org/libraries/Modelica/>; [35] Modelon. Hydraulics Library. <URLhttp://www.modelon.com products/modelica-libraries/hydraulics-library/>;[36] Modelon - Vehicle Dynamics Library. <URLhttp://www.modelon.com >; [37] National Instruments. LabVIEW System Design Software; <URLhttp://www.ni.com/labview/>; [38] E. L. Nilson and P. Fritzon. BioChem - A Biological and Chemical Library for Modelica. In Proc. of the 3rd Intl. Modelica Conference, pages 215-220, 2003; [39] OMG Systems Modeling Language (SysML). <URLhttp://www.omgsysml.org/>; [40] OpenModelica.
<URLhttps://www.openmodelica.org/>; [41] Martin Otter, Karl-Erik Arzen, and Isolde Dressier. Stategraph— A Modelica® library for hierarchical state machines. In Modelica 2005 Proceedings, 2005; [42] G. Pahl, W. Beitz, J. Feldhusen, and K.H. Grote. Engineering Design - A Systematic Approach. Springer, 3rd edition, 2007; [43] Christiaan J.J. Paredis, Yves Bernard, Roger M. Burkhart, Hans-Peter de Koning, Sanford Friedenthal, Peter Fritzson, Nicolas F. Rouquette, and Wladimir Schamai. An overview of the SysML-Modelica transformation specification. In INCOSE International Symposium, 2010; [44] Adrian Pop, Martin Sjolund, Adeel Asghar, Peter Fritzson, and Francesco Casella. Static and dynamic debugging of Modelica® models. In Proceedings of the 9th International Modelica Conference, pages 443 - 454, 2012; [45] Thomas L. Quarles. Analysis of Performance and Convergence Issues for Circuit Simulation. PhD thesis, EECS Department, University of California, Berkeley, 1989; [46] Venkat Rajagopalan, Cari R. Bryant, Jeremy Johnson, Daniel A. McAdams, Robert B. Stone, Tolga Kurtoglu, and Matthew I. Campbell. Creation of assembly models to support automated concept generation. ASME Conference Proa, 2005(4742Xa):259-266, 2005; [47] Ragunathan (Raj) Rajkumar, Insup Lee, Lui Sha, and John Stankovic. Cyber-physical systems: the next computing revolution. In Proceedings of the 47th Design Automation Conference, DAC ' 10, pages 731-736, New York, NY, USA, 2010. ACM;
[48] S.D. Rudov-Clark and J. Stecki. The language of FMEA: on the effective use and reuse of FMEA data. In AIAC-13 Thirteenth Australian International Aerospace Congress, 2009; [49] Alberto Sangiovanni-Vincentelli. Quo vadis SLD: Reasoning about trends and challenges of system-level design. Proceedings of the IEEE, 95(3):467-506, March 2007; [50] Wladimir Schamai, Peter Fritzson, Chris Paredis, and Adrian Pop. Towards unified system modeling and simulation with ModelicaML: Modeling of executable behavior using graphical notations. In Proceedings of the 7th Modelica Conference, pages 612 - 621, 2009; [51] Peter Schwarz. Physically oriented modeling of heterogeneous systems. Math. Comput. SimuL, 53(4-6):333- 344, October 2000; [52] Siemens. NX. <URLhttp://www.plm.automation.siemens.com>; [53] Siemens. Simulation & Testing SIMIT. <URLhttp://www.siemens.com>; [54] Siemens. Technomatix. <URLhttp://www.plm.automation.siemens.com>; [55] MCS Software. Actran Acoustics. <URLhttp://www.mscsoftware.com/product/actran-acoustics>; [56] Robert B. Stone and Kristin L. Wood. Development of a functional basis for design. Journal of Mechanical Design, 122(4):359-370, 2000; [57] Dassault Systemes. SolidWorks. <URLhttp://www.solidworks.com/>; [58] Janos Sztipanovits, Xenofon Koutsoukos, Gabor Karsai, Nicholas Kottenstette, Panos Antsaklis, Vijay Gupta, Bill Goodwine, John Baras, and ShigeWang. Toward a science of cyber-physical system integration. Proceedings of the IEEE, 100(l):29-44, 2012.; [59] Serdar Uckun. Meta II: Formal co-verification of correctness of large-scale cyber-physical systems during design. Technical report, Palo Alto Research Center, 2011; [60] Y. Umeda, H. Takeda, T. Tomiyama, and H. Yoshikawa. Function, behaviour, and structure. Applications of artificial intelligence in engineering V, 1 : 177-194, 1990; [61] Thorn J. van Beek, Mustafa S. Erden, and Tetsuo Tomiyama. Modular design of mechatronic systems with function modeling. Mechatronics, 20(8):850 - 863, 2010; [62] A. Votintseva, P. Witschel, and A. Goedecke. Analysis of a complex system for electrical mobility using a model-based engineering approach focusing on simulation. Procedia Computer Science, 6(0):57 - 62, 2011;
[63] Wolfgang Wahlster. Industry 4.0: From smart factories to smart products. In Forum Business Meets Research BMR 2012, 2012; [64] Wolfram. Systemmodeler. <URLhttp://www. wolfram.com/system-modeler/>; [65] Wolfram. Systemmodeler. <URLhttp://www.wolfram.com/system-modeler/industry-examples/automotive- transportation/>; [66] Stefan Wolkl and Kristina Shea. A computational product model for conceptual design using SysML. ASME Conference Proa, 2009(48999):635-645, 2009.
SUMMARY
[0010] In accordance with an aspect of the present invention systems and methods are provided for functional debugging of a simulation with equation based languages of a system under design.
[0011] In accordance with an aspect of the present invention a method is provided for functional debugging of a system under design comprising a processor functionally editing in a visual programming environment a functional model that describes one or more physical functions that are to be performed by the system under design, the processor synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in an equation-based language, the processor generating a mapping model that associates the one or more functions with one or more executable simulation components in the corresponding simulation model and the processor running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
[0012] In accordance with a further aspect of the present invention a method is provided, wherein the functional editing is performed with a block- flow chart program wherein a block is adapted to transforming an input value into an output value.
[0013] In accordance with yet a further aspect of the present invention a method is provided, wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor. 10014] In accordance with yet a further aspect of the present invention a method is provided, wherein the transforming is defined by a formal syntax implemented on the processor.
[0015] In accordance with yet a further aspect of the present invention a method is provided, wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
10016] In accordance with yet a further aspect of the present invention a method is provided, wherein the simulation model is implemented with a declarative equation-based language.
10017] In accordance with yet a further aspect of the present invention a method is provided, wherein the one or more physical functions are decomposed into sub-functions.
[0018] In accordance with yet a further aspect of the present invention a method is provided, wherein the simulation model is implemented with an imperative computer language.
10019] In accordance with yet a further aspect of the present invention a method is provided, wherein the mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model.
[0020] In accordance with yet a further aspect of the present invention a method is provided, further comprising: the processor querying simulation variables.
10021 ] In accordance with another aspect of the present invention a functional debugger for a system under design is provided, comprising: a memory enabled to store data and instructions, a processor enabled to execute instructions retrieved from the memory to perform the steps of functional editing in a visual programming environment to author a functional model that describes one or more physical functions that are to be performed by the system under design, synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in an equation- based language, generating a mapping model that associates the one or more physical functions with one or more executable simulation components in the corresponding simulation model and running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
[0022] In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the functional editing is performed with a block-flow chart program wherein a block is adapted to transforming an input value into an output value.
100231 In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor.
[0024] In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the transforming is defined by a formal syntax implemented on the processor.
[0025] In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
10026] In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the simulation model is implemented with a declarative equation-based language.
10027] In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the one or more physical functions are decomposed into sub-functions.
[0028] In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the simulation model is implemented with an imperative equation-based language.
100291 In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model.
100301 In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, further comprising: the processor querying simulation variables.
100311 In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the processor simulates the system under design synchronized with a real-time performance of the system under design realized with physical components. 100321 In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein a time dependent performance indicator of the simulated system under design is calculated.
100331 In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the simulation model is implemented with a declarative or imperative equation-based language.
100341 In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, wherein the one or more physical functions are decomposed into sub-functions.
[0035] In accordance with yet another aspect of the present invention a functional debugger for a system under design is provided, further comprising an acausal or causal execution of the one or more physical functions.
[ 0036] In accordance with a further aspect of the present invention a method for functional debugging of a system under design is provided, comprising: a processor functionally editing in a visual programming environment a functional model that describes one or more physical functions that are to be performed by the system under design, the processor synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in a declarative or imperative equation-based language, the processor generating a mapping model that associates the one or more functions with one or more executable simulation components in the corresponding simulation model and the processor running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
10037[ In accordance with yet a further aspect of the present invention a method for functional debugging of a system under design is provided, further comprising an acausal or a causal execution of the one or more physical functions.
DRAWINGS
100381 FIG. 1. is a diagram that illustrates aspects of the present invention;
[0039] FIG. 2 illustrates a syntax of elements in a visual editing environment in accordance with various aspects of the present invention;
100401 FIGS. 3A, 3B, 3C and 3D illustrate a functional model in accordance with various aspects of the present invention; 10041 ] FIG. 4 illustrates a functional model in accordance with various aspects of the present invention;
100421 FIGS. 5 and 6 illustrate a relation between a functional model and an equation based language in accordance with various aspects of the present invention;
100431 FIG. 7 illustrates control and data flow interactions in accordance with various aspects of the present invention;
10044] FIG. 8 illustrates another functional model in accordance with various aspects of the present invention;
100451 FIGS. 9A, 9B, 9C, 9D, 9E, 9F, 9G and 9H illustrate yet another functional model in accordance with various aspects of the present invention;
[ 0046] FIG. 10 illustrates a functional model in accordance with various aspects of the present invention;
10047| FIG. 1 1 illustrates a processor based system in accordance with one or more aspects of the present invention;
[0048] FIG. 12 illustrates a table with descriptions of functions in accordance with various aspects of the present invention;
100491 FIG. 13 illustrates a menu in accordance with at least one aspect of the present invention;
100501 FIG. 14 illustrates functions and corresponding behaviors in accordance with various aspects of the present invention;
[0051 ] FIGS. 15, 16 and 17 illustrate a mapping in accordance with various aspects of the present invention; and
100521 FIG. 18 illustrates an interface in accordance with various aspects of the present invention.
DESCRIPTION
[0053] Methods and processor based systems are provided herein in accordance with various aspects of the present invention to functionally debug equation based languages in system design. Debugging is important for quickly identifying errors in models and code during the design phase.
100541 In accordance with various aspects of the present invention a new debugging technique suitable for the concept design phase is provided. Based on the observation that functional models describe what the system is supposed to do, and models in equation-based languages describe what the cyber-physical process is, a functional debugging interface is provided that helps users understand complex processes in a high-level of abstraction. The herein provided implementation couples a functional model (functionality) with an underlying simulation model (behavior). This enables, for the first time it is believed, a dynamic functional representation of the system that serves as a quick validation tool for new design concepts.
[0055] The functional debugging technique can be integrated into the systems engineering process by reusing functional and simulation components and allowing the identification of system-level problems early in the design.
[0056] Specifically, aspects of the present invention are:
10057| A model-based debugging methodology, referred to as functional debugging, that interprets the results of simulation models written in equation-based languages in a high-level manner and allows the identification of system-level errors and integration problems early in the design cycle.
10058| The observation that declarative equation-based languages fundamentally describe what the system does and therefore can be naturally mapped to functional models that also describe what the system is supposed to do but in a higher-level of abstraction that is suitable for communication and design space exploration of new concepts.
[0059] An implementation of the functional debugging methodology that, for the first time it is believed, provides a dynamic or executable functional model that effectively combines functionality and behavior in the same model.
[0060] Physical Modeling with Equation-based Languages
100611 In recent years, companies from all sectors are designing complex products through physical modeling - the combination of components that correspond to physical objects in the real world (e.g. pipes, motors, resistors, software). This approach is very attractive because reusable components encapsulate an associated behavioral description according to the laws of physics and principles of energy conservation.
10062 J The interconnection of components in a model creates complete mathematical models that effectively combine different disciplines. Thus, by focusing the design on the structure of the system and automatically finding the equations that describe its behavior, physical modeling eliminates the need for manually finding mathematical descriptions of systems as described in "[51] Peter Schwarz. Physically oriented modeling of heterogeneous systems. Math. Comput. SimuL, 53(4-6):333-344, October 2000," provided earlier above. Equation-based languages such as Bond Graphs, Modelica® and Simscape™ have been developed to provide the syntax and semantics for physical modeling. Most equation-based languages are declarative programming languages that describe what the program should accomplish. It is the responsibility of the compilers and optimizers to transform equation based declarative programs into an imperative program that specifies how to accomplish the goal as most numerical solvers require an imperative program to simulate the dynamic behavior of the system.
100631 Due to the extensive transformations that a declarative program suffers when converted into its imperative equivalent, what the user sees (equations in the declarative model) is NOT what the user gets (code in the imperative simulation), and therefore it is very challenging to debug these applications.
[0064] State-of-the-art Debugging Techniques for Equation-based Languages
10065| Debugging equation-based languages is a challenging problem that requires a combination of classical debugging techniques and other special techniques. In "[44] Adrian Pop, Martin Sjolund, Adeel Asghar, Peter Fritzson, and Francesco Casella. Static and dynamic debugging of Modelica® models. In Proceedings of the 9th International Modelica Conference, pages 443 - 454, 2012" mentioned earlier above, the authors provide a comprehensive survey of the state-of-the-art in techniques for debugging declarative equation based languages typically used in physical modeling. These debugging techniques are categorized as static (compile time) and dynamic (run-time).
[0066] Static techniques focus on tracing the complex process of symbolically transforming declarative code into highly optimized imperative code to provide explanations regarding problematic code. Novel and innovative static debugging techniques using graph theoretic methods have been developed as described in earlier above mentioned "[9] Peter Bunus. An empirical study on debugging equation based simulation models. In Proceedings of the 4th International Modelica Conference, pages 281 - 288, 2005."
10067| Dynamic techniques, on the other hand, are similar to classical debugging and focus on interactively inspecting the imperative parts of the model that relate to functions and algorithms typically used to describe control code and embedded software. Hybrid approaches as described in earlier above mentioned "[44] Adrian Pop, Martin Sjolund, Adeel Asghar, Peter Fritzson, and Francesco Casella. Static and dynamic debugging of Modelica® models. In Proceedings of the 9th International Modelica Conference, pages 443 - 454, 2012" that combine static and dynamic methods are the most advanced debugging techniques for equation-based languages.
10068 j Although these techniques are invaluable for identifying errors in models and code during the detail design phase, they must focus on the low-level aspects of modeling and simulation. Integrating these debugging techniques to the first iterations of the systems engineering processes is difficult because a high-level of abstraction, rather than a low-level, is preferred during the early concept design phase of modern cyber-physical systems as described in earlier above mentioned "[25] Tolga Kurtoglu and Matthew I. Campbell. Automated synthesis of electromechanical design configurations from empirical analysis of function to form mapping. Journal of Engineering Design, 19, 2008."
[0069] A debugging technique is provided herein in accordance with an aspect of the present invention that deals with the functional aspects of equation-based languages and presents to the user a high-level interface to complex cyber-physical processes to facilitate the conceptual design space exploration of complex products. In the following it will be explained how the high-level debugging approach as provided herein and state-of-the-art low-level debugging techniques are complementary in a systems engineering context.
[0070] Functional Modeling
|00711 Functional modeling is a systems engineering activity where products are described in terms of their functionalities and the functionalities of their subsystems. Fundamentally, a functional model reflects what the system does and, therefore, we observe that functional models are strongly related to declarative equation-based languages. Because a Functional Model decouples the design intentions (functions) from behavior and/or structure (logical components,), it can be used as the basis for communication among engineers of different disciplines. (Logical components (and models) are often used as the guidelines for the creation of simulation models). Functional modeling reflects the design intentions that are typically driven by the product requirements and the human creativity. Functional modeling is acknowledged by many researchers and practitioners to be a subjective process as described in earlier above mentioned "[17] M.S. Erden, H. Komoto, T.J. Van Beek, V.D'Amelio, E. Echavarria, and T. Tomiyama. A review of function modeling: approaches and applications. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 22: 147-169, 2008" and therefore suitable for concept design. 100721 It is again pointed out that herein a distinction is made between the term "function" and its "physical simulation." While the two are closely related they are different. In one illustrative example Function would be defined as "Limit a magnitude of an electric current" and physical simulation would be "I=V/R".
100731 Defining a system in terms of its functionality (functionality of a system is defined as its purpose, intent, or goal) may seem simplistic and unnecessary but this is exactly what improves the systems engineering process by consolidating multiple engineering paradigms (e.g. electrical, mechanical, software, thermal engineering) into a unified system representation. By making explicit the implicit knowledge of the engineers, a functional model exposes the obvious facts about the system that people can easily understand, regardless of their domain of expertise. This improves the communication among different disciplines because it brings the minds of the domain experts and designers to a system level abstraction that is facilitated by natural language.
100741 A high-level debugging technique suitable for early concept design phases that uses functional modeling as a debugging interface for equation-based languages is provided herein in accordance with an aspect of the present invention.
1007 1 Compared to existing research on functional modeling as described in earlier above mentioned "[17] M.S. Erden, H. Komoto, T.J. Van Beek, V.D'Amelio, E. Echavarria, and T. Tomiyama. A review of function modeling: approaches and applications. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 22: 147-169, 2008", "[10] A.A. Alvarez Cabrera, M.J. Foeken, O.A. Tekin, K. Woestenenk, M.S. Erden, B. De Schutter, M.J.L. van Tooren, R. Babuska, F.J.A.M. van Houten, and T. Tomiyama. Towards automation of control software: A review of challenges in mechatronic design. Mechatronics, 20(8):876 - 886, 2010", "[46] Venkat Rajagopalan, Cari R. Bryant, Jeremy Johnson, Daniel A. McAdams, Robert B. Stone, Tolga Kurtoglu, and Matthew I. Campbell. Creation of assembly models to support automated concept generation. ASME Conference Proa, 2005(4742Xa):259-266, 2005", "[8] Cari R. Bryant, Robert B. Stone, Daniel A. Mcadams, Tolga Kurtoglu, and Matthew I. Campbell. Concept generation from the functional basis of design. In Proc. of International Conference on Engineering Design, ICED 2005, pages 15-18, 2005", "[25] Tolga Kurtoglu and Matthew I. Campbell. Automated synthesis of electromechanical design configurations from empirical analysis of function to form mapping. Journal of Engineering Design, 19, 2008" and "[61] Thorn J. van Beek, Mustafa S. Erden, and Tetsuo Tomiyama. Modular design of mechatronic systems with function modeling. Mechatronics, 20(8):850 - 863, 2010" it is believed that herein the first demonstration and the use of functional models for debugging simulation models is provided.
[0076] Functional Debugging
100771 Functional debugging of equation based languages is defined herein as the mechanism by which states and variables of a running simulation are visualized through a functional model to create an implementation independent understanding of a cyber-physical process. It is illustrated in FIG. 1 that a functional debugger relies on three components : a functional editor, a simulation model synthesizer, and a simulation runtime (simulation run- time and simulation engine are used interchangeably herein.) The Functional Debugging Architecture as illustrated in FIG. 1 includes three components: a functional editor, a synthesizer, and a simulation runtime. Different models are necessary for the functional debugger to relate functions to behavior.
100781 The functional editor is a visual programming environment for users to author functional models that describe what the system does. The functional editor is also used as the debugger user interface that allows users to visualize and interact with the simulation in a high- level of abstraction. One implementation uses Microsoft® Visio® as the functional editor. Visio® is defined herein as being a flow chart or a diagramming computer program. The simulation model synthesizer is a computer program (automatic) or a simulation expert (manual) that takes a functional model as an input and generates a corresponding simulation model that realizes or embodies the system's functionality. This simulation model provides the executable semantics to the functional model. In addition to the simulation model, the synthesizer also generates a mapping model that associates functions to simulation components. Finally, the simulation runtime simulates the simulation model and calculates the dynamic behavior of the system. It is important to note that different simulation runtimes may be used to simulate the same functional model. For example, the thermal-vibration facet of a functional model may be simulated using a finite element analysis solver, and its ID electromechanical facet may be simulated using Modelica® or Simscape™. The declarative equations are located in the simulation model.
100791 The functional debugger takes a functional model, a simulation model, and a mapping model as inputs. The mapping model specifies how functions and flows in the functional model associate to simulation components and effort/flow variables in the simulation model. This information is used during debugging (dotted lines in FIG. 1) to relate the simulation output to visualization in the functional model, and to relate user interaction debugging commands to the running simulation. For interactive debugging, the functional debugger should be capable of controlling a simulation through pausing, stopping, resuming, advancing time to the next integration step, and querying simulation variables. A description of the implementation of the functional debugger architecture will be provided.
[0080] Functional Editor
[0081] Visual programming languages are suitable for authoring functional models as described in earlier above mentioned "[56] Robert B. Stone and Kristin L. Wood. Development of a functional basis for design. Journal of Mechanical Design, 122(4):359-370, 2000", "[21] Julie Hirtz, Robert B. Stone, Simon Szykman, Daniel A. McAdams, and Kristin L. Wood. A functional basis for engineering design: Reconciling and evolving previous efforts. Technical report, NIST, 2002", "[42] G. Pahl, W. Beitz, J. Feldhusen, and K.H. Grote. Engineering Design - A Systematic Approach. Springer, 3rd edition, 2007", "[48] S.D. Rudov-Clark and J. Stecki. The language of FMEA: on the effective use and reuse of FMEA data. In AIAC-13 Thirteenth Australian International Aerospace Congress, 2009", "[17] M.S. Erden, H. Komoto, T.J. Van Beek, V.D'Amelio, E. Echavarria, and T. Tomiyama. A review of function modeling: approaches and applications. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 22: 147-169, 2008", "[66] Stefan Wolkl and Kristina Shea. A computational product model for conceptual design using SysML. ASME Conference Proa, 2009(48999):635-645, 2009" and "[23] Hitoshi Komoto and Tetsuo Tomiyama. A framework for computer-aided conceptual design and its application to system architecting of mechatronics products. Comput. Aided Des., 44(10):931-946, October 2012", because a diagrammatic representation facilitates the understanding of the system as a collection of functionalities interacting through the exchange of material, energy, and signals.
100821 Although a functional model can be also expressed textually, or as a design matrix as described in earlier above mentioned "[31] Oregon state university, design engineering lab, design repository. <URLhttp://designengineeringlab.org/>", it is believed that a visual functional editor improves the productivity of designers and a herein presented implementation provides an editor based on Microsoft® Visio® ActiveX® control that can be easily embedded in other systems engineering tools. Visio® has been extended herein with a C# implementation to improve the user-interaction and to manage the communication and data transfer between the displayed interface and the simulation runtime. Accordingly, an enhanced flow chart computer program is provided in accordance with an aspect of the present invention. 100831 The enhanced flow chart computer program is capable of defining feedback loops, building a hierarchical definition of functional models at various levels of detail, interactively displaying energy flows within the system, defining test cases and breakpoints for debugging in terms of a visual representation.
100841 The functional modeling types are provided as shapes in a Visio® stencil as shown in a table in FIG. 2. A de-facto functional modeling syntax was used including a block-flow diagram where blocks represent functions (process) that transform inputs into outputs (flows) as described in earlier above mentioned "[21] Julie Hirtz, Robert B. Stone, Simon Szykman, Daniel A. McAdams, and Kristin L. Wood. A functional basis for engineering design: Reconciling and evolving previous efforts. Technical report, NIST, 2002" and "[42] G. Pahl, W. Beitz, J. Feldhusen, and K.H. Grote. Engineering Design - A Systematic Approach. Springer, 3rd edition, 2007." Blocks and flows use the Functional Basis syntax as described in earlier above mentioned "[56] Robert B. Stone and Kristin L. Wood. Development of a functional basis for design. Journal of Mechanical Design, 122(4):359-370, 2000" to categorize functions into 8 categories and a total of 32 primitive functions, and flows into 3 categories (material, energy, and signal and a total of 18 flow subtypes. Constraining the vocabulary for functional modeling is beneficial for the systems engineering process because it normalizes the understanding and consistency of the models across the computer-aided tools and the organization. Although functional modeling is a highly subjective and creative process as described in earlier above mentioned "[17] M.S. Erden, H. Komoto, T.J. Van Beek, V.D'Amelio, E. Echavarria, and T. Tomiyama. A review of function modeling: approaches and applications. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 22: 147-169, 2008", the use of a constrained vocabulary does not affect the expressiveness of the functional models.
[0085] In the functional editor, a functional model can be refined into more specific descriptions in a process referred to as functional decomposition. This is illustrated in a functional model of an automobile as shown in FIG. 3 A with diagram 301, FIG. 3B with diagram 302, FIG. 3C with diagram 303 and FIG. 3D with diagram 304. These diagrams combined, as illustrated in FIG. 4, illustrate the functional model of an internal combustion engine car showing the functions associated with the main powertrain subsystems (in parentheses). Syntactically and semantically, the functional modeling approach handles feedback loops.
100861 Herein, the "transport people" function can be decomposed into sub-functions such as "Store Chemical Energy" and "Convert Chemical Energy to Rotational Mechanical Energy" implying the design of an internal combustion engine car. Furthermore, sub-functions can be decomposed to create a functional decomposition tree where the root node represents the top- level function and the leaf-nodes represent elementary functions such as "Transfer Translational Mechanical Energy (TME)".
[0087] Although the implementation uses the Functional Basis vocabulary, different semantics are used and additional function types are added to facilitate the modeling of modern cyber-physical systems. For example, the original Functional Basis specifies that functional models are executed from left-to-right as described in earlier above mentioned "[56] Robert B. Stone and Kristin L. Wood. Development of a functional basis for design. Journal of Mechanical Design, 122(4):359-370, 2000."
10088| This causality rule, unfortunately, prohibits the coupling of functional models to acausal equation-based simulation languages because a change in the direction of energy flow during simulation is not expressible in the original Functional Basis semantics. Moreover, this causality rule does not allow for feedback loops, an essential construct for control theory modeling. To overcome these limitations, the functional editor provided herein in accordance with an aspect of the present invention allows acausal (left-to-right and right-to-left) execution semantics and the creation of feedback loops anywhere in the functional model as shown in the Third-level Functions in diagram 304 in FIG. 3D. Moreover, additional elementary functions for "Control" (function in black) and "Sense" (function in gray) are provided to model cyber- physical control systems.
100891 Note that the functional modeling flows are represented by a directed arrow in the table of FIG. 2. This is simply the syntax of the Functional Basis as described in earlier above mentioned "[56] Robert B. Stone and Kristin L. Wood. Development of a functional basis for design. Journal of Mechanical Design, 122(4):359-370, 2000" and during debugging, the simulation semantics will affect the look and feel of these flows and functions. In other words, although the static functional model is constructed with directed flows, the dynamic functional model implies and reflects energy and material transfers in both directions and this also affects the functions' signatures. [0090] Simulation Model Synthesis
100911 A goal of the simulation model synthesis is to find components that fulfill the functionalities in a functional model. The synthesis can be performed manually by a simulation expert, or automatically by a synthesis tool. Automatic synthesis of functional models to simulation models is challenging because one function may be realized by multiple and different components, and one component may realize multiple functions. In other words, multiple valid simulation models exist for a given functional model, but only a few are useful for modeling the actual system.
100921 In earlier above mentioned "[11] A. Canedo, E. Schwarzenbach, and M. A. Al- Faruque. Context-sensitive synthesis of executable functional models of cyber-physical systems. In ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS), 2013" a context sensitive synthesis algorithm was introduced that reliably generates high quality simulation models from functional models. The synthesizer puts every function within a functional model into a context provided by its input and output flows, and using engineering rules it correctly maps functions to the specified simulation components from reusable component libraries.
100931 Engineering rules are analogous to machine description files in a traditional compiler. Engineering rules and simulation component libraries are the means for capturing engineering knowledge.
[ 0094] Due to the easy access to various simulation component libraries as described in earlier above mentioned "[34] Modelica Association, Modelica Standard Library. <URLhttps://modelica.org/libraries/Modelica/>", "[26] Lawrence Berkeley National Laboratory - Modelica Buildings Library. <URLhttp://simulationresearch.lbl.gov/modelica>" and "[36] Mode Ion - Vehicle Dynamics Library. <URLhttp://www.modelon.com/>" the synthesizer provided in accordance with an aspect of the present invention currently generates Modelica® code as an output. However, the synthesizer can be easily modified to emit and reuse components from other equation-based languages such as Simscape™.
[0095] A simulation model contains components with well defined interfaces, and each component may contain equations, variables, and algorithms. In order to create a correct mapping from functions to simulation components, the functional debugger must associate functions and flows in a functional model with components and variables in a simulation model. In the case of automatic synthesis, the output of an engineering rule is the mapping of functions and flows to components and variables. On the other hand, manual mapping requires the designer to make these relations by looking at both the functional and the simulation models and deciding how the two models relate. Either way, the functional debugger needs access to functional models, simulation models, and the mapping model.
[0096] Mapping of Functional Models to Simulation Models
10097| It is possible to relate functional models (functions and flows) to simulation models (components and variables) because the concept of physical quantities exists in both models. Functional models specify material, energy, and signal flows and transformation functions operating on these flows. Physical-based equation-based languages, on the other hand, specify complementary physical domains such as electricity, mechanics, software, etc., and the physical behavior of components operating and governed by laws on these domains such as a resistor, gearbox, or PID controller. An important observation is that a single functional energy flow maps to a pair of conjugate variables in the simulation model that are used to accomplish acausal modeling. Acausal modeling describes the behavior of components in terms of energy conservation laws as described in earlier above mentioned "[19] Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica. IEEE, 2004." 100981 These conjugate variables are known differently in different equation-based languages but have very similar semantics. For example, Modelica® uses potential flow variables as described in earlier above mentioned "[33] Modelica Association, Modelica. <URLhttps://modelica.org/>", Bond Graphs use effort-flow variables as described in earlier above mentioned "[12] F. E. Cellier. Continuous System Modeling. Springer-Verlag, 1991 ", and Simscape™ uses across-through variables as described in earlier above mentioned "[28] Math Works. Simscape. <URLhttp://www.mathworks.com/products/simscape/>."
100991 Table 500 in FIG. 5 and table 600 in FIG. 6 which were adapted from "[56] Robert B. Stone and Kristin L. Wood. Development of a functional basis for design. Journal of Mechanical Design, 122(4):359-370, 2000" show the mapping between flow types (e.g. electrical, magnetic, etc. in Column 2) in a functional model to conjugate variables (Column 3) in equation-based simulation languages. The last two Columns show some of the system-level equation-based languages (e.g. Modelica®) and domain specific equation-based languages (e.g. CAD/CAE) that are typically used to simulate physical systems. In table 500 columns 4 and 5 refer to the identification numbers of references mentioned earlier above. The tables illustrate that functional models can be mapped to both system-level languages and domain- specific languages and therefore, functional debugging can be adapted to various equation- based languages. Notice that a single equation based language may not be sufficient to cover all the functional flow types. It is noted that functional debugging can also be used to comprehend multi-tool multi-language co-simulations of complex systems.
[0100] The functional debugger implementation provided in accordance with an aspect of the present invention uses a data structure referred to as the Mapping Model (See FIG. 1) to read the mapping information of functions and flows (Functional Model) to components and conjugate variables (Simulation Model). Although it is common that mappings are from function(s)-to-component(s) and flow(s)-to-variable(s), other combinations are also possible including flow(s)-to-component(s) and component(s)-to-variable(s). For example, a
"pneumatic energy" flow in a functional model may be mapped to a "pipe" component, or to a
"pressure" variable.
[0101] Simulation Runtime
[0102] A simulation runtime responsible for executing the simulation models, is the last component required for functional debugging. Although a simulation model is heavily transformed and optimized into a mathematical model for integration with numerical methods, the variables remain visible during simulation. Using the mapping model, the functional debugger can query the variables' status and values during simulation. From the functional debugging perspective, there are two important requirements for the simulation runtime.
[0103] First, in order to facilitate a natural human-computer interaction in the functional debugger, the simulation runtime must allow the synchronization of the simulation time with the real (human) time. Whenever the simulation time is faster than the real time, the simulation runtime must delay the execution of the simulation in order to synchronize the two times. In case that the simulation time is slower than the real time, the simulation runtime can adopt execution strategies similar to the ones used in hardware -in-the-loop simulations including fixed-step size solvers, loop tearing, or iterative limits.
[0104] The second requirement demands the simulation runtime to be programmatically controlled by the functional debugger in order to start, pause, stop, and proceed to the next iteration step during the simulation.
[0105] Currently, the functional debugger as provided in accordance with an aspect of the present invention uses Wolfram's SystemModeler™ as described in earlier above mentioned "[64] Wolfram. SystemModeler™. <URLhttp://www. wolfram.com/system-modeler/>" as the simulation runtime and the next section provides details of the implementation.
[0106] User Interaction, Visualization, and Simulation Control
[0107] The functional debugger contains three applications as shown in FIG. 7. The Functional Editor or Functional Debugger GUI (left) handles the user interaction events such as breakpoints and visualization requests on specific functions and flows. This C# application extends the functionality of Visio® through the Visio Object Model as described in earlier above mentioned "[32] Microsoft®. Visio®. <URLhttp://msdn.microsoft.com>" and allows the functional debugging specific commands and visualization such as stop, pause, restart, and perform the next iteration step; load functional, simulation, and mapping models; detect user events to debug specific functions and flows and to zoom in/out in the functional model hierarchy; manipulate the look & feel of Visio® shapes representing the functional model to convey points of interest during the simulation. These points of interest can be preprogrammed by the user to monitor a range of operation of a subsystem, or built-in into the implementation (e.g. indicate when the energy flow changes direction). Input of functional requirements to the Visio® environment takes place preferably through a Graphical User Interface.
[0108] In the implementation provided in accordance with an aspect of the present invention, the simulation runtime as illustrated in FIG. 7 uses an application-specific TCP protocol that allows a client application to control the simulation and set/receive simulation data. After the simulation runtime server has been initialized for control commands and data flow, this application streams data over TCP to the client after every integration time step. Through an initialization file, this application can be configured to maintain the simulation time and the real-time synchronized.
[0109] In one embodiment of the present invention a simulation of a system under design is executed under the functional debugger to provide performance results in real-time. That is: the simulated system under design runs as it would when implemented with physical components that are now simulated.
[0110] In accordance with one embodiment of the present invention a simulation of a system under design is performed at a different speed than real-time. For instance the system under design is simulated under a much faster clock, allowing the simulation for instance to go quickly through different simulation conditions. In a further embodiment of the present invention a system under design is simulated at a slower rate than real-time, allowing for instance an assessment of different concurrent or near-concurrent effects that would be difficult to distinguish in real-time. In one embodiment of the present invention a user determines a clock-speed of a simulation relative to real-time performance. In yet another embodiment of the present invention a simulation of a system under design is performed at a maximum clock- speed allowed by the system on which it is simulated.
[0111] The functional debugger application as illustrated in FIG. 7 is the intermediary between the GUI and the simulation runtime. Its main responsibility is to retrieve data from the simulation and map it to the functional model in the GUI, and also to control the simulation according to the user commands.
[0112] Although an in-house implementation is provided in accordance with an aspect of the present invention, each component of the functional debugger has an analogous technology that could be used to provide the same functionality. For example, the functional editor could be implemented in SysML.
[0113] Several published investigations such as "[66] Stefan Wolkl and Kristina Shea. A computational product model for conceptual design using SysML. ASME Conference Proa, 2009(48999):635-645, 2009." and "[3] A. A. Alvarez Cabrera, M. S. Erden, and T. Tomiyama. On the potential of function-behavior-state (FBS) methodology for the integration of modeling tools. In Proc. of the 19th CIRP Design Conference- Competitive Design, pages 412-419, 2009." have shown how to create functional models in SysML. Similarly, the simulation model synthesizer could be realized by SysML4Modelica as described in "[43] Christiaan J.J. Paredis, Yves Bernard, Roger M. Burkhart, Hans-Peter de Koning, Sanford Friedenthal, Peter Fritzson, Nicolas F. Rouquette, and Wladimir Schamai. An overview of the SysML-Modelica transformation specification. In INCOSE International Symposium, 2010." or ModelicaML as described in "[50] Wladimir Schamai, Peter Fritzson, Chris Paredis, and Adrian Pop. Towards unified system modeling and simulation with ModelicaML: Modeling of executable behavior using graphical notations. In Proceedings of the 7th Modelica Conference, pages 612 - 621, 2009."
[0114] Open source Modelica® runtimes as described in "[40] OpenModelica. <URLhttps://www.openmodelica.org/>" and "[22] JModelica in <http://www.jmodelica.org/>" can be used as the simulation runtime. And FMI as described in "[6] T. Blochwitz, M. Otter, M. Arnold, C. Bausch, C. Clauss, H. Elmqvist, A. Junghanns, J. Mauss, M. Monteiro, T. Neidhold, D. Neumerkel, H. Olsson, J.-V. Peetz, and S. Wolf. The functional mockup interface for tool independent exchange of simulation models. In Proceedings of the 8th Modelica Conference, pages 105 - 114, 2011" can be used as the communication and data transfer mechanism between the functional editor and the simulation runtime.
[0115] Industry Perspective
[0116] Concept design, despite being a critical design phase that determines 70-80% of the cost of a product as described in "[15] D. Dumbacher and S. R. Davis. Building operations efficiencies into NASA's Ares I crew launch vehicle design. In 54th Joint JANNAF Propulsion Conference, 2007." It lacks the tool and methodology support that is available for detail design phases as described in "[49] Alberto Sangiovanni-Vincentelli. Quo vadis SLD: Reasoning about trends and challenges of system-level design. Proceedings of the IEEE, 95(3):467-506, March 2007." It is strongly believed that the development of tools for conceptual design is mandatory to handle the complexity of large-scale cyber-physical systems where system-level optimization plays a critical role. The functional debugger as provided herein in accordance with an aspect of the present invention is a concept design tool that allows product designers to functionally understand the complex underlying cyber-physical processes of a system.
[0117] Additionally, functional debugging is seen by the inventors as a complementary and orthogonal approach to existing debugging techniques that are employed during detail design. It is also believed that functional debugging can be used as a tool to consolidate 3D CAD/CAE including kinematics, flow simulation, thermal analysis, and structural analysis with system level simulation models. This would allow system designers to have an integrated and dynamic function-behavior structure view of the system with the capacity for testing and simulating design alternatives while reusing existing components.
[0118] Case Study: eCar Development
[0119] As an illustrative example the functional debugger provided herein in accordance with an aspect of the present invention is evaluated with a common scenario in automotive development. In order to reduce risk and cost, automotive companies invest in the development of architectures that can be reused to produce different models of cars within and across brands. Therefore, it is natural that even radical new designs, such as an eCar, attempt to reuse an existing architecture and a set of compatible cyber-physical components. Functional models are used in this type of scenarios to understand the impact of major architectural changes in the overall design. An architecture is, after all, the allocation of functions (or functionality) to specific cyber-physical (logical) components (e.g. a gearbox, a wheel, an ECU).
[0120] One objective is to demonstrate how the functional debugger supports a realistic conceptual design scenario where an eCar is developed while reusing as much as possible, components of an existing architecture.
[0121] Additionally, it will be shown how the functional debugging approach is compatible and orthogonal to the existing debugging techniques for equation-based languages.
[0122] Baseline Architecture
[0123] A baseline functional model of an internal combustion engine car is first created and shown in FIGS. 3A-3D and FIG. 4. This baseline functional model describes the functionality of the automotive driveline industrial example in Modelica® language published in "[65] Wolfram. Systemmodeler. <URLhttp://www.wolfram.com/system-modeler/industry- examples/automotive-transportation/>." The mapping of functions-to-components is indicated by the parentheses in FIGS. 3A-3D and this represents the baseline architecture for the scenario of the eCar example.
[0124] Using the baseline models as the starting point, the next step is to conceptually design an eCar with the help of functional debugging.
[0125] Concept Design Space Exploration
[0126] Conceptually, the simplest way to create an eCar from a conventional car is by replacing its internal combustion engine with an electric motor. In terms of functionality, the function "convert chemical energy to rotational mechanical energy" must be replaced with
"convert electrical energy to rotational mechanical energy" as shown in FIG. 8. This change also implies new functionality where the "electrical energy" flow is "stored" (e.g. in a battery).
[0127] FIG. 8 illustrates changes to the functional model in FIGS. 3A-3D and FIG. 4 to convey the new design intentions of an e-Car. Fuel containing chemical energy is replaced with electrical energy. This implies the use of a Battery and an Electric DC Motor instead of a
Gas Tank and a Combustion Engine.
[0128] To mimic the reusability aspect in the current system engineering practice, new engineering rules were created to convert the newly introduced eCar functionality into existing simulation models of a DC motor and a battery developed in-house as described in "[62] A. Votintseva, P. Witschel, and A. Goedecke. Analysis of a complex system for electrical mobility using a model-based engineering approach focusing on simulation. Procedia Computer Science, 6(0):57 - 62, 2011." As a result, the synthesizer creates an aggregated simulation model that replaces the internal combustion engine component from the baseline simulation model with the battery and DC motor, but reuses the rest of the simulation components in the baseline. The coupling between the DC motor and the baseline drivetrain is possible because the two have a compatible interface and this allows the aggregated simulation model to be correctly generated and compiled using SystemModeler.
[0129] This workflow shows that a simple change in the functional model can be used to generate new simulation models that allow the designer to understand and quantify how a change in functionality of an existing architecture has an impact in the overall system-level design. The relation of functions to components, or mapping model, was created by the engineering rules and the analogy between functions and system-level equation-based languages discussed in the table of FIG. 5. Therefore, at this point in time, the three input models to the functional debugger are available: an eCar functional model (Visio), a simulation model (Modelica®), and the mapping model (data structure described earlier above).
[0130] The next step is to run the eCar simulation model under the functional debugger to identify any possible system-level problems created by the architectural change.
[0131] Functional Debugging
[0132] The New European Driving Cycle is used to test the eCar simulation model in the functional debugger. FIGS. 9A, 9B, 9C, 9D, 9E, 9F, 9G and 9H and FIG. 10 illustrate the functional debugger under four modes of operation:
[0133] (a) Acceleration (diagram 901 in FIG. 9A and diagram 902 in FIG. 9B), (b) Cruise (diagram 903 in FIG. 9C and diagram 904 in FIG. 9D), (c) Deceleration (diagram 905 in FIG. 9E and diagram 906 in FIG. 9F), and (d) Idle (diagram 907 in FIG. 9H and diagram 908 in FIG. 9G). FIG. 10 shows how all diagrams combined represent the 4 operational stages of the eCar. During acceleration as shown in diagrams 901 and 902 in FIGS. 9A-9B, the functional debugger shows that the main energy transfer in the power train, indicated by the direction of the flows, is from left-to-right starting from the "convert electrical energy to rotational mechanical energy".
[0134] While the Modelica® simulation explains the physical behaviors, the functional debugger helps a non-expert to understand that rotational mechanical energy (RME) is functionally correct. During cruise as shown in diagrams 903 and 904 in FIGS. 9C-9D, the functional debugger shows that there is an equilibrium of energy transfer in the powertrain and this is indicated by the bi-directional flows. During deceleration as shown in diagrams 905 and 906 in FIGS. 9E-9F, the functional debugger shows that RME flow is from right-to-left. In addition, this functional debugging snapshot shows that the function being performed by the "Electric Motor" component changed to "Convert RME to electrical energy". This insight is very important for the systems engineer because it shows that the newly introduced electric motor is performing two functions and this can be used to validate the requirements. It is also important to note that this additional functionality can be used to recharge the battery while the eCar decelerates. During the idle mode as shown in diagrams 907 and 908 in FIGS. 9G-9H, the functional debugger shows the case when the clutch is disengaged and the electric motor and the transmission are physically decoupled, and the functional debugger eliminates the flow connecting these two components. This causes the functionality of the electric motor to change to "convert electrical energy to thermal energy".
[0135] The snapshots in FIGS. 9A-9H illustrate how the functional debugger can help the concept level designer to create a mental high-level picture of the system and conceptually understand how a functional and architectural change affects the rest of the system. It also allows them to visualize potential new innovations such as regenerative breaking, and visualize the energy, material, and signal flows through the system. Functional debugging can be easily integrated into the current systems engineering processes and reuse the existing and legacy simulation, functional, and architectural models. Another important feature is that functional debugging allows non-technical person to easily understand the cyber-physical process at the functional or conceptual level.
Iterative design is a very important aspect of the systems engineering process. Although the results shown in FIGS. 9A-9G are functionally correct as the system does what it is supposed to, the systems engineer must verify that the eCar is reaching its performance targets by enabling the display of numerical values of the conjugate variables of the simulation in the functional model. In accordance with an aspect of the present invention a time dependent performance indicator of system under design how it would perform in real-life and real-time is calculated with the simulated system under design with the support of the debugger.
[0136] Enabling the numerical values in the functional debugger reveals that although the system is functionally correct, the eCar never accelerates to even 5% of the desired speed. Since the eCar concept includes a newly introduced component, the electric motor, the first guess would probably be that the test needs a stronger motor. However, after simulating the eCar with a stronger electric motor, the results are still unfavorable.
[0137] In one embodiment of the present invention one can derive the performance indicators which are condition dependent indicators (such as depending on temperature, wind force) or time dependent indicators such as acceleration by calculations from generated numbers. In a further embodiment of the present invention gauges and meters are provided that visualize the calculated indicators such as car speed, acceleration, motor RPMs, drain status of the battery, temperature of the battery and/or engine and the like in real-time corresponding with a real-life performance of the system under design.
[0138] These quick iterations that use the functional debugger as a visualizer for the underlying simulation provide valuable information to the systems engineer about the system- level integration problems on the new concept at a level of abstraction where they can reason about the possible problem, but without being concerned about the details of the cyber-physical implementation. Typically, this situation would lead the systems engineer to report and discuss the problem with the multidisciplinary teams in charge of the transmission, the software, and the electro-mobility. Using the common language of functionality, engineers can communicate at a high-level of abstraction and then translate these insights to their domain of expertise. At this point in time, the domain experts would perform detail design iterations on their subsystems and this is where existing debugging techniques for equation-based languages are very useful for identifying the root cause of the problem.
[0139] In this example, the problem is in the control gains in the controller software at the transmission control unit, and it required an expert to use the existing debugging techniques to find the solution. Because functional debugging is used early in the concept design phase, and its purpose is to communicate potential problems to the systems engineer using a high-level of abstraction (functionality) rather than a low-level of abstraction (behavior), it is clear that it enhances the systems engineering and it is complementary and orthogonal to the existing debugging techniques for equation-based languages.
[0140] With the objective of supporting the early concept design phases with computer- based tools, a new methodology was provided herein in accordance with an aspect of the present invention referred to as functional debugging that builds a functional view of an underlying cyber-physical process described in equation-based languages. The implementation couples functions and flows in functional models with conjugate variables in simulation models, and this mapping enables a high-level view of what the system does. In a systems engineering context, the functional debugger can be used as a rapid prototyping tool for new concepts to identify system-level integration problems. Through an industrial use-case, it was shown that functional debugging can be a valuable tool for an iterative design process that involves the coordination of multiple disciplines. Additionally, it was shown that functional debugging is compatible with existing low-level debugging techniques for equation-based languages.
[0141] The methods as provided herein are, in one embodiment of the present invention, implemented on a system or a computer device. Thus, steps described herein are implemented on a processor in a system, as shown in FIG. 11. A system illustrated in FIG. 11 and as provided herein is enabled for receiving, processing and generating data. The system is provided with data that can be stored on a memory 1101. Data may be obtained from an input device. Data may be provided on an input 1106. Such data may be engineering data or any other design data that is helpful in an equation based system. The processor is also provided or programmed with an instruction set or program executing the methods of the present invention that is stored on a memory 1102 and is provided to the processor 1103, which executes the instructions of 1102 to process the data from 1101. Data, such as design data or any other data provided by the processor can be outputted on an output device 1104, which may be a display to display images or data or a data storage device. The processor also has a communication channel 1107 to receive external data from a communication device and to transmit data to an external device. The system in one embodiment of the present invention has an input device 1105, which may include a keyboard, a mouse, a pointing device, or any other device that can generate data to be provided to processor 1103.
[0142] The processor can be dedicated or application specific hardware or circuitry. However, the processor can also be a general CPU or any other computing device that can execute the instructions of 1102. Accordingly, the system as illustrated in FIG. 11 provides a system for processing data and is enabled to execute the steps of the methods as provided herein as one or more aspects of the present invention.
[0143] FIG. 12 illustrates components of the simulation and debugging in accordance with various aspects of the present invention. Items 1201 and 1202 are part of the same table that is broken up to fit on the page. The rows show an item ID number UID, a functional type of function or flow such as a signal. It further describes the simulation component in 1201, such as brake signal for UID is fl5 and the related debugging action in 1202 that defines when to set the brake light to visible.
[0144] The functions are enabled in the visual programming environment by for instance a drop down or pop-up menu provided in accordance with an aspect of the present invention as illustrated in FIG. 13. The menu when activated by a user allows the user to select a function from a pre-defined vocabulary. A similar type of menu is provided as an aspect of the present invention to select a flow from the vocabulary.
[0145] A distinction is made herein between a function and its description, which is usually defined in a domain, and a behavior and its description. This is illustrated in FIG. 14. For instance in an electrical domain a function is to regulate electrical energy. One behavior description in a simulation is an implementation of Ohm's law. A thermal and mechanical domain example are also illustrated in FIG. 14. Another domain that is illustrated is the software domain, wherein a function is to regulate a control signal. The behavior of such regulation in a simulation is described in a conditional "i '/"else" statement. It is noted that in the illustration electrical, thermal, and mechanical are acausal (equal sign represents equality and not assignment), and the software domain is causal (equal sign represents assignment).
[0146] One aspect of the present invention is the mapping of a function into a realization or behavior that can be simulated on a computer. It is noted that a single function can be mapped to multiple realizations in accordance with an aspect of the present invention. For instance a function 1500 as illustrated in FIG. 15 "Transmit Thermal Energy" has several possible behavioral realizations: conduction, convection and radiation for instance. The system as provided herein in accordance with an aspect of the present invention enables the mapping of a function into at least two behaviors. This is further illustrated in FIG. 15 wherein the function 1500 is mapped into a first behavior 1600 (convection) illustrated as Simulation model A in FIG. 16 and a second behavior 1700 (conduction) illustrated as Simulation model B in FIG. 17. Each simulation component is implemented as a formula (as shown in FIG. 17) or as a computer statement or procedure.
[0147] The visual programming environment provided in accordance with an aspect of the present invention enables different ways of appearances of functional models. FIG. 18 shows examples on how the appearance of the functional model can be modified (colors, direction of arrows, gauges, animations) to convey simulation information. This change can take place dynamically on screen. For instance, FIG. 18 illustrates how a box that can be provided with an alarm color such as red, highlights a function in 1801, while 1802 illustrates how colored arrows can indicate bidirectional or single direction flows. Other indicators, alerts, gauges, meters, indicators, status icons and state variables are fully contemplated.
[0148] Thus, methods in accordance with various aspects of the present invention have been provided. They include a method for functional debugging of a system under design comprising a processor functionally editing in a visual programming environment a functional model that describes one or more physical functions that are to be performed by the system under design, the processor synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in a declarative equation-based language, the processor generating a mapping model that associates the one or more functions with one or more executable simulation components in the corresponding simulation model and the processor running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
[0149] They further include a method, wherein the functional editing is performed with a block-flow chart program wherein a block is adapted to transforming an input value into an output value.
[0150] They further include a method, wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor.
[0151] They also include a method, wherein the transforming is defined by a formal syntax implemented on the processor.
[0152] They further include a method, wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
[0153] They further include a method, wherein the simulation model is implemented with a declarative equation-based language.
[0154] They also include a method, wherein the one or more physical functions are decomposed into sub-functions.
[0155] They further include a method, further comprising an acausal execution of the one or more physical functions.
[0156] They further include a method, wherein the mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model. [0157] They also include a method, further comprising the processor querying simulation variables.
[0158] They further include a method, wherein the processor simulates the system under design synchronized with a real-time performance of the system under design realized with physical components.
[0159] They also include a method, wherein a time dependent performance indicator of the simulated system under design is calculated.
[0160] While there have been shown, described and pointed out fundamental novel features of the invention as applied to preferred embodiments thereof, it will be understood that various omissions and substitutions and changes in the form and details of the methods and systems illustrated and in its operation may be made by those skilled in the art without departing from the spirit of the invention. It is the intention, therefore, to be limited only as indicated by the claims.

Claims

1. A method for functional debugging of a system under design comprising:
a processor functionally editing in a visual programming environment a functional model that describes one or more physical functions that are to be performed by the system under design;
the processor synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in an equation-based language;
the processor generating a mapping model that associates the one or more functions with one or more executable simulation components in the corresponding simulation model; and
the processor running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
2. The method of claim 1, wherein the functional editing is performed with a block- flow chart program wherein a block is adapted to transforming an input value into an output value.
3. The method of claim 2, wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor.
4. The method of claim 2, wherein the transforming is defined by a formal syntax implemented on the processor.
5. The method of claim 2, wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
6. The method of claim 2, wherein the simulation model is implemented with a declarative equation-based language.
7. The method of claim 1, wherein the one or more physical functions are decomposed into sub-functions.
8. The method of claim 1, wherein the simulation model is implemented with an imperative computer language.
9. The method of claim 2, wherein the mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model.
10. The method of claim 1, further comprising:
the processor querying simulation variables.
11. A functional debugger for a system under design comprising:
a memory enabled to store data and instructions;
a processor enabled to execute instructions retrieved from the memory to perform the steps of:
functional editing in a visual programming environment to author a functional model that describes one or more physical functions that are to be performed by the system under design;
synthesizing a simulation model of the system under design that applies the functional model as an input and generates a corresponding simulation model in an equation- based language;
generating a mapping model that associates the one or more physical functions with one or more executable simulation components in the corresponding simulation model; and
running the simulation model using the one or more executable simulation components and calculating a dynamic behavior of the system under design.
12. The functional debugger of claim 11, wherein the functional editing is performed with a block-flow chart program wherein a block is adapted to transforming an input value into an output value.
13. The functional debugger of claim 12, wherein the functional editing is constrained by a vocabulary of functions and flows implemented on the processor.
14. The functional debugger of claim 12, wherein the transforming is defined by a formal syntax implemented on the processor.
15. The functional debugger of claim 12, wherein the functional editing is enabled to define a material flow, an energy flow and a signal flow.
16. The functional debugger of claim 11, wherein the simulation model is implemented with a declarative equation-based language.
17. The functional debugger of claim 11, wherein the one or more physical functions are decomposed into sub-functions.
18. The functional debugger of claim 11, wherein the simulation model is implemented with an imperative equation-based language.
19. The functional debugger of claim 11, wherein the mapping model specifies how functions and flows in the functional model associate with components and variables in the simulation model.
20. The functional debugger of claim 11, further comprising:
the processor querying simulation variables.
PCT/US2014/012181 2013-01-21 2014-01-20 Functional debugging of equation-based languages WO2014113751A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361754721P 2013-01-21 2013-01-21
US61/754,721 2013-01-21

Publications (1)

Publication Number Publication Date
WO2014113751A1 true WO2014113751A1 (en) 2014-07-24

Family

ID=50073485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/012181 WO2014113751A1 (en) 2013-01-21 2014-01-20 Functional debugging of equation-based languages

Country Status (1)

Country Link
WO (1) WO2014113751A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260555A (en) * 2015-10-28 2016-01-20 苏州同元软控信息技术有限公司 Modelica model-based fault injection system and method
CN105445581A (en) * 2015-11-27 2016-03-30 苏州同元软控信息技术有限公司 Fault detection system based on Modelica model and method
CN106873987A (en) * 2017-01-17 2017-06-20 苏州同元软控信息技术有限公司 A kind of multi-person synergy modeling based on Modelica
CN107357961A (en) * 2017-06-15 2017-11-17 苏州同元软控信息技术有限公司 Spacecraft propulsion system dynamic analysing method based on Modelica models
CN109583104A (en) * 2018-12-04 2019-04-05 中国核动力研究设计院 A kind of nuclear reactor thermal-hydraulic simulation framework method based on modelica specification
CN110953697A (en) * 2019-11-18 2020-04-03 天津大学 Modelica-based air conditioning air system initial balance debugging method
WO2020214075A1 (en) * 2019-04-18 2020-10-22 Calejo Industrial Intelligence Ab Evaluation and/or adaptation of industrial and/or technical process models
CN114818394A (en) * 2022-06-29 2022-07-29 中国汽车技术研究中心有限公司 Debugging method and system for Modelica model process equation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4730315A (en) * 1984-10-17 1988-03-08 Hitachi, Ltd. Diagrammatic method of testing program
US20070260929A1 (en) * 2006-03-22 2007-11-08 Liu Peter T Pluggable debugging interface for graphical notation diagrams
US20080098349A1 (en) * 2001-10-25 2008-04-24 The Mathworks, Inc. Traceability in a modeling environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4730315A (en) * 1984-10-17 1988-03-08 Hitachi, Ltd. Diagrammatic method of testing program
US20080098349A1 (en) * 2001-10-25 2008-04-24 The Mathworks, Inc. Traceability in a modeling environment
US20070260929A1 (en) * 2006-03-22 2007-11-08 Liu Peter T Pluggable debugging interface for graphical notation diagrams

Non-Patent Citations (81)

* Cited by examiner, † Cited by third party
Title
"Aberdeen Group", SYSTEM DESIGN: NEW PRODUCT DEVELOPMENT FOR MCCHATRONICS, January 2008 (2008-01-01)
"Dassault Systcmcs", SOLIDWORKS, Retrieved from the Internet <URL:http://www.solidworks.com>
"Modelica Standard Library.", MODELICA ASSOCIATION
"Modelica", MODELICA ASSOCIATION
"National Instruments", LABVIEW SYSTEM DESIGN SOFTWARE, Retrieved from the Internet <URL:http://www.ni.com/labview>
"Technical report", 2013, NIST, article "Foundations for innovation: Strategic R&D opportunities for the 21st century cyber-physical systems - connecting computer and information systems with the physical world"
A. A. ALVAREZ CABRCRA; M. S. ERDCN; T. TOMIYAMA: "On the potential of function-behavior-state (FBS) methodology for the integration of modeling tools", PROC. OF THE 19TH CIRP DESIGN CONFERENCE- COMPETITIVE DESIGN, 2009, pages 412 - 419
A. A. ALVAREZ CABRERA; M. S. ERDEN; T. TOMIYAMA: "On the potential of function-behavior-state (FBS) methodology for the integration of modeling tools", PROC. OF THE 19TH- C1RP DESIGN CONFERENCE- COMPETITIVE DESIGN, 2009, pages 412 - 419
A. CANEDO; E. SCHWARZENBACH; M. A. AL-FARUQUC: "Context-sensitive synthesis of executable functional models of cybcr-physical systems", ACM/IEEE INTERNATIONAL CONFERENCE ON CYBER-PHYSICAL SYSTEMS, 2013
A. CANEDO; E. SCHWARZENBACH; M. A. AL-FARUQUE: "Context-sensitive synthesis of executable functional models of cyber-physical systems", ACM/IEEE INTERNATIONAL CONFERENCE ON CYBER-PHYSICAL SYSTEMS (ICCPS, 2013
A. VOTINTSEVA; P. WITSCHEL; A. GOEDECKE: "Analysis of a complex system for electrical mobility using a model-based engineering approach focusing on simulation", PROCEDIA COMPUTER SCIENCE, vol. 6, no. 0, 2011, pages 57 - 62, XP028312143, DOI: doi:10.1016/j.procs.2011.08.013
A.A. ALVARCZ CABRCRA; M.J. FOCKCN; O.A. TCKIN; K. WOESTENENK; M.S. ERDEN; B. DE SCHUTTER; M.J.L. VAN TOOREN; R. BABUSKA; F.J.A.M.: "Towards automation of control software: A review of challenges in mechatronic design", MECHATRONICS, vol. 20, no. 8, 2010, pages 876 - 886, XP027524911
A.A. ALVAREZ CABRERA; M.J. FOEKEN; O.A. TEKIN; K. WOESTENENK; M.S. ERDEN; B. DE SCHUTTER; M.J.L. VAN TOOREN; R. BABUSKA; F.J.A.M.: "Towards automation of control software: A review of challenges in mechatronic design", MECHATRONICS, vol. 20, no. 8, 2010, pages 876 - 886, XP027524911
ADRIAN POP; MARTIN SJOLUND; ADEEL ASGHAR; PETER FRITZSON, AND FRANCESCO CASELLA: "Static and dynamic debugging of Modelica® models", PROCEEDINGS OF THE 9TH INTERNATIONAL MODELICA CONFERENCE, 2012, pages 443 - 454
ADRIAN POP; MARTIN SJOLUND; ADEEL ASGHAR; PETER FRITZSON; FRANCESCO CASELLA: "Static and dynamic debugging of Modelica@ models", PROCEEDINGS OF THE 9TH INTERNATIONAL MODELICA CONFERENCE, 2012, pages 443 - 454
ALBCRTO SANGIOVANNI-VINCCNTCLLI: "Quo vadis SLD: Reasoning about trends and challenges of system-level design", PROCEEDINGS OF THE IEEE, vol. 95, no. 3, March 2007 (2007-03-01), pages 467 - 506, XP011179945, DOI: doi:10.1109/JPROC.2006.890107
ALBERTO SANGIOVANNI-VINCENTELLI: "Quo vadis SLD: Reasoning about trends and challenges of system-level design", PROCEEDINGS OF THE IEEE, vol. 95, no. 3, March 2007 (2007-03-01), pages 467 - 506, XP011179945, DOI: doi:10.1109/JPROC.2006.890107
ANSYS. HFSS., Retrieved from the Internet <URL:http://www.ansys.com>
AUTODESK. SIMULATION SOFTWARE, Retrieved from the Internet <URL:http://www.ni.com/labview>
CARI R. BRYANT; ROBERT B. STONE; DANIEL A. MCADAMS; TOLGA KURTOGLU; MATTHEW I. CAMPBELL: "Concept generation from the functional basis of design", PROC. OF INTERNATIONAL CONFERENCE ON ENGINEERING DESIGN, ICED 2005, 2005, pages 15 - 18
CARI R; BRYANT, ROBERT B. STONE; DANIEL A. MCADAMS; TOLGA KURTOGLU; MATTHEW I. CAMPBELL: "Concept generation from the functional basis of design", PROC. OF INTERNATIONAL CONFERENCE ON ENGINEERING DESIGN, ICED 2005, 2005, pages 15 - 18
CHRISTIAAN J.J. PAREDIS; YVES BERNARD; ROGER M. BURKHART; HANS-PETER DE KONING; SANFORD FRIEDENTHAL; PETER FRITZSON; NICOLAS F. RO: "An overview of the SysML-Modelica transformation specification", INCOSE INTERNATIONAL SYMPOSIUM, 2010
D. DUMBACHER; S. R. DAVIS: "Building operations efficiencies into NASA's Ares I crew launch vehicle design", 54TH JOINT JANNAF PROPULSION CONFERENCE, 2007
D. GROSS; J. F. SHORTLE; J. M. THOMPSON; C. M. HARRIS: "Fundamentals of Queueing Theory", 2011, WILEY
E. CHRISTEN; K. BAKALAR: "Vhdl-ams-a hardware description language for analog and mixed- signal applications", CIRCUITS AND SYSTEMS II: ANALOG AND DIGITAL SIGNAL PROCESSING, IEEE TRANSACTIONS, vol. 46, no. 10, October 1999 (1999-10-01), pages 1263 - 1272
E. L. NILSON; P. FRITZON: "BioChem - A Biological and Chemical Library for Modelica", PROC. OF THE 3RD INTL. MODCLICA CONFERENCE, 2003, pages 215 - 220
F. E. CELLIER: "Continuous System Modeling", 1991, SPRINGER-VERLAG
G. PAHL; W. BEITZ; J. FELDHUSEN; K.H. GROTE: "Engineering Design - A Systematic Approach", 2007, SPRINGER
G. S. FISHMAN: "Discrete-Event Simulation - Modeling, Programming, and Analysis", 2001, SPRINGER
H. KUEHNELT; THOMAS BAEUML; ANTON HAUMER: "SoundDuctFlow: a Modelica© library for modeling acoustics and flow in duct networks", PROC. OF THE 7TH INTL. MODELICA CONFERENCE, 2009, pages 519 - 525
HITOSHI KOMOTO; TETSUO TOMIYAMA: "A framework for computer-aided conceptual design and its application to system architecting of mechatronics products", COMPUT. AIDED DES., vol. 44, no. 10, October 2012 (2012-10-01), pages 931 - 946, XP028491656, DOI: doi:10.1016/j.cad.2012.02.004
INSUP LEE; OLEG SOKOLSKY; SANJIAN CHEN; JOHN HATCLIFF; EUNKYOUNG JEE; BAEKGYU KIM; ANDREW L. KING; MARGARET MULLEN-FORTINO; SOOJIN: "Challenges and research directions in medical cyber-physical systems", PROCEEDINGS OF THE IEEE, vol. 100, no. 1, 2012, pages 75 - 90, XP011390107, DOI: doi:10.1109/JPROC.2011.2165270
J. EKER; J.W. JANNECK; E.A. LEE; JIE LIU; XIAOJUN LIU; J. LUDVIG; S. NEUENDORFFER; S. SACHS; YUHONG XIONG: "Taming heterogeneity - the ptolemy approach", PROCEEDINGS OF THE IEEE, vol. 91, no. 1, January 2003 (2003-01-01), pages 127 - 144, XP011065096
JANOS SZTIPANOVITS; XENOFON KOUTSOUKOS; GABOR KARSAI; NICHOLAS KOTTENSTETTE; PANOS ANTSAKLIS; VIJAY GUPTA; BILL GOODWINE; JOHN BAR: "Toward a science of cyber-physical system integration", PROCEEDINGS OF THE IEEE, vol. 100, no. 1, 2012, pages 29 - 44, XP011390101, DOI: doi:10.1109/JPROC.2011.2161529
JEFFREY B. DAHMUS; JAVIER P; GONZALEZ-ZUGASTI; KEVIN N. OTTO: "Modular product architecture", DESIGN STUDIES, vol. 22, no. 5, September 2011 (2011-09-01), pages 409 - 424
JMODELICA, Retrieved from the Internet <URL:http://www.jmodelica.org>
JMODELICA, Retrieved from the Internet <URL:http://wwwjmodelica.org>
JULIE HIRTZ; ROBERT B. STONC; SIMON SZYKMAN; DANIEL A. MCADAMS; KRISTIN L. WOOD: "A functional basis for engineering design: Reconciling and evolving previous efforts", TECHNICAL REPORT, NIST, 2002
JULIE HIRTZ; ROBERT B. STONE; SIMON SZYKMAN; DANIEL A. MCADAMS; KRISTIN L. WOOD: "A functional basis for engineering design: Reconciling and evolving previous efforts", TECHNICAL REPORT, NIST, 2002
LAWRENCE BERKELEY, NATIONAL LABORATORY - MODELICA BUILDINGS LIBRARY, Retrieved from the Internet <URL:http://simulationrcscarch.lbl.gov/modclica>
M.S. ERDEN; H. KOMOTO; T.J. VAN BEEK; V.D'AMELIO; E. ECHAVARRIA; T. TOMIYAMA: "A review of function modeling: approaches and applications", ARTIFICIAL INTELLIGENCE FOR ENGINEERING DESIGN, ANALYSIS AND MANUFACTURING, vol. 22, 2008, pages 147 - 169
M.S. ERDEN; H. KOMOTO; T.J. VAN BEEK; V.D'AMELIO; E. ECHAVARRIA; T. TOMIYAMA: "A review of function modeling: approaches and applications. Artificial Intelligence for Engineering Design", ANALYSIS AND MANUFACTURING, vol. 22, 2008, pages 147 - 169
MANFRED BROY; MARIO GLEIRSCHER; PETER KLUGE; WOLFGANG KRENZER; STEFANO MERENDA; DORIS WILD: "Automotive architecture framework: Towards a holistic and standardized system architecture description", TECHNICAL REPORT, TUM, 2009
MARTIN OTTER; KARL-ERIK ARZEN; ISOLDE DRESSLER: "Stategraph-A Modelica@ library for hierarchical state machines", MODELICA 2005 PROCEEDINGS, 2005
MATHWORKS(&. SIMSCAPETM, Retrieved from the Internet <URL:http://www.mathworks.com/products/simscape>
MATHWORKS. SIMULINK, Retrieved from the Internet <URL:URLhttp://www.mathworks.com/products/simulink>
MCS SOFTWARE. ACTRAN ACOUSTICS, Retrieved from the Internet <URL:http://www.mscsoftware.com/product/actran-acoustics>
MICROSOFT. VISIO, Retrieved from the Internet <URL:http://msdn.microsoft.com>
MODELON - VEHICLE DYNAMICS LIBRARY, Retrieved from the Internet <URL:http://www.modelon.com>
MODELON. HYDRAULICS LIBRARY, Retrieved from the Internet <URL:http://www.modelon.com/products/modelica-libraries/hydraulics-library>
OMG SYSTEMS MODELING LANGUAGE (SYSML, Retrieved from the Internet <URL:http://www.omgsysml.org>
OPENMODELICA, Retrieved from the Internet <URL:https://www.openmodelica.org>
OREGON STATE UNIVERSITY, DESIGN ENGINEERING LAB, DESIGN REPOSITORY, Retrieved from the Internet <URL:http://designengineeringlab.org/>>
PETER BUNUS: "An empirical study on debugging equation based simulation models", PROCEEDINGS OF THE 4TH INTERNATIONAL MODELICA CONFCRCNCC, 2005, pages 281 - 288
PETER BUNUS: "An empirical study on debugging equation based simulation models", PROCEEDINGS OF THE 4TH INTERNATIONAL MODELICA CONFERENCE, 2005, pages 281 - 288
PETER FRITZSON: "Principles of Object-Oriented Modeling and Simulation with Modelica", IEEE, 2004
PETER FRITZSON: "Principles of Object-Oriented Modeling and Simulation with Modelica®", IEEE, 2004
PETER SCHWARZ: "Physically oriented modeling of heterogeneous systems", MATH. COMPUT. SIMUL., vol. 53, no. 4-6, October 2000 (2000-10-01), pages 333 - 344
RAGUNATHAN (RAJ) RAJKUMAR; INSUP LEE; LUI SHA; JOHN STANKOVIC: "Proceedings of the 47th Design Automation Conference, DAC '10", 2010, ACM, article "Cyber-physical systems: the next computing revolution", pages: 731 - 736
ROBERT B. STONE; KRISTIN L WOOD: "Development of a functional basis for design", JOURNAL OF MECHANICAL DESIGN, vol. 122, no. 4, 2000, pages 359 - 370
ROBERT B. STONE; KRISTIN L. WOOD: "Development of a functional basis for design", JOURNAL OF MECHANICAL DESIGN, vol. 122, no. 4, 2000, pages 359 - 370
S.D. RUDOV-CLARK; J. STECKI: "The language of FMEA: on the effective use and reuse of FMEA data.", AIAC-13 THIRTEENTH AUSTRALIAN INTERNATIONAL AEROSPACE CONGRESS, 2009
S.D. RUDOV-CLARK; J. STECKI: "The language ofFMEA: on the effective use and reuse of FMEA data", AIAC-13 THIRTEENTH AUSTRALIAN INTERNATIONAL AEROSPACE CONGRESS, 2009
SERDAR UCKUN: "Technical report", 2011, PALO ALTO RESEARCH CENTER, article "Meta II: Formal co-verification of correctness of large-scale cyber-physical systems during design"
SIEMENS. NX, Retrieved from the Internet <URL:http://www.plm.automation.siemens.com>
SIEMENS. SIMULATION & TESTING SIMIT, Retrieved from the Internet <URL:http://www.siemens.com>
SIEMENS. TECHNOMATIX, Retrieved from the Internet <URL:http://www.plm.automation.siemens.com>
STEFAN W61KL; KRISTINA SHEA: "A computational product model for conceptual design using SysML", ASME CONFERENCE PROC., 2009, 2009, pages 635 - 645
STEFAN WOLKL; KRISTINA SHEA: "A computational product model for conceptual design using SysML", ASME CONFERENCE PROC., 2009, 2009, pages 635 - 645
STEPHEN J. MELLOR; MARC BALCER: "Executable UML: A Foundation for Model-Driven Architectures", 2002, ADDISON-WESLEY LONGMAN PUBLISHING CO., INC.
T. BLOCHWITZ; M. OTTER; M. ARNOLD; C. BAUSCH; C. CLAUSS; H. ELMQVIST; A. JUNGHANNS; J. MAUSS; M. MONTEIRO; T. NEIDHOLD: "The functional mockup interface for tool independent exchange of simulation models", PROCEEDINGS OF THE 8TH MODELICA CONFERENCE, 2011, pages 105 - 114
THOM J. VAN BEEK; MUSTAFA S. ERDEN; TETSUO TOMIYAMA: "Modular design of mechatronic systems with function modeling", MECHATRONICS, vol. 20, no. 8, 2010, pages 850 - 863, XP027524909
THOMAS L. QUARLES: "Analysis of Performance and Convergence Issues for Circuit Simulation", PHD THESIS, EECS DEPARTMENT, UNIVERSITY OF CALIFORNIA, 1989
TOLGA KURTOGLU; MATTHEW I. CAMPBELL: "Automated synthesis of electromechanical design configurations from empirical analysis of function to form mapping", JOURNAL OF ENGINEERING DESIGN, 2008, pages 19
VENKAT RAJAGOPALAN; CARI R. BRYANT; JEREMY JOHNSON; DANIEL A. MCADAMS; ROBERT B. STONE; TOLGA KURTOGLU; MATTHEW I. CAMPBELL: "Creation of assembly models to support automated concept generation", ASME CONFERENCE PROC., 2005, 2005, pages 259 - 266
VENKAT RAJAGOPALAN; CARI R. BRYANT; JEREMY JOHNSON; DANIEL A. MCADAMS; ROBERT B. STONE; TOLGA KURTOGLU; MATTHEW I. CAMPBELL: "Creation of assembly models to support automated concept generation", ASME CONFERENCE PROC., 2005, pages 259 - 266
WLADIMIR SCHAMAI; PETER FRITZSON; CHRIS PAREDIS; ADRIAN POP: "Towards unified system modeling and simulation with ModelicaML: Modeling of executable behavior using graphical notations", PROCEEDINGS OF THE 7TH MODELICA CONFERENCE, 2009, pages 612 - 621, XP055081251, DOI: doi:10.3384/ecp09430081
WOLFGANG WAHLSTER: "Industry 4.0: From smart factories to smart products", FORUM BUSINESS MEETS RESEARCH, 2012
WOLFRAM, SYSTEMMODELER, Retrieved from the Internet <URL:http://www.wolfram.com/systcm-modclcr/industry-cxamplcs/automotivc- transportation>
WOLFRAM, SYSTEMMODELER, Retrieved from the Internet <URL:http://www.wolfram.com/system-modeler>
Y. UMEDA; H. TAKEDA; T. TOMIYAMA; H. YOSHIKAWA: "Function, behaviour, and structure", APPLICATIONS OF ARTIFICIAL INTELLIGENCE IN ENGINEERING V, vol. 1, 1990, pages 177 - 194

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260555A (en) * 2015-10-28 2016-01-20 苏州同元软控信息技术有限公司 Modelica model-based fault injection system and method
CN105260555B (en) * 2015-10-28 2018-11-02 苏州同元软控信息技术有限公司 A kind of fault injection system and its method based on Modelica models
CN105445581A (en) * 2015-11-27 2016-03-30 苏州同元软控信息技术有限公司 Fault detection system based on Modelica model and method
CN105445581B (en) * 2015-11-27 2018-05-22 苏州同元软控信息技术有限公司 A kind of fault detection system and its method based on Modelica models
CN106873987A (en) * 2017-01-17 2017-06-20 苏州同元软控信息技术有限公司 A kind of multi-person synergy modeling based on Modelica
CN107357961A (en) * 2017-06-15 2017-11-17 苏州同元软控信息技术有限公司 Spacecraft propulsion system dynamic analysing method based on Modelica models
CN109583104A (en) * 2018-12-04 2019-04-05 中国核动力研究设计院 A kind of nuclear reactor thermal-hydraulic simulation framework method based on modelica specification
CN109583104B (en) * 2018-12-04 2022-02-22 中国核动力研究设计院 Nuclear reactor thermal hydraulic simulation architecture method based on modelica specification
WO2020214075A1 (en) * 2019-04-18 2020-10-22 Calejo Industrial Intelligence Ab Evaluation and/or adaptation of industrial and/or technical process models
CN110953697A (en) * 2019-11-18 2020-04-03 天津大学 Modelica-based air conditioning air system initial balance debugging method
CN114818394A (en) * 2022-06-29 2022-07-29 中国汽车技术研究中心有限公司 Debugging method and system for Modelica model process equation
CN114818394B (en) * 2022-06-29 2022-09-20 中国汽车技术研究中心有限公司 Debugging method and system for Modelica model process equation

Similar Documents

Publication Publication Date Title
Naujokat et al. CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools
WO2014113751A1 (en) Functional debugging of equation-based languages
Lédeczi et al. Composing domain-specific design environments
Johnson et al. Integrating models and simulations of continuous dynamics into SysML
Cabrera et al. Towards automation of control software: A review of challenges in mechatronic design
Canedo et al. Context-sensitive synthesis of executable functional models of cyber-physical systems
Sztipanovits et al. Model and tool integration platforms for cyber–physical system design
Kalawsky et al. Bridging the gaps in a model-based system engineering workflow by encompassing hardware-in-the-loop simulation
Lattmann et al. Towards automated evaluation of vehicle dynamics in system-level designs
Armengaud et al. Integrated tool-chain for improving traceability during the development of automotive systems
Romero et al. A user-centric computer-aided verification process in a virtuality-reality continuum
US20180060457A1 (en) Method and system for comparing block diagrams
Schlingloff Cyber-physical systems engineering
Becker et al. A graph-based algorithm for consistency maintenance in incremental and interactive integration tools
Gómez et al. Software requirements for interoperable and standard-based power system modeling tools
Zaeh et al. Model-driven development of PLC software for machine tools
Larsen et al. Integrated tool chain for model-based design of cyber-physical systems
Fitzgerald et al. Co-modelling and co-simulation in embedded systems design
Törngren et al. Model-based development of automotive embedded systems
Wen et al. “Integrare”, a collaborative environment for behavior-oriented design
Hugues et al. Twinops: Digital twins meets devops
Yang A simulation framework for the validation of Event-B specifications
Vu et al. Validation of formal models by interactive simulation
Bailey et al. A framework for automated model interface coordination using SysML
Wan et al. Concept design: modeling and synthesis from requirements to functional models and simulation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14704007

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14704007

Country of ref document: EP

Kind code of ref document: A1