Eclipse Support for Design and Requirements Engineering Based on ModelicaML
|
|
|
- Jewel Cole
- 9 years ago
- Views:
Transcription
1 Eclipse upport for Design and Requirements Engineering Based on ModelicaML Adrian Pop, Vasile Băluţă, Peter Fritzson Programming Environments Lab Department of Computer and Information cience Linköping University, E Linköping, weden Abstract In order to support the development of complex products, modeling tools and processes need to support codesign of software and hardware in an integrated way. Modelica is the major object-oriented mathematical modeling language for component-oriented modeling of complex physical systems and UML is the dominant graphical modeling notation for software. The ModelicaML UML profile integrates Modelica and UML to support engineering of whole products. In this paper we present the Eclipse ModelicaML implementation and integration with the MDT Eclipse plugin, with emphasis on requirements support. Keywords: Requirements, Modeling and imulation, Modelica, Eclipse, UML, ysml, ModelicaML. 1. Introduction The development in system modeling has come to the point where complete modeling of systems is possible, e.g. the complete propulsion system, fuel system, hydraulic actuation system, etc., including embedded software can be modeled and simulated concurrently. This does not mean that all components are dealt with down to the very smallest details of their behavior. It does, however, mean that all functionality is modeled, at least qualitatively. In this paper, the implementation of the ModelicaML UML profile for Modelica in Eclipse is presented, with emphasis on requirement diagrams. 1.1 ysml The Unified Modeling Language (UML) has been created to assist software development processes by providing means to capture software system structure and behavior. This has evolved into the main standard for Model Driven Development [5]. The ystem Modeling Language (ysml) [4] is a graphical modeling language for systems engineering applications. ysml was developed by systems engineering experts, and was adopted by OMG in ysml is built on top of UML and tailored to the needs of system engineers by supporting specification, analysis, design, verification, and validation of a broad range of systems and system-of-systems. The main goal behind ysml is to unify and replace different document-centric approaches in the system engineering field with a single systems modeling language. A single model-centric approach improves communication, assists managaging complex system design and allows its early validation and verification. Figure 1. ysml diagram taxonomy. The taxonomy of ysml diagrams is presented in Figure 1. For a full description of ysml see (ysml, 2006) [4]. The major ysml extensions compared to UML are: Requirements diagrams support requirements presentation in tabular or in graphical notation; allow composition of requirements; and support traceability, verification and fulfillment of requirements. Block diagrams extend the Composite tructure diagram of UML2.0. The purpose of this diagram is to capture system components, their parts and connections between parts. Connections are handled by means of connecting ports which may contain data, material or energy flows. Parametric diagrams help perform engineering analysis such as performance analysis. Parametric diagrams contain constraint elements, which define mathematical equations, linked to properties of model elements. Activity diagrams show system behavior as data and control flows. Activity diagrams are similar to Extended Functional Flow Block Diagrams, which 93
2 qddref qdref qref pum - qdref 1 Kd 0.03 Kv 0.3 qref 1 sum wum - rate1 b(s) a(s) k2 i k1 i rate2 b(s) a(s) tacho2 b(s) a(s) r3control rate tacho1 PT1 iref r3motor r3drive1 1 Jmotor=J rel spring=c gear=i joint=0 are already widely used by system engineers. Activity decomposition is supported by ysml. Allocations are used to define mappings between model elements: For example, certain Activities may be allocated to Blocks (to be performed by the block). 1.2 Modelica Modelica [2][3] is a modern language for equationbased object-oriented mathematical modeling primarily of physical systems. everal tools, ranging from opensource such as OpenModelica [1], to commercial like Dymola [11] or MathModelica [10] support the Modelica specification. The language allows defining models in a declarative manner, modularly and hierarchically and combining various formalisms expressible in the more general Modelica formalism. The multidomain capability of Modelica allows combining electrical, mechanical, hydraulic, thermodynamic, etc., model components within the same application model. In short, Modelica has improvements in several important areas: Object-oriented mathematical modeling. This technique makes it possible to create model components, which are employed to support hierarchical structuring, reuse, and evolution of large and complex models covering multiple technology domains. Physical modeling of multiple application domains. Model components can correspond to physical objects in the real world, in contrast to established techniques that require conversion to signal blocks with fixed in-put/output causality. In Modelica the structure of the model naturally correspond to the structure of the physical system in contrast to block-oriented modeling tools. Acausal modeling. Modeling is based on equations instead of assignment statements as in traditional input/output block abstractions. Direct use of equations significantly increases re-usability of model components, since components adapt to the data flow context in which they are used. A component may internally consist of other connected components, i.e., hierarchical modeling as in Figure 2. q l qd cut joint rel = n*transpose(n)+(identity(3)- n*transpose(n))*cos(q)- skew(n)*sin(q); tn qd Figure 2. Hierarchical model of an industrial robot. fric=rv0 axis6 axis5 axis4 axis3 axis2 axis1 y x inertial 1.3 ysml vs. Modelica The ystem Modeling Language (ysml) has been proposed to unify different approaches and languages used by system engineers into a single standard. ysml models may span different domains, for example, electrical, mechanical and software. Even if ysml provides means to describe system behavior like Activity and tate Chart Diagrams, the precise behavior can not be described and simulated without complex transformations and additional information provided for ysml models. In that respect, ysml is rather incomplete compared to Modelica. Modelica was also created to unify and extend object-oriented mathematical modeling languages. It has powerful means for describing precise component behavior and functionality in a declarative way. Modelica models can be graphically composed using Modelica connection diagrams which depict the structure of designed system. However, complex system design is more that just a component assembly. In order to build a complex system, system engineers have to gather requirements, specify system components, define system structure, define design alternatives, describe overall system behavior and perform its validation and verification. Figure 3. ModelicaML diagrams overview. 2. The ModelicaML UML profile Before we present the Eclipse integration, we briefly describe the ModelicaML profile. With respect to ysml, ModelicaML reuses, extends and provides several new diagrams. The ModelicaML diagram overview is shown in Figure 3. Diagrams are grouped into four categories: tructure, Behavior, imulation and Requirement. The description of the ModelicaML profile is presented in [8], [16] and [17]. The most important properties of the ModelicaML profile are outlined in the following: The ModelicaML profile supports modeling with all Modelica constructs and properties i.e. restricted classes, equations, generics, variables, etc. Using ModelicaML diagrams it is possible to describe most of the aspects of a system being designed and thus support system development process phases such as requirements analysis, design, 94
3 implementation, verification, validation and integration. The profile supports mathematical modeling with equations since equations specify behavior of a system. Algorithm sections are also supported. imulation diagrams are introduced to model and document simulation parameters and simulation results in a consistent and usable way. The ModelicaML meta-model is consistent with ysml in order to provide ysml-to- ModelicaML conversion. 2.1 Package Diagrams ModelicaML extends ysml packages in order to support Modelica packaging features, in particular: package inheritance, generic packages, constant declaration within a package, package instantiation and renaming import (see [2] for Modelica packages details). A snapshot of the Modelica tandard Library hierarchy is shown in Figure 4 using UML notation. Package nodes in the hierarchy are connected via the package containment link as in the example in Figure 4. The purpose of the Modelica Class Diagram is to show features of Modelica classes and relationships between classes. Additional kind of dependencies and associations between model elements may also be shown in a Modelica Class Diagram. For example, behavior description constructs equations, may be associated with particular Modelica Classes. The detailed description of structural features of ModelicaML and graphical notation of ModelicaML class definitions is shown in Figure 5. Each class definition is adorned with a stereotype name that indicates the class type it represents. The ModelicaML Class Definition has several compartments to group its features: parameters, parts, variables. ome compartments are visible by default; some are optional and may be shown on ModelicaML Class Diagram with the help of a tool. Property signatures follow the Modelica textual syntax and not the ysml original syntax, reused from UML. A ModelicaML/ysML tool may allow users to choose between UML or Modelica style textual signature presentation. The ModelicaML Internal Class Diagram is based on the ysml Internal Block Diagram. The Modelica Class Diagram defines Modelica classes and relationships between classes, like generalizations, association and dependencies, whereas a ModelicaML Internal Class Diagram shows the internal structure of a class in terms of parts and connections. The ModelicaML Internal Class Diagram is similar to the Modelica connection diagram, which presents parts in a graphical (icon) form. An example Modelica model presented as an Internal Class diagram is shown in Figure 6 Figure 4. Package hierarchy modeling. 2.2 Modelica Class Diagrams in ModelicaML Modelica uses restricted classes such as class, model, block, connector, function and record to describe a system. Modelica classes have essentially the same semantics as ysml blocks specified in [4] and provide a general-purpose capability to model systems as hierarchies of modular components. ModelicaML extends ysml blocks by defining features which are relevant or unique to Modelica. Figure 5. ModelicaML Class Diagrams. Figure 6. ModelicaML Internal Class Diagram vs. Modelica Connection Diagram. Usually Modelica models are presented graphically via Modelica connection diagrams (Figure 6, bottom). uch diagrams are created by the modeler using a graphic connection editor by connecting together components from available libraries. ince both diagram types are used to compose models and serve the same purpose, we briefly compare the Modelica connection diagram to the ModelicaML Internal Class Diagram. The main advantage of the Modelica connection diagram over the Internal Class Diagram is that it has better visual comprehension as components are shown via domain-specific icons known to application modelers. Another advantage is that Modelica library developers 95
4 are able to predefine connector locations on an icon, which are related to the semantics of the component. 2.3 Equation Diagrams ysml defines Constraint blocks which specify mathematical expressions, like equations, to constrain physical properties of a system. Constraint blocks are defined in the Block Definition diagram and can be packaged into domain-specific libraries for later reuse. There is a special diagram type called Parametric Diagram which relates block parameters with certain constraints blocks. The Parametric Diagram is included in ModelicaML without any modifications. The Modelica class behavior is usually described by equations, which also constrain Modelica class parameters, and have a domain-specific usage. ysml constraint blocks are a less powerful means of domain model description than Modelica equations, which also include certain kinds of equations which cannot be modeled using constraint blocks, i.e.: if-, for-, and when- equations. partial class TwoPin Pin p, n; Voltage v; Current i; equation v = p.v n.v; 0 = p.i + n.i; i = p.i; end TwoPin; class Resistor extends TwoPin; parameter Real R(unit = "Ohm"); equation R * I = v; end Resistor; Figure 7. Equation modeling example with a ModelicaML Class Diagram. 2.4 imulation Diagram ModelicaML also introduces a new diagram type, called imulation Diagram (Figure 8), used for simulation experiment modeling. imulation is usually performed by a simulation tool which allows parameter setting, variable selection for output and plotting. The imulation Diagram can be used to store any simulation experiment, thus helping to keep the history of simulations and its results. When integrated with a modeling and simulation environment, a simulation diagram may be automatically generated. The imulation Diagram provides facilities for simulation planning, structured presentation of parameter passing and simulation results. imulations can be run directly from the imulation Diagram. Association of simulation results with requirements from a domain expert and additional documentation (e.g. by: Note, Problem Rationale text boxes of ysml) are also supported by the imulation Diagram. Figure 8. imulation Diagram example. 2.5 Requirement Diagrams Requirement diagrams have been included in ModelicaML from ysml without any modification. Requirement Diagrams have several attributes: ID, Level, tatus, Name and Description. Requirements support hierarchical modeling, i.e., more specific requirements can derived from more general ones. Requirements can be linked to any other ModelicaML element via satisfies or satisfiedby relations. Any tool implementing the ModelicaML profile can be used to build, query, trace, and manage requirements. The Modelica language does not support a standard requirements representation. ince the ModelicaML profile supports requirements, we need a way to save these requirements in a Modelica file. Requirements can be represented in Modelica in several ways which we will describe in detail in the next section. 3. ModelicaML in Eclipse Eclipse [14] is an open source framework for creating extensible integrated development environments (IDEs). One of the goals of the Eclipse platform is to avoid duplicating common code that is needed to implement a powerful integrated environment for the development of software. By allowing third parties to easily extend the platform via the plugin concept, the amount of new code that needs to be written is decreased. For the development of our prototype we have used several Eclipse frameworks: EMF Eclipse Modeling Framework [18] is an Eclipse framework for building domain-specific model implementations. The EMF implementation is based on the Meta Object Facility (MOF) standard and implements the Essential MOF (EMOF) part of a standard. EMF is used by the GMF and UML2 frameworks. GMF Graphical Modeling Framework [20] provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF [19]. GMF consists of tooling, gen- 96
5 erative and runtime parts, depends on the EMF and GEF frameworks and also on other EMF related tools. The UML2 Eclipse meta-model implementation. The UML2 Eclipse project is an EMF based implementation of a UML2 meta-model for the Eclipse Platform to support development of UML modeling tools. The UML2 project doesn t aim to provide any graphical modeling or diagram interchange capabilities as it only implements UML abstract syntax. UML2 Tools focus on editing capabilities. 3.1 The ModelicaML GMF Model The Eclipse editor is created from a GMF model of the ModelicaML profile. The model describes the existing elements and their properties. As an example, in Figure 9 we present the Requirement Diagram element and its properties. and provides an environment for working with Modelica projects. The following features are available within the editor: Browsing support and wizards for creating Modelica projects, packages, Modelica tandard Libr. yntax color highlighting, syntax and semantic checking. Code assistance for packages and function calls upport for MetaModelica meta-programming extensions to standard Modelica Debugging support for Modelica and MetaModelica algorithmic code. We have extended the MDT plugin with a design view to facilitate ModelicaML integration. The ModelicaML integrated design environment where ysml/ ModelicaML diagrams are created is shown in Figure 10. It consists of a diagram file browser (left), diagram editor (middle), tool palette (right), properties editor (bottom) and a diagram outline (bottom left). Figure 9. ModelicaML GMF Model (Requirements) From the GMF model an editor that supports common operations on that model is automatically generated. The generated code can be extended to deal with issues specific to ModelicaML. 3.2 The ModelicaML Eclipse Editor The Modelica Development Tooling (MDT) [7] Eclipse plugin is part of the OpenModelica system [1] Figure 10. ModelicaML Eclipse based design environment with a Class diagram. The Project Browser lists all Modelica files. The Diagram Editor is a tool where diagrams can be created and graphical elements laid out. It has the following graphical features: Graphical elements like Modelica Class, Model, or Requirement can be picked up from a Tool palette and created in a Diagram editor pane in a drag-and-drop way. Elements in a palette are grouped by tandard tools (zooming, note, etc), Nodes and Links elements. The tool palette for Modelica Class and Internal Class diagram contains different sets of elements. The Property Editor can be used for changing the properties of the object selected in the diagram editor pane. Property elements vary depending on the type of chosen object. 97
6 The ModelicaML diagrams can be automatically generated from Modelica source files. The integrated tool can also generate Modelica source code from ModelicaML diagrams. However, the implementation of the Modelica code generation and ModelicaML diagram generation is, at the moment, in an experimental stage. In the current implementation ModelicaML diagrams are saved both in Modelica form and also the XMI dialect written to XML files. Further work is needed to save diagram position information within Modelica source code as annotations. 3.3 Modeling with Requirements The ModelicaML/MDT Eclipse environment supports modeling with requirements. The following functionality is available in the development environment: Hierarchies of requirements can be created. Requirements can be traced during the development process. Requirements can be queried with respect to any of their attributes. Figure 11. Modeling with Requirement Diagrams. Examples of modeling with Requirement Diagrams are presented in Figure 11 and in the Appendix. 3.4 Representing Requirements in Modelica While the default storage of ModelicaML diagrams is within XML files, our goal is to be able to save this information within normal Modelica files. Having this information within Modelica code would make it accessible to other Modelica and UML tools. Using this information tools could provide additional functionality. For example Modelica tools could display the inheritance hierarchy of a library, display the requirements for a specific class, etc. To find the best way to encode the ModelicaML diagram information within Modelica we have experienced with several ways of encoding the Requirement Diagrams. Using Modelica Annotations A requirement could be saved as an annotation in the following way (the top requirement from Figure 11): type Requirementtatus = enumeration(incomplete, Draft, tarted); annotation( Requirement( id="5.4.1", level=0, status=requirementtatus.incomplete, name="master Cylinder Efficacy", description="a master cylinder ")); The problem with Modelica annotations is that they can only be present at specific places within code and they are usually tied to a class definition. Because requirements are usually cross cutting is impossible to represent all requirements as such annotations. Another problem using annotations is the representation of hierarchies of requirements. Linking of a class with a requirement via a satisfy relation could be possible using Modelica extends, but would be cumbersome. Creating a new Restricted Class: requirement A requirement could be saved as a standard class marked with an isrequirement annotation or alternatively using a new restricted class in the following way (the diagrams from Figure 12 in the Appendix): requirement R1 tring name="master Cylinder Efficiency"; tring id="5.4.1"; Integer level=0; Requirementtatus status= Requirementtatus.Incomplete; tring description= A master cylinder shall have ; end R1; Now, we can use extends over requirements to build hierarchies: requirement R2 extends R1; tring name"loss Of Fluid"; tring id="5.4.1a"; Integer level=1; Requirementtatus status= Requirementtatus.tarted; tring description="prevent complete loss of fluid";... end R2; 98
7 To link requirements to Modelica elements one can use annotations: model Breakystem annotation(satisfy=r1);... end Breakystem; We believe that the best way to encode requirements within Modelica would be to create a new restricted class. Using this new class, requirements can be fully modeled in Modelica. We will propose in the Modelica Association to introduce the requirement restricted class into the Modelica specification. In Modelica, the requirement class could also have equation or algorithm sections that impose constraints to be verified against the class linked with the requirement. 4. Conclusion and Future Work In this paper we have presented the integration and implementation of the ModelicaML profile in Eclipse. UML tatecharts and Modelica have previously been combined, see e.g. [9][15]. ysml has already been adopted for system on chip design [13] evaluated for code generation [14], and extended with bond graphs support [12]. The support for Modelica in ModelicaML allows precise definition, specification, and simulation of physical systems. Modelica provides the means for defining behavior for ysml block diagrams while the additional modeling capabilities of ysml provides additional modeling and specification power to Modelica (e.g. requirements and inheritance diagrams, etc). Ongoing and future work targets further development and improvement of the Eclipse-based ModelicaML integrated development environment as a part of our Modelica Development Tooling (MDT). 5. Acknowledgements This work was supported by Vinnova in the afe & ecure Modeling and imulation project, by F in the RIE project and by the CUG graduate school at Linköping University. References [1] P Fritzson, P Aronsson, H Lundval, K Nyström, A Pop, L aldamli, and D Broman. The OpenModelica Modeling, imulation, and oftware Development Environment. In imu-lation News Europe, 44/45, Dec [2] Peter Fritzson. Principles of Object-Oriented Modeling and imulation with Modelica 2.1, 940 pp., Wiley-IEEE Press, ee also: [3] The Modelica Association. The Modelica Language pecification Version 2.2. [4] OMG, ystem Modeling Language, (ysml), [5] OMG : Guide to Model Driven Architecture: The MDA Guide v1.0.1 [6] Eclipse.Org, [7] A Pop, P Fritzson, A Remar, E Jagudin, and D Akhvlediani. OpenModelica Development Environment with Eclipse Integration for Browsing, Modeling, and Debugging. In Proc of the Modelica'2006, Vienna, Austria, ept. 4-5, [8] David Akhvlediani. Design and implementation of a UML profile for Modelica/ysML. Final Thesis, LITH-IDA-EX--06/061 E, April [9] J.Ferreira, J. Estima, Modeling hybrid systems using tatechars and Modelica. 7th IEEE Intl. Conf. on Emerging Technologies and Factory Automation, October 1999, pain. [10] MathCore, MathModelica [11] Dynasim, Dymola, [12] kander Turki, Thierry oriano, A ysml Extension for Bond Graphs upport, Proc. of the International Conference on Technology and Automation (ICTA), Greece, 2005 [13] Yves Vanderperren, Wim Dehane, ysml and ystems Engineering Applied to UML-Based oc Design, Proc. of the 2nd UML-oC Workshop at 42nd DAC, UA, [14] Yves Vanderperren, Wim Dehane, From UML/ysML to Matlab/imulink, Proceedings of the Conference on Design, Automation and Test in Europe (DATE), Munich, [15] André Nordwig. Formal Integration of tructural Dynamics into the Object-Oriented Modeling of Hybrid ystems. EM 2002: [16] Adrian Pop, David Akhlevidiani, Peter Fritzson, Towards Unified ystem Modeling with the ModelicaML UML Profile, EOOLT'2007-1st International Workshop on Equation-Based Object-Oriented Languages and Tools, July 29-August 3, 2007, Berlin, Germany. [17] Adrian Pop, David Akhvlediani, Peter Fritzson: Integrated UML and Modelica ystem Modeling with ModelicaML in Eclipse, 11th IATED International Conference on oftware Engineering and Applications (EA 2007), November 19-21, 2007, Cambridge, MA, UA [18] Eclipse.Org, Eclipse Modeling Framework (EMF), [19] Eclipse.Org, Graphical Editing Framework (GEF), [20] Eclipse.Org, Graphical Modeling Framework (GMF), 99
8 Appendix Figure 12. Modeling with requirements (Requirements palette). Figure 13. Modeling with requirements (Connections). 100
SysML 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
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts Banu Aysolmaz 1 and Onur Demirörs 2 1, 2 Informatics Institute, Middle East Technical University, Ankara,
Design 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
i. Node Y Represented by a block or part. SysML::Block,
OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Model 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:
Automatic 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
Compliance and Requirement Traceability for SysML v.1.0a
1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which
Overview. 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
Development 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
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 [email protected], [email protected] Abstract.
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
SYSML PLUGIN. version 17.0.1. user guide
SYSML PLUGIN 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 by
COCOVILA 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
Implementing 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
Tool 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,
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez [email protected] Hector Florez [email protected] ABSTRACT The linguistic conformance and the ontological
Using UML Part One Structural Modeling Diagrams
UML Tutorials Using UML Part One Structural Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.
PHP Code Design PHP is a server-side, open-source, HTML-embedded scripting language used to drive many of the world s most popular web sites. All major web servers support PHP enabling normal HMTL pages
SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1
SCADE System 17.0 SCADE System is the product line of the ANSYS Embedded software family of products and solutions that empowers users with a systems design environment for use on systems with high dependability
Towards Integrating Modeling and Programming Languages: The Case of UML and Java
Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria
A 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
Model-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge [email protected] www.efftinge.de Bernd Kolb [email protected] www.kolbware.de Markus Völter [email protected] www.voelter.de -1- Model Driven
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
USING SYSML IN THE PRODUCT DEVELOPMENT PROCESS OF MECHATRONIC SYSTEMS
INTERNATIONAL DESIGN CONFERENCE - DESIGN 200 Dubrovnik - Croatia, May 7-20, 200. USING SYSML IN THE PRODUCT DEVELOPMENT PROCESS OF MECHATRONIC SYSTEMS M. Follmer, P. Hehenberger, S. Punz and K. Zeman Keywords:
Comparison 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 [email protected]
How To Write A Train Control System
di Base tesi di laurea magistrale Model Driven Engineering of railway control systems with the openetcs process Anno Accademico 2013-2014 relatore Ch.mo Prof. Stefano Russo correlatori Ch.mo Dr. Domenico
Designing 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
OpenEmbeDD basic demo
OpenEmbeDD basic demo A demonstration of the OpenEmbeDD platform metamodeling chain tool. Fabien Fillion [email protected] Vincent Mahe [email protected] Copyright 2007 OpenEmbeDD project (openembedd.org)
Algorithms, Flowcharts & Program Design. ComPro
Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of
Organization 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
Modeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
Mastering increasing product complexity with Collaborative Systems Engineering and PLM
Mastering increasing product complexity with Collaborative Systems Engineering and PLM Thierry Ambroisine Dassault Systèmes 10 rue Marcel Dassault, 78140 Vélizy Villacoublay, France [email protected]
Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data
Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data Randall M. Hauch VP Development, Chief Architect Metadata Management OMG's Second Workshop on UML for Enterprise Applications:
Umbrello 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.................................
CDC UNIFIED PROCESS PRACTICES GUIDE
Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.
Winery 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
A 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
R&D and Topcased (led by Silvia Mazzini)
R&D and Topcased (led by Silvia Mazzini) 1 System and software engineering Study and experimentation of system and software engineering innovative techniques One of the Intecs main capacities acquired
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.
Logging makes sense for testbench debug The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao. SystemVerilog provides
Model-driven secure system development framework
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 43 52 P. Model-driven secure system development framework Viesturs Kaugers, Uldis Sukovskis Riga Technical
Representing XML Schema in UML A Comparison of Approaches
Representing XML Schema in UML A Comparison of Approaches Martin Bernauer, Gerti Kappel, Gerhard Kramler Business Informatics Group, Vienna University of Technology, Austria {lastname}@big.tuwien.ac.at
Scenario-based Requirements Engineering and User-Interface Design
Scenario-based Requirements Engineering and User-Interface Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria [email protected]
Creating 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
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
Clarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
Towards 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:
Intoduction to SysML
Intoduction to SysML a modeling language for Systems Engineering SummIT 2013, Axelborg 22. maj 2013 Ingeniørdocent Finn Overgaard Hansen, [email protected] Department of Engineering Aarhus University Ver. 22.5.2013
Modelling with Papyrus: Domain-Specific Modelling Languages using UML Profiles
Modelling with Papyrus: Domain-Specific Modelling Languages using UML Profiles Kristof De Middelaer University of Antwerp [email protected] Abstract Domain specific modelling languages (DSML)
Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features
Fifth International Conference on Information Technology: New Generations Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features Tihomir Calic, Sergiu Dascalu, Dwight Egbert
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
ProGUM-Web: Tool Support for Model-Based Development of Web Applications
ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de
Chap 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)
Multi-objective Design Space Exploration based on UML
Multi-objective Design Space Exploration based on UML Marcio F. da S. Oliveira, Eduardo W. Brião, Francisco A. Nascimento, Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Brazil
Static Analysis and Validation of Composite Behaviors in Composable Behavior Technology
Static Analysis and Validation of Composite Behaviors in Composable Behavior Technology Jackie Zheqing Zhang Bill Hopkinson, Ph.D. 12479 Research Parkway Orlando, FL 32826-3248 407-207-0976 [email protected],
Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert
Int'l Conf. Software Eng. Research and Practice SERP'15 225 Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and
Metamodels 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
Umple: An Open-Source Tool for Easy-To-Use Modeling, Analysis, and Code Generation
Umple: An Open-Source Tool for Easy-To-Use Modeling, Analysis, and Code Generation Timothy C. Lethbridge School of Electrical Engineering and Computer Science University of Ottawa, Canada K1N 6N5 [email protected]
Requirements Management with Enterprise Architect
Requirements Management with Requirements Management with Enterprise Architect By Sparx Systems www.sparxsystems.com Sparx Systems 2014 Requirements Management with Trademarks Object Management Group,
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de
Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool
White Paper Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool Writer: CFPS M.E. Dipl.-Ing. M. Öztürk, Update: 01 March 2011 Introduction The Purpose of this paper is to give
today 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
4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.
4. Multiagent Systems Design Part 2: Multiagent Syste ems (SMA-UPC) https://kemlg.upc.edu The PROMETHEUS methodology. Javier Vázquez-Salceda SMA-UPC Methodological Extensions to Object-Oriented Approaches
Requirements Management with Enterprise Architect
An Introduction to Requirements Management with Enterprise Architect By Sparx Systems All material Sparx Systems 2010 version 1.3 www.sparxsystems.com Sparx Systems 2010 Page 1 Trademarks Object Management
Model-Driven Software Development for Robotics: an overview
Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University
WebRatio 5: An Eclipse-based CASE tool for engineering Web applications
WebRatio 5: An Eclipse-based CASE tool for engineering Web applications Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Stefano Butti 1 1 WebModels S.r.l. Piazzale Gerbetto, 6. I22100 Como, Italy
Tool 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,
Rotorcraft Health Management System (RHMS)
AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center
MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems
OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
A Common Metamodel for Code Generation
A Common Metamodel for Code Generation Michael PIEFEL Institut für Informatik, Humboldt-Universität zu Berlin Unter den Linden 6, 10099 Berlin, Germany [email protected] ABSTRACT Models can
Rose/Architect: a tool to visualize architecture
Published in the Proceedings of the 32 nd Annual Hawaii International Conference on Systems Sciences (HICSS 99) Rose/Architect: a tool to visualize architecture Alexander Egyed University of Southern California
Modeling 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 [email protected] and [email protected] Abstract. This
Towards 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
Integrated Development of Distributed Real-Time Applications with Asynchronous Communication
Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September
A 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
UML for C# Modeling Basics
UML for C# C# is a modern object-oriented language for application development. In addition to object-oriented constructs, C# supports component-oriented programming with properties, methods and events.
A Software Development Platform for SOA
A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa [email protected] 2004 IBM Corporation Agenda IBM Software Group
A SoC design flow based on UML 2.0 and SystemC
A SoC design flow based on UML 2.0 and SystemC Sara Bocchio 1, Elvinia Riccobene 2, Alberto Rosti 1, and Patrizia Scandurra 3 1 STMicroelectronics, AST Agrate Lab R&I, Italy {sara.bocchio, alberto.rosti}@st.com
Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence
Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence OMG First Workshop on UML in the.com Enterprise: Modeling CORBA, Components, XML/XMI and Metadata November
CHAPTER 2 LITERATURE SURVEY
CHAPTER 2 LITERATURE SURVEY This chapter describes the survey of existing literature on multiple views. Later, it presents literature survey conducted on frameworks for tool comparison and stakeholder
Modelica Development Tooling for Eclipse
Modelica Development Tooling for Eclipse Elmir Jagudin Andreas Remar April 10, 2006 LITH-IDA-EX 06/024 SE i This work is licensed under the Creative Commons Attribution-ShareAlike 2.5 Sweden License. To
The value of modeling
The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article
Frameworks of Process Improvement for Mobile Applications
Frameworks of Process Improvement for Mobile Applications Haeng-Kon Kim Abstract Mobile application development belongs on the complicated, but quite regular software development environment that includes
CONDIS. IT Service Management and CMDB
CONDIS IT Service and CMDB 2/17 Table of contents 1. Executive Summary... 3 2. ITIL Overview... 4 2.1 How CONDIS supports ITIL processes... 5 2.1.1 Incident... 5 2.1.2 Problem... 5 2.1.3 Configuration...
Model Driven Testing AGEDIS Architecture Interfaces and Tools
Model Driven Testing AGEDIS Architecture Interfaces and Tools Alan Hartman Kenneth Nagin IBM Haifa Research Laboratory Haifa University Campus Haifa 31905 ISRAEL {hartman, nagin}@il.ibm.com Page 1 of 11
MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004
Introduction MDA Journal May 2004 At the end of 2002, with the computer industry reeling amidst the near total shutdown in corporate IT spending, IBM was rather quietly continuing its long standing program
Model-Driven Development: A Metamodeling Foundation
Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim 68161 Mannheim, Germany [email protected] Thomas Kühne Darmstadt University of Technology 64283
A 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.
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
