ABSTRACT
We propose DEVS-Driven Modeling Language (DDML), a graphical notation for DEVS [1] modeling and an Eclipse-based graphical editor, Eclipse-DDML. DDML attempts to bridge the gap between expert modelers and domain experts making it easy to model systems, and capture the static, dynamic, and functional aspects of a system. At the same time, it unifies C-DEVS and P-DEVS models. DDML integrates excellent modeling concepts from powerful formalisms and glues them in one unique consistent framework. Eclipse-DDML provides enhanced graphical editing; further simplifying model construction and promoting good modeling practices. Integration with eclipse simplifies software development, installation, and updates. This also makes the editor extensible.
TABLE OF CONTENTS
Acknowledgement ……………………………………………………………………………………………………… iii
Abstract ……………………………………………………………………………………………………………………. iv
List of Figures ………………………………………………………………………………………………………….. vii
Chapter 1. Introduction ………………………………………………………………………………………………… 1
1.1. Motivation …………………………………………………………………………………………………… 1
1.2. Objective …………………………………………………………………………………………………….. 1
1.3. Structure of the Work ……………………………………………………………………………………. 2
Chapter 2. Discrete Event System Specification (DEVS) …………………………………………………. 3
2.1. The DEVS Formalism …………………………………………………………………………………… 3
2.1.1. Parallel DEVS ………………………………………………………………………………………. 5
2.1.2. DEVS simulation algorithms …………………………………………………………………… 6
2.2. Tools for DEVS ……………………………………………………………………………………………. 8
Chapter 3. DEVS Driven Modelling Language (DDML) ……………………………………………….. 11
3.1. DDML Processes ………………………………………………………………………………………… 11
3.1.1. Relation to Classical DEVS Theory ……………………………………………………….. 12
3.1.2. Relation to Parallel DEVS Theory …………………………………………………………. 13
3.2. DDML States and States Transition ………………………………………………………………. 13
3.2.1. Relation to Classical DEVS Theory ……………………………………………………….. 16
3.2.2. Relation to Parallel DEVS Theory …………………………………………………………. 17
3.3. Modeling a Traffic Light System Using DDML ……………………………………………… 17
Chapter 4. Building Graphical Editors with Eclipse ………………………………………………………. 21
4.1. Overview of Eclipse ……………………………………………………………………………………. 21
4.2. Eclipse Plugin Environment …………………………………………………………………………. 22
4.3. Eclipse Modeling Framework (EMF) ……………………………………………………………. 24
4.4. Graphical Editing Framework (GEF) …………………………………………………………….. 25
4.5. Graphical Modeling Framework (GMF) ………………………………………………………… 26
4.5.1. Runtime Framework …………………………………………………………………………….. 26
4.5.2. Tooling Framework ……………………………………………………………………………… 26
4.5.3. Graphical Definition Model ………………………………………………………………….. 27
4.5.4. Tooling Definition Model …………………………………………………………………….. 27
4.5.5. Mapping Definition Model ……………………………………………………………………. 28
4.5.6. Generator Model ………………………………………………………………………………….. 28
Chapter 5. Architecture of Eclipse-DDML Graphical Editor ………………………………………….. 29
5.1. The DDML Coupled Model Editor ……………………………………………………………….. 31
5.1.1. Graphical Definition (DDML_Model.gmfgraph) …………………………………….. 31
5.1.2. DDML Tooling Definition ……………………………………………………………………. 35
5.1.3. DDML Mapping Definition ………………………………………………………………….. 35
5.1.4. DDML Generator Model ………………………………………………………………………. 38
5.2. The DDML Atomic Model Editor …………………………………………………………………. 39
5.2.1. Atomic Model Graphical Definition ………………………………………………………. 39
5.2.2. Atomic Model Tooling Definition …………………………………………………………. 44
5.2.3. Atomic Model Mapping Definition ………………………………………………………… 44
5.2.4. Atomic Model Generator Model ……………………………………………………………. 45
5.3. Creating the DDML UI Plugin ……………………………………………………………………… 46
Chapter 6. Using the Eclipse-DDML Graphical Editor ………………………………………………….. 47
6.1. The DDML Coupled Model Editor ……………………………………………………………….. 47
CHAPTER ONE
Introduction
1.1. Motivation
To model is to abstract from reality a description of a dynamic system. Modeling serves as a language for describing systems at some level of abstraction, or additionally, at multiple levels of abstraction. Modeling is a way of thinking and reasoning about systems.
Several methodologies and tools have been developed for modeling of dynamic systems. Most of these tools require the modeler to be an expert in programming and/or mathematics. Verifying models built with these tools with domain experts is difficult because a wide knowledge gap exists between the domain expert and the expert modeler. Also, modeling and simulation activities are wide apart. Modeling involves developing multiple levels of abstractions of a system and capturing these abstractions with algorithms that represent the static, dynamic and functional aspects of the system under study. The primary issues in simulation are timing aspects identification and time management. A generic approach is recommended to integrate advanced modeling into generic simulation methodologies. Hence, both simulation and software engineering domain expertise should be integrated in the modeling and simulation process. And since there is an underlying simulation operational semantic, there is no need for paradigm/formalism transformation.
In order to realize this solution, an intermediate level of abstraction has to be adopted, which is high enough to be generalized (and accessible to a wide community) and low enough to reduce complexity of code synthesis. This representation needs to express the structural and behavioral characteristics described by declarative and functional models and this must be inherently coherent. This integrative approach should allow the use of a user-familiar language/notation with a potential for formal specification of data and operations, and therefore the simulation system.
We define the DEVS-Driven Modeling Language (DDML) to be such a notation. DDML presents a graphical notation to effectively realize DEVS models. The concrete syntax of DDML is based on the flowchart, State-Event-Chart, Flow-Trace, State-Event-Trace, and abstract data structure graph [3]. All of these elements are amenable to formal analysis and all of them have their exact DEVS equivalent (which provides the operational semantics). DDML provides graphical notations for defining coupled models and atomic models. Furthermore, atomic models can be defined using state transition charts (internal and external state transitions), while taking cognizance of simulation timing.
To facilitate defining simulation models using DDML, we leverage Eclipse’s very rich infrastructure to develop a graphical editing tool that realizes the graphical notations for DDML. Our editor provides a rich palette of tools, with drag and drop facilities. Integration with Eclipse’s platform also eases software development and makes our tool extensible while simplifying software development, installation and updates.
1.2. Objective
The objective of this work is to present the DEVS Driven Modeling Language (DDML), a graphical notation for modeling dynamic systems based on DEVS and an Eclipse-based graphical modeling tool based on DDML. The model, when defined in DDML using this tool would be amenable to formal analysis and automated code synthesis.
2
1.3. Structure of the Work
In the next chapter, we review the theory of DEVS and several tools that have been used to define models based on DEVS. In chapter 2, we present the DEVS formalism. In chapter 3, we present the DEVS Driven Modeling Language (DDML) with an illustrative example and we show how its graphical notations relate to DEVS. In chapter 4, we present the eclipse platform and discuss the tools that eclipse provides for building graphical editors. In chapter 5, we present the architecture of the Eclipse-based graphical editor for DDML and how it was built. In chapter 6, we present the Eclipse-DDML graphical editor and how to use it.
IF YOU CAN'T FIND YOUR TOPIC, CLICK HERE TO HIRE A WRITER»