Modelling with Papyrus: Domain-Specific Modelling Languages using UML Profiles
|
|
- Garey Campbell
- 7 years ago
- Views:
Transcription
1 Modelling with Papyrus: Domain-Specific Modelling Languages using UML Profiles Kristof De Middelaer University of Antwerp Abstract Domain specific modelling languages (DSML) are often built from scratch. An alternative way of doing this is by taking the Unified Modelling Language (UML) and tailoring it to the needs of the domain. This can be done by using UML s profiling system. We take a look at how we can use Papyrus (an Eclipse based UML2 modelling tool) to accomplish this goal using a Railway DSML as example. Keywords: UML2, UML Profile, DSML, Papyrus, Modelling, Eclipse 1. Introduction There are numerous reasons why one would want a (domain specific) modelling language. One of the reasons being that it adds another layer of abstraction so that domain experts can more easily build and argue about models without having to learn how to code. For a long time modelling languages weren t standardized. Numerous modelling languages existed that were used for the same purpose. The Object Management Group (OMG) unified some of these modelling languages and created UML: the Unified Modelling Language. UML made it possible to describe systems in such a way so that everyone who understood UML could understand the model. Nowadays, a lot of UML tools exist. However, a lot of them are proprietary. This makes the users of these tools dependent on the vendor providing the tools which is always a risk: imagine the vendor dropping support or decides to stop developing the tool. For this reason, open source tools are often preferred by the industry and academia. The Eclipse project provides an open source tool for graphical modelling of UML2 models: Papyrus. It implements 100% of the OMG UML specification and has become the de facto standard implementation of the UML2 meta-model. Papyrus also supports the use of UML profiles which makes it suitable to create domain specific languages.
2 The following sections talk about UML, Papyrus and how they can be used to create domain specific languages. Section 2 talks about UML in general and UML profiles. Section 3 gives information about what relevant functionality Papyrus has to offer. Sections 4 and 5 talk about how a DSML can be built by creating a Papyrus plugin and section 6 talks about further possibilities such as model execution. Section 7 concludes and gives a short review of Papyrus in terms of DSML modelling. 2. UML The Unified Modelling Language (UML) is the successor to the wave of object-oriented analysed and design methods that appeared in the late 80s and early 90s. [1] Instead of everyone using their own language, a standardized modelling language makes it easier to communicate about models. Models also allow us to work at a higher level of abstraction. A model may do this by hiding or masking details, bringing out the big picture, or by focusing on different aspects of the prototype. UML is a general-purpose modelling language. It helps you specify, visualize and document models of (software) systems. Using a UML-based tool (such as Papyrus) you can analyze the requirements and design a solution that meets them. This solution can then be represented using UML s diagram types UML diagram types UML defines thirteen types of diagrams which are divided into three categories Structure Diagrams These diagrams represent static application structure. Class Diagram Object Diagram Component Diagram Composite Structure Diagram Package Diagram Deployment Diagram Behavior Diagrams These diagrams represent general types of behavior. Use Case Diagram Activity Diagram State Machine Diagram 2
3 Interaction Diagrams These diagrams represent different aspects of interactions. Sequence Diagram Communication Diagram Timing Diagram Interaction Overview Diagram 2.2. DSML using UML Often times a single modelling language will not be enough to cover all the various concerns involved in a specific area. A domain specific modelling language (DSML) is needed. Instead of building these DSMLs from scratch, UML could be adopted and tailored to the needs of the domain. A custom language (that is not based on UML) has the advantage that it can be defined in a way that is optimally suited to the domain. However, imagine each individual subdomain of a complex system using a different modelling language. Getting these submodels into a consistent, integrated whole that can be verified, tested or simply unambiguously understood poses quite the challenge. If all of system s submodels are based on UML, existing UML tools and widely available UML expertise can be reused. Note that this does not completely solve the integration issues but mitigate these because of the common UML semantics and syntax. But how do we create a DSML using UML? This is where UML profiles come into play UML profiles In UML profiles all domain specific concepts are derived as extensions or refinements of existing UML concepts (which are the UML metaclasses). These extensions are called stereotypes. They are profile classes that extend UML metaclasses. Figure 1: Train is a stereotype that extends the Metaclass Class 3
4 These stereotypes can also include tagged values. Since UML 2.0 a tagged value is represented as an attribute defined on a stereotype. Stereotypes can also be used to change the graphical appearance of the extended model element by attaching icons. Figure 2: A custom icon that is given given to the stereotype.[7] Constraints (such as OCL constraints) can also be defined. These apply to stereotypes defined in the profile. Using these constraints we can further constrain elements of the UML metamodel. For example, we could define an OCL constraint that says that all instances of Class need to have at least one operation. Constraints that can t be expressed in OCL have to be denoted in natural language which can then be rewritten in some language the used UML tool will understand. 3. Papyrus 3.1. About Papyrus is an Eclipse-based tool that uses the Eclipse Graphical Modelling Framework (GMF). It aims at providing an integrated and userconsumable environment for editing any kind of Eclipse Modelling Framework (EMF) model (in particular UML and related modelling languages such as SysML 1 ). Papyrus offers this integrated and userconsumable environment by providing diagram editors for these models Functionality UML modelling Papyrus allows users to build UML2 models that strictly conform to the OMG s UML specification. If something cannot be represented in Papyrus, it generally means that it is not allowed by the specification.[8] These models can be created and edited using the graphical editor. 1 A dialect of UML for systems engineering applications: 4
5 As mentioned before, there are a lot of functions in support of UML2 modelling. To name a few: a tools palette which allows the creation of UML elements in the diagram, a properties window that allows you to edit UML elements and OCL constraints can be specified for each UML element which can then be checked. Figure 3: UML diagram in Papyrus DSML Papyrus provides extensive support for UML profiles. This allows the user to create profiles for their domain which serves as the domain specific modelling language. The UML profile can change the concrete syntax: instead of the standard UML graphics, custom icons can either be added to these or completely replace them. Papyrus also provides powerful tool customization capabilities. This way the tools can be customized to better fit the domain. In other words: when a profile is applied, the tool may adapt its visual rendering and GUI to fit the specific domain supported by that profile. 5
6 Figure 4: Customized tool and icons. Eclipse provides the Papyrus User Guide Series. It is a series of documents dedicated to assist the usage of Papyrus. There is a volume focused on using UML profiles within Papyrus: from design and definition to application and usage.[5] This 30 pages long document explains how to define and apply a very basic UML profile Papyrus plug-ins As Papyrus is based on Eclipse, it supports the use of plug-ins. What we want to do is create a new Papyrus plug-in for our DSML. This way distribution is easy by either copying the plug-in files into the correct directory or by using an update site. As the following section will contain some Eclipse plug-in references, we ll first take a look at how Eclipse plug-ins work. When people hear Eclipse they usually think about the Eclipse IDE. However, the Eclipse IDE is based on the Eclipse Rich Client Platform (Eclipse RCP) which can be used as a basis to create other sorts of feature-rich stand-alone applications. The Eclipse RCP provides the existing user interface and the internal framework which can be extended using plug-ins. The Eclipse IDE for example extends the Eclipse RCP with Java development or C development tools as plug-ins. Papyrus works the same way: it is also based on the Eclipse RPC and provides plugins for UML modelling and all its capabilities. Apart from building an extension for the Eclipse RPC it is also possible to write extensions for Papyrus. This is done by creating a plug-in that uses the concept of extensions and extension points. Papyrus offers a set of extension points in which we can plug in our extensions. Concretely: Papyrus offers 6
7 extension points such as org.eclipse.papyrus.uml.extensionpoints.umlprofile at which we can register a certain profile which then becomes part of our extended Papyrus program. Eclipse provides a plug-in development environment which can be used to more easily create plugins instead of creating these with raw files. Figure 5: Creating an Eclipse plugin 7
8 4. DSML modelling in Papyrus In order to create a DSML in Papyrus the following steps need to be followed. First, a general step that is inherent to creating a DSML: identifying domain concepts and relations. In this report the railway domain has been chosen as an example. Then we need to create a UML Profile that reflects our DSML. We create stereotypes, a concrete syntax etc. After this we add constraints in order to be able to validate models created by the user. Of course, the user needs to be able to create the models so we need a new type of diagram. In our railway example this will be the Railway Diagram. Figure 6: Creating a DSML 4.1. Identifying domain concepts and relations A first, general step in creating a DSML is identifying domain concepts and relations. This step is not explained here as it is not what this report is about. For the example in this report the railway domain has been chosen. Note that this is more of a toy example to show the DSML functionality of Papyrus instead of a fully correct railway DSML. 8
9 4.2. Creating the UML profile Creating the UML profile is quite a straightforward process. You first start by creating a new Papyrus Project (or diagram) where you ll create the profile (file >new >Papyrus Project). This will open up the new Papyrus Project wizard. Most steps are straightforward: when asked to select a diagram language choose profile. Figure 7: Select the Profile diagram language Complete the wizard and when asked, select the Profile Diagram kind. Now we need to create our stereotypes, give them tagged values and add images to these. Our stereotypes are extended from metaclasses. A metaclass can be added by selecting import metaclass from the palette, clicking in the diagram and then selecting the desired metaclass. 9
10 Figure 8: Import metaclass from the palette Once this metaclass has been added we can start creating stereotypes that extend these. Figure 9: Metaclass extension We can add tagged values to our stereotypes by selecting property from the palette to our stereotype and clicking in the diagram. In the properties of this tagged value we can choose the type, the initial value and other things. 10
11 Figure 10: Editing a tagged value Once we have our stereotypes we can add images to these. In the properties of the stereotype under the UML tab we can add an icon. There seem to be numerous ways of adding icons to the stereotypes but the only way I found to be working was by adding the location of an svg file to the stereotype and then creating a CSS file that makes the images visible and hide the usual UML boxes when creating an element. This CSS file can be found at resources/railway/custom.css. A user can manually apply UML profiles. In a true DSML environment it is preferable to hide as much of UML as possible. Automatic application of a UML profile is possible but there is no very user-friendly way of doing this. This is done programmatically by overriding the initializemodel method in a class that extends from ModelCreationCommandBase and adding some code here. This can be found in src/railway/createrailwaymodelcommand.java Adding constraints Model validation is an important aspect of using a DSML. Papyrus provides support for constraints in the form of OCL or Java. I found no real documentation about the Java constraints and chose to write OCL constraints as there was more documentation for this and as I tried to stay away from writing Java code as much as possible. Adding a constraint to a UML profile can be done by selecting constraint from the palette and then clicking in the diagram. In this element the constraint can be written by choosing the constraint s context and adding a specification in the UML tab in the constraint block s properties. 11
12 Figure 11: Adding a constraint An issue I encountered was when trying to create a constraint using Train.allInstances(). The returning set was always of size 0 and I had no clue why. I asked on the Papyrus forums and turns out that it was a bug. A bug report was filed and it has been supposedly been fixed. When creating a model in the DSML, the constraints can be checked by right clicking on the diagram and letting it verify the model. Manually doing this is not ideal. It would be nice to alert the user and prohibiting a certain action at the time the user is doing it. I found no functionality for doing this in the standard Papyrus install. However, I found a validation plug-in that is supposed to support the live evaluation of constraints and some more handy features. The validation plug-in contains a UML profile that can be applied to the UML profile being created. It contains a stereotype for constraints which provides these advanced features. After creating the constraints, you would generate a validation plug-in that takes care of the constraints. Unfortunately, the plug-in doesn t really work as it is supposed to for OCL. It should work with Java constraints but that would be too impractical. The problem is that the OCL constraints are defined and validated in different OCL environments (LPG vs. Pivot) which renders these unusable Creating a custom diagram When a DSML user creates a model they d need to create a new diagram and add elements in that diagram. It s important that this diagram is of a new type as modelling the domain specific language in a UML diagram is not very desirable. Creating an environment that facilitates the use of the DSML and hides all UML would be nice. 12
13 Unfortunately, the online Papyrus documentation concerning this is very limited and does not really specify how this can be done. Papyrus comes bundled with SysML support which accomplishes this. So in theory I just had to open the SysML plug-ins and see how this had been done. There were numerous SysML plugins which did a lot of things. I had found what extension points I needed to use in order to add a new diagram category and diagram. After some searching I found the org.eclipse.papyrus.infra.core.papyrusdiagram extension point which could be used for this. There was little documentation on doing this in the help section. The things I achieved using this approach was quite limited as it was quite complex, impractical and involved a lot of Java coding. I turned to the Papyrus forums for some help and Camille Letavernier (a Papyrus developer) told me that that was the old way of doing things. There is a new way of doing this which is being used in the new SysML version called viewpoints. After installing and inspecting the SysML1.4 plug-ins together with the documentation (Help >Help Contents >Papyrus Guide >User Guide >Viewpoints in Papyrus) I found out how viewpoints were created Viewpoints The Papyrus documentation describes viewpoints as follows: Viewpoints in Papyrus enable the specialization and customization of the user experience by constraining what can be seen and interacted with in Papyrus diagrams and tables. Figure 12: A viewpoint file For our Railway example I created a Railway viewpoint which creates the Railway diagram that is under the Railway category, adds the custom palette and the custom CSS file that enables the stereotypes to show. Normally, creating 13
14 the Railway category could just be done in the viewpoint.configuration file but that didn t work. Creating the diagram category using the old org.eclipse.papyrus.infra.core.papyrusdiagram did work. Besides the earlier mentioned custom CSS file (that takes care of the concrete syntax) the palette is a very important part of modelling in Papyrus. Elements are added to the diagram by selecting them from the palette and clicking in the diagram. A custom palette can manually be made which generates an XML file in your workspace folder at.metadata/.plugins/org.eclipse.papyrus.diagram.common. This XML file can then be included in the plug-in and used in the viewpoint so that it automatically gets loaded. Figure 13: Creating a custom palette After defining the viewpoint, it can be added to the Railway plug-in through the org.eclipse.papyrus.infra.viewpoints.policy.custom extension point. You can either choose your viewpoint to be a contribution or a configuration. The contribution choice will add your new viewpoint to the already existing UML/SysML viewpoints. If the configuration element is chosen your new viewpoint will be the only one used. For our example the user should only be able to build models in our DSML. Hiding the other options will make for a cleaner, less complicated environment. 14
15 Property views In Papyrus, every element in a diagram has a properties view. In this properties view one can edit the element s information. In a DSML context it makes sense to show the tagged values and make them editable. In order to get this functionality in the properties tab we have to create a new properties context file. Papyrus provides a wizard to generate such a properties context file from a UML Profile (File >New >Other >Papyrus/Property view configuration). This properties context can be hot deployed as well as be included in the DSML plug-in directly through the org.eclipse.papyrus.views.properties.context extension point. As we re creating a UML profile, numerous tabs in the properties windows in our stereotypes contain UML information. We generally want to hide this information from the user. This can be done by deselecting the contexts we want to hide in the workspace preferences (Window >Preferences >Papyrus >Property views). Figure 14: Selecting the desired contexts 15
16 Diagram assistants Papyrus UML diagrams provide a feature called diagram assistants that offer context-sensitive tools directly in the diagram. These assist the user in two ways: there are pop-up bars that contain a variety of tools for the creation of new model elements. The other way the assistants help is by providing connection handles which can be used to easily create new connections to other elements in the diagram. The capabilities of these diagram assistants can be extended in order to provide assistence for our profile-based DSL. Unfortunately, it seems to be that there is no way to hide the existing UML assistance which makes these assistants rather unuseful. 5. The complete DSML plug-in 5.1. Exporting and installing the plug-in Once the development of the plug-in is finished, it can be exported. When opening the plugin.xml file, there is an export wizard that helps you do this. In order to use this plug-in you can copy the generated.jar file to the plug-ins folder of your Papyrus installation and restart Papyrus. Another way of doing this is by creating an update site for your plug-in. If you want to do this, I suggest taking a look at the Eclipse documentation on this Using the plug-in After starting Papyrus with our plug-in installed we need to make some one time adjustments in order to be able to fully use the plug-in. Open Window >Preferences >Papyrus In the Viewpoints Configuration section: choose Deployed through the extension point as configuration selection. In the Property Views section: deselect the contexts we want to hide as described in section Now you should be able to create a new Papyrus Railway project, create a Railway diagram and create a model using the palette and property view. 6. Further possibilities As Papyrus is Eclipse-based it is based on technology which works with other tools such as code generators, model checkers and transformation engines. 16
17 6.1. Operational semantics For adding operational semantics there is a tool called MOKA[10] which is used for model execution and is recommended in the Papyrus user guide. MOKA is a Papyrus module for the execution of UML models, it is quite extendable in order to support alternative execution semantics as you would want to have with DSMLs. Models can interactively be executed and CSS can be used to visualize the execution Translational semantics For translational semantics one can use a transformation language such as QVT[11]. 7. Conclusion Development of domain specific modelling languages ogether with a DSML environment should be easy and well documented. Papyrus has great potential but at the moment of writing this report it has some issues. It isn t very user friendly to build a DSML environment: I encountered numerous bugs (most of them reported but not fixed), documentation was lacking and sometimes outdated. If the process of creating the modelling environment could be streamlined and well documented I m sure Papyrus could gain a bigger userbase. One of the big strengths of Papyrus is that you can reuse Papyrus as a DSML environment. In order to do so, one has to write a Papyrus plug-in. All of this combined means that using Papyrus for domain specific modelling has quite a steep learning curve. Once these issues have been resolved and there is proper documentation Papyrus could be a great way of creating DSMLs. 17
18 References [1] M. Fowler, UML Distilled, 2nd edition, Addison-Wesley, [2] I. Object Management Group, What is uml?, gettingstarted/what_is_uml.htm (2015). [3] I. Object Management Group, Uml website, (2015). [4] T. E. Foundation, Papyrus website, (2015). [5] T. E. Foundation, Papyrus user guide: About uml profiling, PapyrusUserGuideSeries_AboutUMLProfile_v1.0.0_d pdf (2011). [6] Softeam, The uml profile technology, omcw/resources/chapter04/downloads/theumlprofiletechnology. SOFTEAM.ppt. [7] uml diagrams, Uml profile diagrams, profile-diagrams.html. [8] T. E. Foundation, Eclipse newsletter april 2014, org/community/eclipse_newsletter/2014/april/article2.php (2014). [9] TechnologyUK, Uml profile diagrams, computing/uml/profile_diagrams.shtml. [10] B. M. Arnaud Cuccuru, J. Tatibouet, Moka model execution, wiki.eclipse.org/papyrus/userguide/modelexecution. [11] I. Object Management Group, Qvt, [12] G. P. Paul Roubekas, N. FAUVERGUE, others., Papyrus user guide, [13] P. Eclipse, Papyrus youtube channel, channel/ucxypoblzc_rkls7_k2dtwya. [14] C. Damus, Christian damus youtube channel, channel/ucdyrc4lezoxkituy7b8xpna. 18
An 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 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 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 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 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 informationChap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
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 informationcreating a text-based editor for eclipse
creating a text-based editor for eclipse By Elwin Ho Contact author at: Elwin.Ho@hp.com June 2003 2003 HEWLETT-PACKARD COMPANY TABLE OF CONTENTS Purpose...3 Overview of the Eclipse Workbench...4 Creating
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 informationDesigning portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development
Designing portal site structure and page layout using IBM Rational Application Developer V7 Part of a series on portal and portlet development By Kenji Uchida Software Engineer IBM Corporation Level: Intermediate
More informationThe power of IBM SPSS Statistics and R together
IBM Software Business Analytics SPSS Statistics The power of IBM SPSS Statistics and R together 2 Business Analytics Contents 2 Executive summary 2 Why integrate SPSS Statistics and R? 4 Integrating R
More informationCMS Training Session 1
Almost Everything you always wanted to know about digital assets But were afraid to ask J CMS Training Session 1 Topics we ll cover 1. What is a digital asset? 2. How do I add digital assets to my page?
More informationUsing Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting
Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes
More informationAutomatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department
Automatic Generation Between UML and Code Fande Kong and Liang Zhang Computer Science department Outline The motivation why we need to do the generation between the UML and code. What other people have
More informationComparative Analysis Report:
Comparative Analysis Report: Visualization Tools & Platforms By Annabel Weiner, Erol Basusta, Leah Wilkinson, and Quenton Oakes Table of Contents Executive Summary Introduction Assessment Criteria Publishability
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 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 informationComposite.Community.Newsletter - User Guide
Composite.Community.Newsletter - User Guide Composite 2014-11-19 Composite A/S Nygårdsvej 16 DK-2100 Copenhagen Phone +45 3915 7600 www.composite.net Contents 1 INTRODUCTION... 4 1.1 Who Should Read This
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 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 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 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 informationTowards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations
Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank and IT University
More information6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward
6 th Annual EclipseCon Introduction to BIRT Report Development John Ward BIRT and Us Who am I? Who are you? Who am I? John Ward, BIRT user Independent BIRT Enthusiast Author: Practical Data Analysis and
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 informationEclipse BPMN Modeler Introducing Intalio Designer
Eclipse BPMN Modeler Introducing Intalio Designer Arnaud Blandin Ismael Ghalimi Hugues Malphettes Intalio Inc, EMEA Manager Intalio Inc, CEO Intalio Inc, Lead Developer 6 rue du conseil general 1205 Geneva
More informationSysML Modelling Language explained
Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling
More informationA Tool Suite for the Generation and Validation of Configurations for Software Availability
A Tool Suite for the Generation and Validation of Configurations for Software Availability A. Gherbi 1, A. Kanso 1, F. Khendek 1, M. Toeroe 2 and A. Hamou-Lhadj 1 1 Concordia University, Montréal, Canada
More informationDeveloping Eclipse Plug-ins* Learning Objectives. Any Eclipse product is composed of plug-ins
Developing Eclipse Plug-ins* Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk * Based on M. Pawlowski et al: Fundamentals of Eclipse Plug-in and RCP
More informationApplying MDA in Developing Intermediary Service for Data Retrieval
Applying MDA in Developing Intermediary Service for Data Retrieval Danijela Boberić Krstićev University of Novi Sad Faculty of Sciences Trg Dositeja Obradovića 4, Novi Sad Serbia +381214852873 dboberic@uns.ac.rs
More informationGetting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
More informationGenerating Edit Operations for Profiled UML Models
Generating Edit Operations for Profiled UML Models Timo Kehrer, Michaela Rindt, Pit Pietsch, Udo Kelter Software Engineering Group University of Siegen {kehrer,mrindt,pietsch,kelter}@informatik.uni-siegen.de
More informationHow to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
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 informationWeb Forms for Marketers 2.3 for Sitecore CMS 6.5 and
Web Forms for Marketers 2.3 for Sitecore CMS 6.5 and later User Guide Rev: 2013-02-01 Web Forms for Marketers 2.3 for Sitecore CMS 6.5 and later User Guide A practical guide to creating and managing web
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 informationHow To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
More informationCPS122 Lecture: State and Activity Diagrams in UML
CPS122 Lecture: State and Activity Diagrams in UML Objectives: last revised February 14, 2012 1. To show how to create and read State Diagrams 2. To introduce UML Activity Diagrams Materials: 1. Demonstration
More informationADT Plugin for Eclipse
ADT Plugin for Eclipse Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give you a powerful, integrated environment in which to build Android applications. ADT extends
More informationCase studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design
I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)
More informationWhy Your Business Needs a Website: Ten Reasons. Contact Us: 727.542.3592 Info@intensiveonlinemarketers.com
Why Your Business Needs a Website: Ten Reasons Contact Us: 727.542.3592 Info@intensiveonlinemarketers.com Reason 1: Does Your Competition Have a Website? As the owner of a small business, you understand
More informationEclipse installation, configuration and operation
Eclipse installation, configuration and operation This document aims to walk through the procedures to setup eclipse on different platforms for java programming and to load in the course libraries for
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More informationEXCEL IMPORT 18.1. user guide
18.1 user guide No Magic, Inc. 2014 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by any means. All information
More informationA Case Study on Model-Driven and Conventional Software Development: The Palladio Editor
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits
More informationAfter Effects CS4. Getting Started. Getting Started. Essential Training Introduction
After Effects CS4 Essential Training Introduction Getting Started Getting Started In this section we will go over, how to import and organize footage, create new compositions, how to handle all the adjustment
More informationComposite.Community.Newsletter - User Guide
Composite.Community.Newsletter - User Guide Composite 2015-11-09 Composite A/S Nygårdsvej 16 DK-2100 Copenhagen Phone +45 3915 7600 www.composite.net Contents 1 INTRODUCTION... 4 1.1 Who Should Read This
More informationDomain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software Development Karsten Klein, hybrid labs, January 2007 Version: 1.0 Introduction Eric Evans Book Domain Driven Design was first published end of 2003 [Evans2003].
More informationSabre Red Apps. Developer Toolkit Overview. October 2014
Sabre Red Apps Developer Toolkit Overview October 2014 Red Apps are optional, authorized applications that extend the capabilities of Sabre Red Workspace. Red Apps are Sabre's branded version of an Eclipse
More informationSysML Vad och varför. Varför Vad. Diskussion. Relation till UML Innehåll Struktur Beteende Krav Cross cutting constructs. Allocations Profiles
SysML Vad och varför Bakgrund Varför Vad Relation till UML Innehåll Struktur Beteende Krav Cross cutting constructs Diskussion Allocations Profiles Bakgrund SysML Formell standard 2007-09-01 http://www.omg.org/spec/sysml/1.0/pdf
More informationUmbrello UML Modeller Handbook
2 Contents 1 Introduction 7 2 UML Basics 8 2.1 About UML......................................... 8 2.2 UML Elements........................................ 9 2.2.1 Use Case Diagram.................................
More informationPreparing a Windows 7 Gold Image for Unidesk
Preparing a Windows 7 Gold Image for Unidesk What is a Unidesk gold image? In Unidesk, a gold image is, essentially, a virtual machine that contains the base operating system and usually, not much more
More informationFramework as a master tool in modern web development
Framework as a master tool in modern web development PETR DO, VOJTECH ONDRYHAL Communication and Information Systems Department University of Defence Kounicova 65, Brno, 662 10 CZECH REPUBLIC petr.do@unob.cz,
More informationSOA REFERENCE ARCHITECTURE: WEB TIER
SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible
More informationProductivity Comparison for Building Applications and Web Services
Productivity Comparison for Building Applications and Web Services Between The Virtual Enterprise, BEA WebLogic Workshop and IBM WebSphere Application Developer Prepared by Intelliun Corporation CONTENTS
More informationVerification of Good Design Style of UML Models
Verification of Good Design Style of UML Models Bogumiła Hnatkowska 1 1 Institute of Applied Informatics, Wrocław University of Technology, Wybrzeże Wyspiańskiego 27, 50-370 Wrocław, Poland Bogumila.Hnatkowska@pwr.wroc.pl
More informationLanguage-Driven, Technology-Enhanced Instructional Systems Design
Language-Driven, Technology-Enhanced Instructional s Design Iván Martínez-Ortiz, José-Luis Sierra, Baltasar Fernández-Manjón Fac. Informática. Universidad Complutense de Madrid C/ Prof. José García Santesmases
More informationSPECIFICATION OF VISUAL INSTRUCTIONAL DESIGN LANGUAGES DEDICATED TO LEARNING MANAGEMENT SYSTEMS
SPECIFICATION OF VISUAL INSTRUCTIONAL DESIGN LANGUAGES DEDICATED TO LEARNING MANAGEMENT SYSTEMS Aymen Abedmouleh, Pierre Laforcade and Lahcen Oubahssi LIUM, Avenue Olivier Messiaen, 72085, LE MANS CEDEX
More informationTowards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web Applications Nora Koch and Andreas Kraus Ludwig-Maximilians-Universität Munich, Germany Motivation Overwhelming diversity of Web methodologies Goal:
More informationUsing the Query Analyzer
Using the Query Analyzer Using the Query Analyzer Objectives Explore the Query Analyzer user interface. Learn how to use the menu items and toolbars to work with SQL Server data and objects. Use object
More informationUOFL SHAREPOINT ADMINISTRATORS GUIDE
UOFL SHAREPOINT ADMINISTRATORS GUIDE WOW What Power! Learn how to administer a SharePoint site. [Type text] SharePoint Administrator Training Table of Contents Basics... 3 Definitions... 3 The Ribbon...
More informationModel-Driven Health Tools (MDHT) CDA Tools Overview. http://mdht.projects.openhealthtools.org
Model-Driven Health Tools (MDHT) CDA Tools Overview http://mdht.projects.openhealthtools.org CDA Tools Objectives Accelerate and lower cost of adopting CDAr2 standard Define new CDA templates and implementation
More informationMDE Adoption in Industry: Challenges and Success Criteria
MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314
More informationWhy HTML5 Tests the Limits of Automated Testing Solutions
Why HTML5 Tests the Limits of Automated Testing Solutions Why HTML5 Tests the Limits of Automated Testing Solutions Contents Chapter 1 Chapter 2 Chapter 3 Chapter 4 As Testing Complexity Increases, So
More informationOn the Papyrus USE: Usage, Specialization and Extension
On the Papyrus USE: Usage, Specialization and Extension PhD. Sébastien Gérard CEA LIST Senior Expert Laboratory of model driven engineering for embedded systems (LISE) 2010-09-06 Sebastien.Gerard@cea.fr
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 informationQuick start. A project with SpagoBI 3.x
Quick start. A project with SpagoBI 3.x Summary: 1 SPAGOBI...2 2 SOFTWARE DOWNLOAD...4 3 SOFTWARE INSTALLATION AND CONFIGURATION...5 3.1 Installing SpagoBI Server...5 3.2Installing SpagoBI Studio and Meta...6
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 informationHave you ever done something the long way and then
Quick Web Development Using JDeveloper 10g Use the Struts controller. Generate the Java Server Page. Run the application. In a short period of time, you ll learn how to quickly develop an application using
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 informationMeta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
More informationActuate Business Intelligence and Reporting Tools (BIRT)
Product Datasheet Actuate Business Intelligence and Reporting Tools (BIRT) Eclipse s BIRT project is a flexible, open source, and 100% pure Java reporting tool for building and publishing reports against
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 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 informationVARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS
VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom of Saudi
More informationIEC CIM, Enterprise Architect, Profiles and CIMTool
IEC CIM, Enterprise Architect, Profiles and CIMTool Scott Neumann February 2010 Introduction The purpose of this presentation is to provide an overview of the IEC CIM and common usage within IEC TC57 Topics
More informationWorkshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:
Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationUtilizing Domain-Specific Modelling for Software Testing
Utilizing Domain-Specific Modelling for Software Testing Olli-Pekka Puolitaival, Teemu Kanstrén VTT Technical Research Centre of Finland Oulu, Finland {olli-pekka.puolitaival, teemu.kanstren}@vtt.fi Abstract
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 informationNew Web Application Development Tool and Its MDA-Based Support Methodology
New Web Application Development Tool and Its MDA-Based Support Methodology V Yasuyuki Fujikawa V Takahide Matsutsuka (Manuscript received February 11, 2004) Web applications are ubiquitous on the Internet,
More informationWhat is a metamodel: the OMG s metamodeling infrastructure
Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid
More informationThe Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform
The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform Technical Discussion David Churchill CEO DraftPoint Inc. The information contained in this document represents the current
More informationFor Introduction to Java Programming, 5E By Y. Daniel Liang
Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,
More informationREMOTE DEVELOPMENT OPTION
Leading the Evolution DATA SHEET MICRO FOCUS SERVER EXPRESS TM REMOTE DEVELOPMENT OPTION Executive Overview HIGH PRODUCTIVITY DEVELOPMENT FOR LINUX AND UNIX DEVELOPERS Micro Focus Server Express is the
More informationDefining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Thorsten Arendt a, Matthias Burhenne a, Gabriele Taentzer a a Philipps-Universität Marburg,
More informationFrequently Asked Questions: Cisco Jabber 9.x for Android
Frequently Asked Questions Frequently Asked Questions: Cisco Jabber 9.x for Android Frequently Asked Questions (FAQs) 2 Setup 2 Basics 4 Connectivity 8 Calls 9 Contacts and Directory Search 14 Voicemail
More informationOracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0
Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0 Part No. E52543-01 April 2014 Oracle Financial Services Software Limited Oracle Park Off Western Express Highway
More informationOMNeT++ IDE Developers Guide. Version 5.0
OMNeT++ IDE Developers Guide Version 5.0 Copyright 2016 András Varga and OpenSim Ltd. 1. Introduction... 1 2. Installing the Plug-in Development Environment... 2 3. Creating The First Plug-in... 4 Creating
More informationReqXChanger Closing the Gap between Requirements and Modelling
ReqXChanger Closing the Gap between Requirements and Modelling Index: Features Principles Usage Example The Gearwheel between Requirements and Modelling Time- and cost pressure, increasing competition,
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 informationToad for Data Analysts, Tips n Tricks
Toad for Data Analysts, Tips n Tricks or Things Everyone Should Know about TDA Just what is Toad for Data Analysts? Toad is a brand at Quest. We have several tools that have been built explicitly for developers
More informationEmbarcadero DB Change Manager 6.0 and DB Change Manager XE2
Product Documentation Embarcadero DB Change Manager 6.0 and DB Change Manager XE2 User Guide Versions 6.0, XE2 Last Revised April 15, 2011 2011 Embarcadero Technologies, Inc. Embarcadero, the Embarcadero
More informationGetting Started: Creating a Simple App
Getting Started: Creating a Simple App What You will Learn: Setting up your development environment Creating a simple app Personalizing your app Running your app on an emulator The goal of this hour is
More informationMicrosoft Office System Tip Sheet
Experience the 2007 Microsoft Office System The 2007 Microsoft Office system includes programs, servers, services, and solutions designed to work together to help you succeed. New features in the 2007
More informationGraphical Environment Tool for Development versus Non Graphical Development Tool
Section 4 Computing, Communications Engineering and Signal Processing & Interactive Intelligent Systems Graphical Environment Tool for Development versus Non Graphical Development Tool Abstract S.Daniel
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 informationForward proxy server vs reverse proxy server
Using a reverse proxy server for TAD4D/LMT Intended audience The intended recipient of this document is a TAD4D/LMT administrator and the staff responsible for the configuration of TAD4D/LMT agents. Purpose
More informationModel-Based Engineering: A New Era Based on Papyrus and Open Source Tooling
Model-Based Engineering: A New Era Based on Papyrus and Open Source Tooling Francis Bordeleau Ericsson 8500 Decarie Blvd, Town of Mount Royal, QC, H4P 2N2, Canada francis.bordeleau@ericsson.com http://www.ericsson.com
More informationGETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
More information