VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl
|
|
- Natalie Webb
- 8 years ago
- Views:
Transcription
1 VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl
2 Overview of EMF Eclipse Modeling Framework (EMF) Modeling framework and code generation facility Employs structured data model that can be used by other tools Capabilities Define data structures (save and load, cross references, listeners etc.) Generate code Specify languages (graphical, textual) Perform validation Transform model representations Generate editors (graphical, textual) The Eclipse Modeling Framework (EMF) - Christoph Seidl 2
3 EMF is very powerful but ETL Ecore The Eclipse Modeling Framework (EMF) - Christoph Seidl 3
4 Overview of Presentation Generative Model-Based Programming Textual Domain-Specific Languages Graphical Editors/Viewers and Data Visualization Code Generation using Template Engines Further Tools and Technologies Validation Model-to-Model Transformation Data Handling Searching and Finding Model Elements Misc. Tools and Technologies The Eclipse Modeling Framework (EMF) - Christoph Seidl 4
5 The Eclipse Modeling Framework (EMF) Generative Model-Based Programming
6 Terms and Definitions Model Abstraction from real world capturing important aspects (and neglecting the ones not important) regarding an application area Application area here is software development for the target domain Can be expressed as textual language, graphical notation, various data structures etc. Meta Model Blueprint /building rules for models Describe what model elements may exist and how they interrelate Meta Meta Model Building rules for meta model In the case of EMF: Ecore The Eclipse Modeling Framework (EMF) - Christoph Seidl 6
7 EMF Ecore MOF (Meta Object Facility) Specifies standard for meta meta models Defined by the Object Management Group (OMG) Complex EMOF (Essential MOF) Simplified/reduced version of standard for meta meta models EMF Ecore Implementation of EMOF Uses structured data for models that other tools can build upon Meta modeling notation of EMF (meta meta model) Tightly integrates with Eclipse but can be used without it The Eclipse Modeling Framework (EMF) - Christoph Seidl 7
8 Things you get for Free with Ecore Source code for models Change listener support Automatic handling of cross/opposite references Serialization/deserialization (save/load) Visual tree-based editor Property sheets Eclipse integration Compatibility with many other tools The Eclipse Modeling Framework (EMF) - Christoph Seidl 8
9 What (not) to expect from EMF What model-based development in EMF is Specification (closed world assumption) Data description (and more) Suitable for many platforms through code generation Aid in developing software (esp. tools) What model-based development in EMF is not Description/knowledge engineering (no open world assumption) Just another form of object-oriented programming Fully platform independent Panacea/silver bullet (there are caveats and pitfalls) The Eclipse Modeling Framework (EMF) - Christoph Seidl 9
10 Notation: Cardinality-Based Feature Model Feature [1..1] AutomotiveMultimedia [1..3] Group [0..1] AudioPlayer [1..1] OnBoardComputer [1..2] [0..1] PersonalNavigation [1..2] [1..1] Radio [0..1] CDPlayer [0..1] VoiceRecognition [1..1] Maps [1..1] [0..1] AudioCDPlayer [0..1] MP3CDPlayer Feature cardinality: 0..1 is optional 1..1 is mandatory Group cardinality: 1..1 is alternative 1..n is or m..n is arbitrary The notation of cardinality-based feature models and the content presented here will serve as running example. The Eclipse Modeling Framework (EMF) - Christoph Seidl 10
11 Practical Example Specifying a Meta Model
12 Create a Plugin Project The Eclipse Modeling Framework (EMF) - Christoph Seidl 12
13 Create a Plugin Project The Eclipse Modeling Framework (EMF) - Christoph Seidl 13
14 Create a Plugin Project The Eclipse Modeling Framework (EMF) - Christoph Seidl 14
15 Create a Plugin Project The Eclipse Modeling Framework (EMF) - Christoph Seidl 15
16 Create a Plugin Project The Eclipse Modeling Framework (EMF) - Christoph Seidl 16
17 Create a Folder for (Meta) Models The Eclipse Modeling Framework (EMF) - Christoph Seidl 17
18 Create a Folder for (Meta) Models The Eclipse Modeling Framework (EMF) - Christoph Seidl 18
19 Create the Meta Model (Diagram) The Eclipse Modeling Framework (EMF) - Christoph Seidl 19
20 Create the Meta Model (Diagram) The Eclipse Modeling Framework (EMF) - Christoph Seidl 20
21 Create the Meta Model (Diagram) The Eclipse Modeling Framework (EMF) - Christoph Seidl 21
22 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 22
23 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 23
24 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 24
25 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 25
26 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 26
27 Create Meta Model Elements Set type of attribute. The Eclipse Modeling Framework (EMF) - Christoph Seidl 27
28 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 28
29 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 29
30 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 30
31 Create Meta Model Elements Create generalization link. The Eclipse Modeling Framework (EMF) - Christoph Seidl 31
32 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 32
33 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 33
34 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 34
35 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 35
36 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 36
37 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 37
38 Create Meta Model Elements Containment reference: owns referenced element (serialization). An object can only be in one containment relation at a time. The Eclipse Modeling Framework (EMF) - Christoph Seidl 38
39 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 39
40 Create Meta Model Elements The Eclipse Modeling Framework (EMF) - Christoph Seidl 40
41 Set Meta Model Namespace URI Namespace URI is the unique identifier of the meta model (click on diagram background to see). The Eclipse Modeling Framework (EMF) - Christoph Seidl 41
42 Set Meta Model Namespace URI Set it to a value unique and under your control (usually webpage URL). The Eclipse Modeling Framework (EMF) - Christoph Seidl 42
43 Inspect Meta Model in.ecore File (optional) Underlying representation of feature meta model. Meta model could be specified in this editor as well. The Eclipse Modeling Framework (EMF) - Christoph Seidl 43
44 Practical Example Generating Model Code from the Meta Model
45 How it Works: Code Generation Meta model (.ecore) is platform independent No idea about packages, Java classes etc. Can (in theory) be used to generate any kind of source code Ecore has generator for Java code Needs platform information! Generator Model (.genmodel) Contains information for code generation Java compliance level Which projects to generate Which packages to use Names for Java classes are derived from Ecore classes Possible to include generator models of referenced meta models to reuse their generated code (not covered here) The Eclipse Modeling Framework (EMF) - Christoph Seidl 45
46 Create Generator Model (.genmodel) The Eclipse Modeling Framework (EMF) - Christoph Seidl 46
47 Create Generator Model (.genmodel) The Eclipse Modeling Framework (EMF) - Christoph Seidl 47
48 Create Generator Model (.genmodel) The Eclipse Modeling Framework (EMF) - Christoph Seidl 48
49 Create Generator Model (.genmodel) The Eclipse Modeling Framework (EMF) - Christoph Seidl 49
50 Create Generator Model (.genmodel) Load manually! The Eclipse Modeling Framework (EMF) - Christoph Seidl 50
51 Create Generator Model (.genmodel) The Eclipse Modeling Framework (EMF) - Christoph Seidl 51
52 Create Generator Model (.genmodel) The Eclipse Modeling Framework (EMF) - Christoph Seidl 52
53 Customize Generator Model The Eclipse Modeling Framework (EMF) - Christoph Seidl 53
54 Customize Generator Model: Model The Eclipse Modeling Framework (EMF) - Christoph Seidl 54
55 Customize Generator Model: Model Set directories to generate code in the src-gen folder instead of the src folder. (Best practice, benefits follow later) Do this for: Edit Directory, Editor Directory, Model Directory, Tests Directory The Eclipse Modeling Framework (EMF) - Christoph Seidl 55
56 Customize Generator Model: Package Set base package for code generation to a plausible value. The string value of Ecore.Package.NSPrefix will be appended. The Eclipse Modeling Framework (EMF) - Christoph Seidl 56
57 Generate Model Code The Model code is the source code representing the described data model. The Eclipse Modeling Framework (EMF) - Christoph Seidl 57
58 Inspect Generated Model Code (optional) Generated classes for meta model classes are divided into interface (e.g., Feature ) and its default implementation (e.g., FeatureImpl ). The Eclipse Modeling Framework (EMF) - Christoph Seidl 58
59 Inspect Generated Model Code (optional) The Factory class creates objects for specified types of the meta model (e.g. new FeatureImpl() for Feature). The Package class has knowledge of all the types of the meta model, the namespace etc. The Eclipse Modeling Framework (EMF) - Christoph Seidl 59
60 Practical Example Creating a Model using the Generated Editor
61 Generate Edit Code The Eclipse Modeling Framework (EMF) - Christoph Seidl 61
62 Generate Edit Code Edit code defines how model elements are represented for editing in multiple editors (which values with which ranges to edit, what icons to use etc.). The Eclipse Modeling Framework (EMF) - Christoph Seidl 62
63 Generate Editor Code The Eclipse Modeling Framework (EMF) - Christoph Seidl 63
64 Generate Editor Code Editor code implements a basic tree-based editor to create models obeying meta model. The Eclipse Modeling Framework (EMF) - Christoph Seidl 64
65 Generate Edit and Editor Code Generating stubs for tests is also possible but the test need manual implementation (not shown here). The Eclipse Modeling Framework (EMF) - Christoph Seidl 65
66 Start Runtime Eclipse Instance to Use Editor The Eclipse Modeling Framework (EMF) - Christoph Seidl 66
67 Development and Runtime Instance of Eclipse Until further notice, we are operating in the runtime instance of Eclipse! The Eclipse Modeling Framework (EMF) - Christoph Seidl 67
68 Create an Example Model The Eclipse Modeling Framework (EMF) - Christoph Seidl 68
69 Create an Example Model The Eclipse Modeling Framework (EMF) - Christoph Seidl 69
70 Create an Example Model The Eclipse Modeling Framework (EMF) - Christoph Seidl 70
71 Create an Example Model The Eclipse Modeling Framework (EMF) - Christoph Seidl 71
72 Create an Example Model Pick the root element of the model (e.g., FeatureModel abbreviated to Model by editor due to meta model name Feature ). The Eclipse Modeling Framework (EMF) - Christoph Seidl 72
73 Create an Example Model The Eclipse Modeling Framework (EMF) - Christoph Seidl 73
74 Create Model Elements Editor allows only creation of appropriate elements. The Eclipse Modeling Framework (EMF) - Christoph Seidl 74
75 Create Model Elements Property sheets are generated from attributes in meta model classes. The Eclipse Modeling Framework (EMF) - Christoph Seidl 75
76 Create Model Elements [1..1] AutomotiveMultimedia [1..3] [0..1] AudioPlayer [1..1] OnBoardComputer [1..2] [0..1] AudioCDPlayer [0..1] MP3CDPlayer [0..1] PersonalNavigation [1..1] Radio [0..1] CDPlayer [0..1] VoiceRecognition [1..1] Maps [1..1] [1..2] After this slide, we are back in the development instance of Eclipse! The Eclipse Modeling Framework (EMF) - Christoph Seidl 76
77 Practical Example Creating a Model Programmatically
78 Creating a Model Programmatically Factory is a singleton that creates all instances of meta model classes (careful when defining model programmatically and overriding factory - see later) The Eclipse Modeling Framework (EMF) - Christoph Seidl 78
79 Practical Example Operations for Meta Model Classes
80 Add an Operation The Eclipse Modeling Framework (EMF) - Christoph Seidl 80
81 Add an Operation The Eclipse Modeling Framework (EMF) - Christoph Seidl 81
82 Add an Operation The Eclipse Modeling Framework (EMF) - Christoph Seidl 82
83 Add an Operation The Eclipse Modeling Framework (EMF) - Christoph Seidl 83
84 Add an Operation The Eclipse Modeling Framework (EMF) - Christoph Seidl 84
85 Regenerate Meta Model Code The Eclipse Modeling Framework (EMF) - Christoph Seidl 85
86 Regenerate Meta Model Code The Eclipse Modeling Framework (EMF) - Christoph Seidl 86
87 Regenerate Meta Model Code The Eclipse Modeling Framework (EMF) - Christoph Seidl 87
88 Regenerate Meta Model Code The Eclipse Modeling Framework (EMF) - Christoph Seidl 88
89 Inspect Generated Code (optional) Interface defines method. The Eclipse Modeling Framework (EMF) - Christoph Seidl 89
90 Inspect Generated Code (optional) Impl creates standard implementation (to be overwritten). The Eclipse Modeling Framework (EMF) - Christoph Seidl 90
91 Practical Example Customizing Generated Code (Naive Way Don t do this!)
92 Writing into Generated Code Files Mark method NOT so that it is not overwritten with next generation. Write your code directly in the generated Impl file. Do NOT do this. Mixes generated and manually created code. Horrible for maintenance and version control! The Eclipse Modeling Framework (EMF) - Christoph Seidl 92
93 Practical Example Customizing Generated Code (Using Annotations Don t do this either!)
94 Annotate Operation with Implementation The Eclipse Modeling Framework (EMF) - Christoph Seidl 94
95 Annotate Operation with Implementation The Eclipse Modeling Framework (EMF) - Christoph Seidl 95
96 Annotate Operation with Implementation The Eclipse Modeling Framework (EMF) - Christoph Seidl 96
97 Annotate Operation with Implementation The Eclipse Modeling Framework (EMF) - Christoph Seidl 97
98 Annotate Operation with Implementation Code generator will use annotation and place string value (!) as implementation of operation. Do NOT do this. Includes code (low abstraction) in meta model (high abstraction). Bad practice, no type safety whatsoever and hard to find where logic is specified. The Eclipse Modeling Framework (EMF) - Christoph Seidl 98
99 Practical Example Customizing Generated Code (Using the Generation Gap Pattern Do this!)
100 The Generation Gap Pattern src-gen folder generated src folder manual The Eclipse Modeling Framework (EMF) - Christoph Seidl 100
101 Use the src Folder Manually created code goes into src folder, generated code goes into src-gen. The Eclipse Modeling Framework (EMF) - Christoph Seidl 101
102 Create Custom Specializations Create new package impl.custom in src folder. The Eclipse Modeling Framework (EMF) - Christoph Seidl 102
103 Create Custom Specializations Create custom specialization of meta model class. The Eclipse Modeling Framework (EMF) - Christoph Seidl 103
104 Create Custom Specializations Override functionality in custom class. The Eclipse Modeling Framework (EMF) - Christoph Seidl 104
105 Create Custom Specializations Create custom specialization for the factory. The Eclipse Modeling Framework (EMF) - Christoph Seidl 105
106 Create Custom Specializations Have the custom factory create custom implementation for meta model class. The Eclipse Modeling Framework (EMF) - Christoph Seidl 106
107 Register Custom Factory with Eclipse Use Eclipse s extension mechanism to plug in custom factory for use. The Eclipse Modeling Framework (EMF) - Christoph Seidl 107
108 Register Custom Factory with Eclipse The Eclipse Modeling Framework (EMF) - Christoph Seidl 108
109 Register Custom Factory with Eclipse Add a new extension. The Eclipse Modeling Framework (EMF) - Christoph Seidl 109
110 Register Custom Factory with Eclipse Choose to override an Ecore factory. The Eclipse Modeling Framework (EMF) - Christoph Seidl 110
111 Register Custom Factory with Eclipse Namespace URI (identifier) of the meta model in question. Qualified name of the custom factory specialization. New Eclipse instances perform extension and use custom factory instead of standard factory. The Eclipse Modeling Framework (EMF) - Christoph Seidl 111
112 Caution: Model Code with Custom Factory Careful when creating model programmatically with a custom factory (in the development instance of Eclipse). Factory is overriden only in new Eclipse instance. Only regular Impl classes are created. Solution see next slides The Eclipse Modeling Framework (EMF) - Christoph Seidl 112
113 Override Created Factory in Generated Code The Eclipse Modeling Framework (EMF) - Christoph Seidl 113
114 Override Created Factory in Generated Code Mark as generated NOT to avoid overriding change with next code generation. Solution is not ideal as it mixes generated and manually writting code. However, just two (trivial) lines in a single class. Create object for custom factory. The Eclipse Modeling Framework (EMF) - Christoph Seidl 114
115 The Eclipse Modeling Framework (EMF) Textual Domain-Specific Languages
116 What is it? Specify textual syntax for models Create models from textual syntax (Parsing) Create textual representation from models (Printing) The Eclipse Modeling Framework (EMF) - Christoph Seidl 116
117 Benefits of Textual Languages Why create textual syntax for models (Printer)? Readability Version control (diff/merge) Evolution Tool automation Quick model instantiation Why create models from textual syntax (Parser)? Tool reuse (e.g., graphical editors etc.) Know-how reuse Explicit representation of text document structure Tracing software artifacts Graphs instead of strings Source: The Eclipse Modeling Framework (EMF) - Christoph Seidl 117
118 General Procedure Use metamodel to specify structure of data Specify a grammar for textual syntax (e.g., EBNF) Generate code to get (for free!): Parser Transforms text to model Printer Transforms model to text Editor Syntax highlighting Auto completion Error/warning reports Integration with other EMF technology The Eclipse Modeling Framework (EMF) - Christoph Seidl 118
119 Tools and Technologies EMFText Originally created by Software Technology Group at TU Dresden Now maintained by DevBoost Xtext Originally created as part of openarchitectureware Now part of the Eclipse project The Eclipse Modeling Framework (EMF) - Christoph Seidl 119
120 EMFText: Overview Generate parser, printer, editor for textual DSLs Support for interpreters, builders, validation etc. Syntax zoo with over 100 predefined languages (e.g., Java 5, Regular Expressions, Requirements etc.) Good documentation, screencast, mailing list support Very easy to learn and handle The Eclipse Modeling Framework (EMF) - Christoph Seidl 120
121 EMFText: Workflow Define Meta Model (.ecore) Define Concrete Syntax (.cs) Generate Code (via Context Menu) The Eclipse Modeling Framework (EMF) - Christoph Seidl 121
122 Create a Concrete Syntax for Meta Model (.cs) The Eclipse Modeling Framework (EMF) - Christoph Seidl 127
123 Create a Textual Model using the Concrete Syntax The Eclipse Modeling Framework (EMF) - Christoph Seidl 135
124 Xtext: Overview Generate parser, printer, editor for textual DSLs Great potential for customization (syntax coloring, quick fixes etc.) Powerful tool Good documentation with many screencasts Integrates well with Xtend, Xpand, MWE The Eclipse Modeling Framework (EMF) - Christoph Seidl 139
125 Xtext: Workflow Define Syntax (.xtext) Auto Generate Meta Model (.ecore) Generate Code (via MWE) - OR - Define Meta Model (.ecore) Define Syntax (.xtext) Generate Code (via MWE) The Eclipse Modeling Framework (EMF) - Christoph Seidl 140
126 Xtext: Example Source: The Eclipse Modeling Framework (EMF) - Christoph Seidl 141
127 Sidenote: Xtend Statically-typed programming language defined in Xtext Translates to Java source code (not bytecode, good for Android/GWT) Feels like java but has a few extensions (extension methods, operator overloading, polymorphic dispatch etc.) Can be extended by new language constructs! The Eclipse Modeling Framework (EMF) - Christoph Seidl 142
128 Xtend: Example Source: The Eclipse Modeling Framework (EMF) - Christoph Seidl 143
129 Conclusion Easy to specify textual languages for models Great time saver compared to writing parsers or printers manually Good tool support: Choice between EMFText and Xtext is a matter of preference Tools integrate well with other EMF technology (see rest of presentation) The Eclipse Modeling Framework (EMF) - Christoph Seidl 144
130 The Eclipse Modeling Framework (EMF) Graphical Editors/Viewers and Data Visualization
131 What is it? Tooling to build graphical editors/viewers and data visualization Graphical editor: modify underlying data in graphical DSL Graphical viewer: visualize underlying data in graphical DSL Data visualization: represent underlying data and its connection in a generic way (e.g., nodes and connections) [1..1] AutomotiveMultimedia [1..3] [0..1] AudioPlayer [1..1] OnBoardComputer [1..2] [0..1] PersonalNavigation [1..2] [1..1] Radio [0..1] CDPlayer [0..1] VoiceRecognition [1..1] Maps [1..1] [0..1] AudioCDPlayer [0..1] MP3CDPlayer The Eclipse Modeling Framework (EMF) - Christoph Seidl 146
132 Benefits of Graphical Languages Why create graphical syntax for models? Use two dimensions (x/y, not just linear as text) Many (primarily) graphical notations (e.g., UML Class Diagrams/State Charts, Petri Nets) Some notations are easier to grasp graphically (e.g., Public Transport Route Maps, Feature Models, Mind Maps etc.) Why create models for graphical syntax? Allow processing of underlying data in the usual way Integrate with other EMF technology (validate, etc.) The Eclipse Modeling Framework (EMF) - Christoph Seidl 147
133 General Procedure Use metamodel to specify structure of data Define how data elements should be represented visually Generate/write graphical editor The Eclipse Modeling Framework (EMF) - Christoph Seidl 148
134 Tools and Technologies Graphical Editing Framework (GEF) Zest Graphical Modeling Framework (GMF) EuGENia Graphiti Spray The Eclipse Modeling Framework (EMF) - Christoph Seidl 149
135 GEF: Overview Graphical Editing Framework (GEF) Code base for (manual) creation of graphical editors Not tied to EMF Ecore but integrates very well Philosophy: write all code manually The Eclipse Modeling Framework (EMF) - Christoph Seidl 150
136 GEF: Workflow Define Meta Model (.ecore) Manually Write GEF Code Graphical Editor The Eclipse Modeling Framework (EMF) - Christoph Seidl 151
137 GEF: Basic Classes Uses the Model-View-Controller (MVC) pattern Domain Model Arbitrary model representation May be models of Ecore meta models The model of MVC Figure Visual representation of domain model elements (e.g., Circles, Squares) The view of MVC EditPart Business logic for editing domain model elements (e.g., what to do when element is deleted) Delegate concrete work to EditParts (see next slide) The controller of MVC The Eclipse Modeling Framework (EMF) - Christoph Seidl 152
138 Zest: Overview Visualization toolkit Predefined layout algorithms and visualization components Philosophy: Layout data and its relation with minimum effort Not the right tool to implement editors/viewers for graphical domain specific languages The Eclipse Modeling Framework (EMF) - Christoph Seidl 154
139 Zest: Workflow Define Meta Model (.ecore) Bind to Zest Graphical Visualization The Eclipse Modeling Framework (EMF) - Christoph Seidl 155
140 GMF: Overview Graphical Modeling Framework (GMF) Builds on GEF but uses models to specify tools, editors, palettes etc. Philosophy: use models to configure generation of GEF code Faster to get an editor out than manual GEF Specifying models for configuration is clumsy Generated code is hard to comprehend and customization is clumsy The Eclipse Modeling Framework (EMF) - Christoph Seidl 156
141 GMF: Models Domain Model Data representation Preferrable in Ecore GMF Graph Model (.gmfgraph) Defines visual representation for figures, nodes, links etc. Customize appearance by shape, color, line weight etc. GMF Tool Model (.gmftool) Defines palette, creation tools, actions etc. Specify which domain elements may be created, modified, deleted, connected to each other etc. Specify how the tools (in the palette) are named and represented GMF Map Model (.gmfmap) Specify how visual representations and tools relate to domain models The Eclipse Modeling Framework (EMF) - Christoph Seidl 157
142 GMF: Workflow Define Meta Model (.ecore) Define GMF Configuration Models (.gmfgraph,.gmftool,.gmfmap) Generate GEF Code Graphical Editor The Eclipse Modeling Framework (EMF) - Christoph Seidl 158
143 EuGENia: Overview Part of Epsilon project Builds on GMF but generates its configuration models Annotate meta model with information for graphical editor Integrates well with EMFatic (later slides) Philosophy: specifying GMF models is too clumsy -> generate them! The Eclipse Modeling Framework (EMF) - Christoph Seidl 159
144 EuGENia: Workflow Define Meta Model (.ecore) Annotate Meta Model Generate GMF Configuration Models (.gmfgraph,.gmftool,.gmfmap) Generate GEF Code Graphical Editor The Eclipse Modeling Framework (EMF) - Christoph Seidl 160
145 Graphiti: Overview Part of the Eclipse project (Incubation) Originally created by SAP Builds on GEF but hides underlying code in its API Uses preconfigured elements (graphical, tools etc.) Good integration of layouting algorithms Philosophy: generate code and use sensible defaults The Eclipse Modeling Framework (EMF) - Christoph Seidl 161
146 Graphiti: Models Domain model Data representation Preferrably in Ecore but may be in other format Pictogram model Contains representation information Link model Connects data and representation The Eclipse Modeling Framework (EMF) - Christoph Seidl 162
147 Graphiti: Workflow Define Meta Model (.ecore) Define Graphiti Configuration Models (Pictogram, Link) Generate GEF Code Graphical Editor The Eclipse Modeling Framework (EMF) - Christoph Seidl 163
148 Spray: Overview Textual DSL defined in Xtext to create graphical editors Builds on Graphiti and uses it for code generation Generated code can be customized Code is still under heavy development code.google.com/a/eclipselabs.org/p/spray The Eclipse Modeling Framework (EMF) - Christoph Seidl 164
149 Spray: Workflow Define Meta Model (.ecore) Define Spray Textual Format (.spray) Generate Graphiti Configuration Models (Pictogram, Link) Generate GEF Code Graphical Editor The Eclipse Modeling Framework (EMF) - Christoph Seidl 165
150 Spray: Example Source: Spray user guide ( The Eclipse Modeling Framework (EMF) - Christoph Seidl 166
151 Wrap Up Graphical Editors/Viewers Data Visualization EuGENia Spray Zest GMF Graphiti GEF Ecore The Eclipse Modeling Framework (EMF) - Christoph Seidl 167
152 Conclusion Many tools to help build graphical editors Zest is for visualizing data and its connection GEF, GMF, EuGENia, Graphiti, Spray can be used for graphical DSLs Recommendation Build (small) editor with GEF to get acquainted If comfortable with it, switch to generation The Eclipse Modeling Framework (EMF) - Christoph Seidl 168
153 The Eclipse Modeling Framework (EMF) Code Generation using Template Engines
154 What is it? Transform model to code with a template engine Arbitrary textual representations (e.g., source code, textual DSLs, configuration files etc.) Special form of model transformation Target is a textual representation Model-to-Text (M2T) transformation Difference between Printing and M2T Printing: target text format has same meta model M2T: target text format (usually) has different meta model (or no explicit one at all) The Eclipse Modeling Framework (EMF) - Christoph Seidl 170
155 General Procedure Use metamodel to specify structure of data Specify a template (skeleton of textual format with slots for data) Use template engine to fill in data into slots of template The Eclipse Modeling Framework (EMF) - Christoph Seidl 171
156 Tools and Technologies Java Emitter Templates (JET) Part of the Eclipse project Very easy, no typing Acceleo Part of the Eclipse project Medium complexity Xpand Part of the Eclipse project Powerful, statically typed The Eclipse Modeling Framework (EMF) - Christoph Seidl 172
157 Overview: JET Java Emitter Templates (JET) Can generate all textual languages but has a (slight) focus on Java Uses Java to create data to fill templates Very easy to learn Used by Ecore for code generation The Eclipse Modeling Framework (EMF) - Christoph Seidl 173
158 JET: Example Source: The Eclipse Modeling Framework (EMF) - Christoph Seidl 174
159 Overview: Acceleo Pragmatic implementation of the OMG MOF Model to Text Language (MTL) standard Modules, Templates The Eclipse Modeling Framework (EMF) - Christoph Seidl 175
160 Acceleo: Example Source: The Eclipse Modeling Framework (EMF) - Christoph Seidl 176
161 Overview: Xpand Powerful template engine Uses textual DSL to create data to fill templates (statically typed) Good integration with Xtext Uses Xtend to specify custom operations on models used only for code generation Caution: Xpand s Xtend language is another one than Xtext s Xtend (which was originally called Xtend 2) wiki.eclipse.org/xpand The Eclipse Modeling Framework (EMF) - Christoph Seidl 177
162 Xpand: Example Source: The Eclipse Modeling Framework (EMF) - Christoph Seidl 178
163 Conclusion Multiple competing template engines JET is easiest to learn Xpand is very powerful Acceleo is somewhere in between Recommendation Use JET until you grow out of it Start using Xpand when you know that you need it The Eclipse Modeling Framework (EMF) - Christoph Seidl 179
Textual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
More informationModel-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven
More informationEvolution in Feature-Oriented Model-Based Software Product Line Engineering
Diploma Thesis Evolution in Feature-Oriented Model-Based Software Product Line Engineering submitted by Christoph Seidl born December 5, 1982 in Freiburg im Br. Technische Universität Dresden Faculty of
More informationOrganization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
More informationDesign of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti
More informationImplementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
More informationModel Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
More informationAn Extended Survey of Open Source Model-Based Engineering Tools
An Extended Survey of Open Source Model-Based Engineering Tools Report prepared for Ericsson by: Kenn Hussey, Bran Selic, and Toby McClean Revision E (May 11, 2010) Zeligsoft 115, rue Principale, Suite
More informationTaking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More
Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)
More informationOverview. Stakes. Context. Model-Based Development of Safety-Critical Systems
1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing
More informationCommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,
More informationCo-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological
More informationEMC Documentum Composer
EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
More informationOpenEmbeDD basic demo
OpenEmbeDD basic demo A demonstration of the OpenEmbeDD platform metamodeling chain tool. Fabien Fillion fabien.fillion@irisa.fr Vincent Mahe vincent.mahe@irisa.fr Copyright 2007 OpenEmbeDD project (openembedd.org)
More informationtoday 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
More informationModellrepository @ T-Mobile Umsetzung und Einsatz
1 Modellrepository @ T-Mobile Umsetzung und Einsatz ix CeBIT Forum 2009 Carsten Sensler, T-Mobile Deutschland GmbH 3/9/09 1 Table of Contents!! SOA Backplane overview!! Model repository @ T-Mobile!! Domain
More informationBuilding industrial sensors with MDSD
Building industrial sensors with MDSD Bernhard Merkle Central Department Research & Development Software-Engineering SICK-AG Waldkirch mailto: Bernhard.Merkle@sick.de mailto: Bernhard.Merkle@gmail.com
More informationJos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl
Domain Specific Languages for Business Users Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern
More informationImplementation and Integration of a Domain Specific Language with oaw and Xtext
Implementation and Integration of a Domain Specific Language with oaw and Xtext by Volker Koster MT AG, Okt. 2007 www.mt-ag.com info@mt-ag.com Implementation and Integration of a Domain Specific Language
More informationMetamodels and Modeling Multiple Kinds of Information Systems
Metamodels and Modeling Multiple Kinds of Information Systems Randall M. Hauch Chief Architect presented at MDA, SOA and Web Services: Delivering the Integrated Enterprise Practice, not Promise MetaMatrix
More informationConcepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework
Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework Fabio Filippelli 1, Steffen Kollosche 1, Michael Bauer 1, Markus Gerhart 1, Marko Boger 1, Karsten
More informationDevelopment of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
More informationAn eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo luca.gherardi@unibg.it, brugali@unibg.it Abstract.
More informationOpen Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1
Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra
More informationWinery A Modeling Tool for TOSCA-based Cloud Applications
Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University
More informationPolyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov stefan.tilkov@innoq.com
Polyglot Multi-Paradigm Modeling MDA in the Real World Stefan Tilkov stefan.tilkov@innoq.com What I ll Talk About How I define MDA What a typical tool chain looks like Real-world examples How UML/MOD,
More informationProgrammers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1
Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda
More informationAutomating the Development of Information Systems with the MOSKitt Open Source Tool
http://www.moskitt.org Automating the Development of Information Systems with the MOSKitt Open Source Tool Vicente Pelechano Universidad Politécnica de Valencia Content PART I: About the Project and the
More informationA QUICK OVERVIEW OF THE OMNeT++ IDE
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
More informationXtext Documentation. September 26, 2014
Xtext Documentation September 26, 2014 Contents I. Getting Started 9 1. 5 Minutes Tutorial 10 1.1. Creating A New Xtext Project........................ 10 1.2. Generating The Language Infrastructure...................
More informationRecent Advances in Eclipse QVTO!
!! National Aeronautics and Recent Advances in Eclipse QVTO! Nicolas Rouquette Principal Computer Scientist, Systems and Software Division 2012. Government sponsorship acknowledged. Outline! A Condensed
More informationKoen Aers JBoss, a division of Red Hat jbpm GPD Lead
JBoss jbpm Overview Koen Aers JBoss, a division of Red Hat jbpm GPD Lead Agenda What is JBoss jbpm? Multi Language Support Graphical Process Designer BPMN Reflections What is it? JBoss jbpm is a sophisticated
More informationDSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies
DSL Design Generic Language g Technology 2IS15 Model Transformations Language g Implementation Strategies Stand-alone Marcel van Amstel Embedding Translation / Software Engineering and Technology 9-1-2012
More informationWebSphere Business Modeler
Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration
More informationSimplifying e Business Collaboration by providing a Semantic Mapping Platform
Simplifying e Business Collaboration by providing a Semantic Mapping Platform Abels, Sven 1 ; Sheikhhasan Hamzeh 1 ; Cranner, Paul 2 1 TIE Nederland BV, 1119 PS Amsterdam, Netherlands 2 University of Sunderland,
More informationConcept and Implementation of a Graphical Editor for Composite Application Templates
Institut für Architektur von Anwendungssystemen (IAAS) Universität Stuttgart Universitätsstraße 38 D - 70569 Stuttgart Studienarbeit Nr. 2275 Concept and Implementation of a Graphical Editor for Composite
More informationTransforming PICTURE to BPMN 2.0 as Part of the Model-driven Development of Electronic Government Systems
Heitkötter, Henning, Transforming PICTURE to BPMN 2.0 as Part of the Model-Driven Development of Electronic Government Systems, 44th Hawaii International Conference on System Sciences (HICSS), pp. 1 10,
More informationRoles in Software Development using Domain Specific Modelling Languages
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,
More informationEvaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
More informationA Visual Language Based System for the Efficient Management of the Software Development Process.
A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università
More informationXFlash A Web Application Design Framework with Model-Driven Methodology
International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,
More informationEindhoven University of Technology
Eindhoven University of Technology Department of Mathematics and Computer Science Software Engineering and Technology Group Master Thesis mlbnf A Syntax Formalism for Domain Specific Languages M.W. Manders
More informationSmooks Dev Tools Reference Guide. Version: 1.1.0.GA
Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2
More informationUML PROFILING AND DSL
UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced
More informationA Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
More informationThe ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt
The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt Dr. Harald Kühn 24.03.2010 Agenda 1 Overview 2 Deployment and Integration
More informationtoday 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
More informationComparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany AhmetDemir@gmx.de
More informationIntroduction à EMF Eclipse Modeling Framework
Ingénierie Dirigée par les Modèles Introduction à Eclipse Modeling Framework Pierre Laforcade Master EIAH 2007 Sources du cours Tutoriaux et cours d' disponibles sur http://www.eclipse.org/modeling/emf/
More informationModel-driven Development for a Treasure Hunt Android application
Model-driven Development for a Treasure Hunt Android application Muram Faiz Ul Subramani Uma Shankar Marinescu Raluca Eduard Paul Enoiu Mälardalen University, Västerås, Sweden {faizulmuram, shanumas, ralukutza,
More informationMegamodels as models of the linguistic architecture of software products and software technologies
19 April 2012 Megamodels as models of the linguistic architecture of software products and software technologies Ralf Lämmel (Software Languages Team) on behalf of Jean-Marie Favre, Thomas Schmorleiz,
More informationQuality Assurance of Software Models within Eclipse using Java and OCL
Quality Assurance of Software Models within Eclipse using Java and OCL Dr. Thorsten Arendt Modellgetriebene Softwareentwicklung mobiler Anwendungen Wintersemester 2014/15 17. Dezember 2014 Outline Why
More informationSEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation
Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since
More informationAn Eclipse plug-in for Public Administration software system modelling and simulation
An Eclipse plug-in for Public Administration software system modelling and simulation Riccardo Cognini, Damiano Falcioni, Andrea Polini, Alberto Polzonetti, and Barbara Re University of Camerino, School
More informationA Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software
A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software Luigi Pomante Sante Candia Emilio Incerto Università degli Studi dell Aquila Center of Excellence DEWS - ITALY luigi.pomante@univaq.it
More informationTool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
More informationA multilayered model for REST applications
Institute of Architecture of Application Systems University of Stuttgart Universitätsstraße 38 D 70569 Stuttgart Diplomarbeit Nr. 3601 A multilayered model for REST applications Jens Petersohn Course of
More informationAn Extensible Application Topology Definition and Annotation Framework
Institute of Architecture of Application Systems University of Stuttgart Universitätsstraße 38 D 70569 Stuttgart Diploma Thesis Nr. 3504 An Extensible Application Topology Definition and Annotation Framework
More informationModel Transformations and Code Generation
Model Transformations and Code Generation Ecole IN2P3 Temps Réel Ansgar.Radermacher@cea.fr 2 École d été, 26.11 08h30 10h00: Cours S1 Component models CCM and FCM (connectors) CCM CORBA component model
More informationCOCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
More informationModeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *
for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This
More informationHow to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management)
How to Improve Database Connectivity With the Data Tools Platform John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management) 1 Agenda DTP Overview Creating a Driver Template Creating a
More informationHP Systinet. Software Version: 10.01 Windows and Linux Operating Systems. Concepts Guide
HP Systinet Software Version: 10.01 Windows and Linux Operating Systems Concepts Guide Document Release Date: June 2015 Software Release Date: June 2015 Legal Notices Warranty The only warranties for HP
More informationThis document covers version 1.0.1 of BPMN2 Modeler, published November 15, 2013.
INTRODUCTION The Eclipse BPMN2 Modeler is an open-source, graphical tool for authoring and editing files that are compliant with the OMG BPMN 2.0 standard. It is assumed that the reader is familiar with
More informationFoundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
More informationContents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
More informationModeling Cloud Messaging with a Domain-Specific Modeling Language
Modeling Cloud Messaging with a Domain-Specific Modeling Language Gábor Kövesdán, Márk Asztalos and László Lengyel Budapest University of Technology and Economics, Budapest, Hungary {gabor.kovesdan, asztalos,
More informationJastEMF: Reference Attribute Grammars for EMF-based DSLs
Fakultät Informatik Institut Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie JastEMF: Reference Attribute Grammars for EMF-based DSLs Sven Karol, Christoff Bürger ACSE 17.12.2012 What s
More informationIntroduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
More informationAn Architecture to Support Model Driven Software Visualization
An Architecture to Support Model Driven Software Visualization R. Ian Bull and Margaret-Anne Storey University of Victoria British Columbia, Canada {irbull,mstorey@cs.uvic.ca Marin Litoiu IBM Markham Ontario
More informationCourse 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro
Course 4 27 October 2014 Adrian Iftene adiftene@info.uaic.ro They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can
More informationFederated, Generic Configuration Management for Engineering Data
Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements
More informationIntroduction to Generative Software Development
Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo czarnecki@acm.org www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative
More informationIntegrate your tools to help integrate your stakeholders
Integrate your tools to help integrate your stakeholders Stephan Herrmann EclipseCon Europe 2013 Stephan Herrmann: Integrate your Tools... - EclipseCon Europe 2013 3 Why, exactly, develop DSLs? Remember
More informationCreating visualizations through ontology mapping
Creating visualizations through ontology mapping Sean M. Falconer R. Ian Bull Lars Grammel Margaret-Anne Storey University of Victoria {seanf,irbull,lgrammel,mstorey}@uvic.ca Abstract We explore how to
More informationIntroduction to Testing Webservices
Introduction to Testing Webservices Author: Vinod R Patil Abstract Internet revolutionized the way information/data is made available to general public or business partners. Web services complement this
More informationMiniDraw Introducing a framework... and a few patterns
MiniDraw Introducing a framework... and a few patterns What is it? [Demo] 2 1 What do I get? MiniDraw helps you building apps that have 2D image based graphics GIF files Optimized repainting Direct manipulation
More informationRequirements Exchange: From Specification Documents to Models
Requirements Exchange: From Specification Documents to Models Morayo ADEDJOUMA, Hubert DUBOIS, François TERRIER Ansgar RADERMACHER UML&AADL 2011-27 April 2011, Las Vegas Agenda Big picture Challenge Technologies
More informationDesign with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
More informationThe leading platform for Model Driven Architecture (MDA) Content:
The leading platform for Model Driven Architecture (MDA) Content: Models Made for Business... 2 ArcStyler Overview... 2 Main Benefits... 3 ArcStyler Editions... 4 ArcStyler Modules and Tool Architecture...
More informationToward Families of QVT DSL and Tool
Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com
More informationHow To Transform Business Rules Into Optimized Processes
Automatic generation of optimal business processes from business rules Bas Steen, Luís Ferreira Pires and Maria-Eugenia Iacob Centre for Telematics and Information Technology University of Twente Enschede,
More information1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.
* ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes
More informationYouTrack MPS case study
YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project
More informationA Model-Driven Approach for Graph Visualization
A Model-Driven Approach for Graph Visualization Celal Çığır, Alptuğ Dilek, Akif Burak Tosun Department of Computer Engineering, Bilkent University 06800, Bilkent, Ankara {cigir, alptug, tosun}@cs.bilkent.edu.tr
More informationProfiling and Testing with Test and Performance Tools Platform (TPTP)
Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada ewchan@ca.ibm.com
More informationBridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)
Bridging the Generic ing Environment () and the Eclipse ing Framework (EMF) Jean Bézivin (), Christian Brunette (2), Régis Chevrel (), Frédéric Jouault (), Ivan Kurtev () () ATLAS Group (INRIA & LINA,
More informationExtension of a SCA Editor and Deployment-Strategies for Software as a Service Applications
Institut fur Architektur von Anwendungssystemen Universität Stuttgart Universitätsstraße 38 70569 Stuttgart Diplomarbeit Nr. 2810 Extension of a SCA Editor and Deployment-Strategies for Software as a Service
More informationAcknowledgments. p. 55
Preface Acknowledgments About the Author Introduction p. 1 IBM SOA Foundation p. 2 Service Design and Service Creation p. 2 Service Integration p. 3 Service Connectivity p. 5 Service Security and Management
More informationGenerative Software Product Line Development using Variability-Aware Design Patterns
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Generative Software Product Line Development using Variability-Aware Design Patterns Christoph Seidl, Sven Schuster, Ina Schaefer May
More informationSource Code Translation
Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven
More informationJava Generation from UML Models specified with Alf Annotations
Université de Franche-Comté Supervisers : Fabien Peureux, Isabelle Jacques Java Generation from UML Models specified with Alf Annotations Supervised project report Alexandre Vernotte Jean-Marie Gauthier
More informationBusiness-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
More informationA tool environment for quality assurance based on the Eclipse Modeling Framework
Autom Softw Eng (2013) 20:141 184 DOI 10.1007/s10515-012-0114-7 A tool environment for quality assurance based on the Eclipse Modeling Framework Thorsten Arendt Gabriele Taentzer Received: 30 March 2012
More informationSoftware Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
More informationSOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
More informationDesign Patterns. Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems.
Design Patterns Design patterns are known solutions for common problems. Design patterns give us a system of names and ideas for common problems. What are the major description parts? Design Patterns Descriptions
More informationDesigning a Semantic Repository
Designing a Semantic Repository Integrating architectures for reuse and integration Overview Cory Casanave Cory-c (at) modeldriven.org ModelDriven.org May 2007 The Semantic Metadata infrastructure will
More informationAnalysis of the Specifics for a Business Rules Engine Based Projects
Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every
More informationAuthoring for System Center 2012 Operations Manager
Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack
More information