The DEx CD Lite language. Version 1.0. April 3 rd, 2014

Size: px
Start display at page:

Download "The DEx CD Lite language. Version 1.0. April 3 rd, 2014"

Transcription

1 The DEx CD Lite language Version 1.0 April 3 rd, 2014 Internal report Marita Breuer, Robert Eikermann, Timo Greifenberg, Katrin Hölldobler, Andreas Horst, Markus Look, Steffi Kaiser, Dimitri Plotnikov, Alex Roth, Bernhard Rumpe, Galina Volkova Software Engineering RWTH Aachen Germany 1

2 Explanation and Introduction DEX is a generator framework that basically generates a complete, running system from a single class diagram. While the DEX generator framework is capable of doing many more things, we also use it for the Generative Software Development lecture at RWTH Aachen. In this document we describe the core features of DEX that are mapped to the running program. These core features are defined as a simplified version of UML s class diagrams, that we call CD lite. For more details please see DEX is a subproject of MontiCore the DSL language workbench developed at RWTH Aachen. The rest of this document contains two sections: 1. The human readable grammar of CD lite. 2. The list of context conditions that apply to CD lite. This grammar is meant to understand the context free syntax of CD lite. It is not meant for parsing, and not for understanding the abstract syntax. Please note that in comparison to the UML/P class diagrams, the nonterminals have been renamed (by removing the CD prefix) and sometimes substructures have been removed. The context conditions come with the error code (that is also shown, when violated), and good and bad examples as well as with a reference to the context condition in [Sch12]. 2

3 Literature 1. [Rum12] B. Rumpe. Agile Modellierung mit UML : Codegenerierung, Testfälle, Refactoring. 2nd Edition, Springer Berlin, June [Wei12] I. Weisemöller. Generierung domänenspezifischer Transformationssprachen. Shaker Verlag, ISBN Aachener Informatik-Berichte, Software Engineering, Band [Sch12] M. Schindler. Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML P. Shaker Verlag, ISBN Aachener Informatik-Berichte, Software Engineering Band [HRR12] A. Haber, J. O. Ringert, B. Rumpe. MontiArc - Architectural Modeling of Interactive Distributed and Cyber-Physical Systems. RWTH Aachen University, Technical Report. AIB February [MRR11e] S. Maoz, J. O. Ringert, B. Rumpe. CD2Alloy: Class Diagrams Analysis Using Alloy Revisited. In: Model Driven Engineering Languages and Systems (MODELS 2011), Wellington, New Zealand. pp , LNCS 6981, [Rum11] B. Rumpe. Modellierung mit UML. 2nd Edition, Springer Berlin, September [KRV10] H. Krahn, B. Rumpe, S. Völkel. MontiCore: a Framework for Compositional Development of Domain Specific Languages. In: International Journal on Software Tools for Technology Transfer (STTT), Volume 12, Issue 5, pp , September [KBV06] H. Krahn, B. Rumpe, S. Völkel. Roles in Software Development using Domain Specific Modeling Languages. In: Proceedings of the 6th OOPSLA Workshop on Domain-Specific Modeling (DSM' 06), Portland, Oregon USA. Technical Report TR-37, Jyväskylä University, Finland, [GKR+06a] H. Grönniger, H. Krahn, B. Rumpe, M. Schindler, S. Völkel. MontiCore Ein Framework zur Erstellung und Verarbeitung domänenspezifischer Sprachen. Informatik-Bericht Technische Universität Braunschweig, Carl-Friedrich-Gauss- Fakultät für Mathematik und Informatik, [GKR+06b] H. Grönniger, H. Krahn, B. Rumpe, M. Schindler. Integration von Modellen in einen codebasierten Softwareentwicklungsprozess. In: Proceedings der Modellierung März 2006, Innsbruck. GI-Edition - Lecture Notes in Informatics, LNI P-82, ISBN ,

4 11. [Rum04c] B. Rumpe. Agile Modeling with the UML. Ed.: M. Wirsing, A. Knapp, S. Balsamo. In: Radical Innovations of Software and Systems Engineering in the Future. 9th International Workshop, RISSEF Venice, Italy, October LNCS Springer Verlag [Rum03] B. Rumpe. Model-Based Testing of Object-Oriented Systems. In: Formal Methods for Components and Objects. F. de Boer, M.Bonsangue, S. Graf, W.-P. de Roever (eds.) International Symposium, FMCO Leiden, November 2002, Revised Lectures. LNCS 2852, Springer Publisher, [Rum02] Bernhard Rumpe. Executable Modeling with UML. A Vision or a Nightmare? In: Issues & Trends of Information Technology Management in Contemporary Associations, Seattle. Idea Group Publishing, Hershey, London, pp

5 Grammar for textual class diagrams CDDefinition = "classdiagram" Name "{" (CDClass CDInterface CDEnum CDAssociation)* "" CDClass = "abstract"? "class" Name ("extends" ReferenceType ("," ReferenceType)*)? ("implements" ReferenceType ("," ReferenceType)*)? (CDClassBody ";") CDClassBody = "{" CDAttribute* "" CDAttribute = "/"? Type Name ("=" Value)? ";" CDInterface = "interface" Name ("extends" ReferenceType ("," ReferenceType)*)? ";" CDEnum = "enum" Name (CDEnumBody ";") CDEnumBody = "{" (CDEnumConstant ("," CDEnumConstant)* ";")? "" CDEnumConstant = Name CDAssociation = "<<ordered>>"? "association" "/"? Name? "<<ordered>>"? Cardinality? QualifiedName CDQualifier? RoleName? ( "->" "<-" "<->" "--" ) RoleName? CDQualifier? QualifiedName Cardinality? "<<ordered>>"? ";" Cardinality = "[" ("*" Int Int ".." Int Int ".." "*") "]"; CDQualifier = "[" Name "]" RoleName = "(" Name ")" 5

6 In natural language: The DEx CD Lite language allows you to model: Classes, Abstract classes, Interfaces, Enumerations Inheritance with non-abstract superclasses with abstract superclasses Interface implementation Extension of interfaces Examples: class SomeClass; abstract class SomeAbstractClass; enum SomeEnum; class SomeClass; abstract class SomeAbstractClass; class SomeSubClassA extends SomeClass; class SomeSubClassB extends SomeAbstractClass; class SomeClass implements SomeInterface; interface SomeInterfaceA extends SomeInterface; class SomeClassA; Attributes with type: primitive data type String Class in the CD model Interface in the CD model Date Wrapper List<Wrapper of primitive data type> List<String> Associations From classes, abstract classes, interfaces (NOT: enums, external java classes) To classes, abstract classes, interfaces, enums (NOT: external java classes) With multiplicities: [0,1], [1], [*] With navigation directions: ->, <-, --, <--> With association and role names Qualified associations: o With key: attribute of the opposite class o With stereotype <<ordered>> Modifiers abstract (for classes) derived for attributes derived for associations class SomeClassC { int i; boolean b; String s; SomeClassA sca; SomeInterface si; Date d; Integer i2; Boolean b2; List<Integer>; List<String>; class SomeClass; abstract class SomeAbstractClass; association someassociationa [*] SomeClass (rolea) <-> (roleb) SomeAbstractClass [1] association someassociationb SomeAbstractClass -- SomeInterface abstract class SomeAbstractClass; /int somenumber association /someassociation A -- B 6

7 Context conditions for textual class diagrams ErrorCodes [Sch12] Please ensure that Wrong example Correct example NAMING CONVENTIONS 0xA0143 All-1-14 The name of your diagram is unique in the package (this condition includes diagrams of different types). 0xU0454, 0xU0440, 0xU0441, 0xU0484, 0xU0485, 0xU0486. CD-1-50 Attribute names / association and role names start with a lowercase character. 0xU0436 CD-1-46 A class which references another one by an association or a role name does NOT contain an attribute with this name. (This context condition 1. includes attributes of possible super classes; 2. applies NOT to derived associations; and 3. does NOT depend on possible navigation directions.) class A{ class B { int a1; association a1 A<->B; class C { int c; association A<->C; class A{ class B { int att; association a1 A<->B; class C { int catt; association A<->C; 0xD00XX The name(s) of your class diagram, classes, interfaces or enums do not conflict generated classes, i.e. are not used by the generator, too. Names with the suffix DataManager, Factory, Impl, Manager Names with suffix SearchHandlerWorker Name CreateDummyValues class ADataManager; classdiagram U { class USearchHandlerWorker; class A_DataManager; classdiagram U { class U_SearchHandlerWorker; class CreateDummyValues; class MyCreateDummyValues; CLASSES, INTERFACES AND ENUMS 7

8 ErrorCodes [Sch12] Please ensure that Wrong example Correct example 0xU0533, 0xU0534 CD-1-07, CD-1-10, CD-1-14 Only interfaces are implemented. class B implements A; class B extends A; 0xU0442 CD-1-49 Every class referenced by a qualifier contains an attribute with the qualifier s name resp. type. 0xD0055 / Interfaces in your CD do NOT contain any attributes (because they are not supported by the dex-generator yet). association a1 A[att1] -> B; class B { int att1; association a1 A[att1] -> B; ATTRIBUTES 0xU0447 CD-3-01 Attribute values and their types are compatible. int att = false; boolean att = false; 0xU0983, 0xU0450, 0xU0449? 0xU0451, 0xU0452 CD-3-04 There is an initialization for derived attributes. derived int att; CD-3-03 Final attributes are initialized in the declaration. final int att; derived int att = 0; final int att = 0; 0xU0453 CD-1-22 An interface s non-final attributes are NOT initialized. interface I { int att = 0; interface I { final int att = 0; INHERITANCE 0xD0013 / Your CD model do NOT contain multi-inheritance (which is not supported by the dex-generator yet). class C extends A,B; interface B; class C extends A implements B; 0xU0531 CD-1-06, Your CD model do NOT contain inheritance cycles. class A extends B; class B extends A; class A extends B; 8

9 ErrorCodes [Sch12] Please ensure that Wrong example Correct example CD xU0496, 0xU0497, 0xU0499 CD-1-04 Classes only extend enums and interfaces. interface I; class B extends I; enum E; class C extends E; class final A; class D extends A; interface I; class B implements I; enum E; class C; classa; class D extends A; 0xU0455 CD-1-20 If a superclass and its subclass each contain an attribute with the same name, thetype of the attribute in the subclass will be compatible with casting otherwise the subclass s attribute will be ignored. DUPLICATES char att; class B extends A { int att; char att; class B extends A { char att; 0xU0504 CD-1-23 You avoid duplicates wrt constants in an enum. enum E {Foo, Bar, Foo enum E {Foo1, Bar, Foo2 0xU0244 All-1-03 You avoid duplicate wrt stereotypes. <<Val, Val>> <<Val1, Val2>> MULTIPLICITIES 0xU0240 All-1-04 Any multiplicity s left bound is smaller than its right one. association A -> B [3..2]; association A -> B [2..3]; 9

Roles in Software Development using Domain Specific Modelling Languages

Roles in Software Development using Domain Specific Modelling Languages Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,

More information

Assessing usability of model driven development in industrial projects

Assessing usability of model driven development in industrial projects Assessing usability of model driven development in industrial projects Florian Fieber 1,3, Nikolaus Regnat 2, and Bernhard Rumpe 1 1 RWTH Aachen University, Department of Computer Science 3, Ahornstraße

More information

Efficient Editor Generation for Compositional DSLs in Eclipse

Efficient Editor Generation for Compositional DSLs in Eclipse Efficient Editor Generation for Compositional DSLs in Eclipse Holger Krahn, Bernhard Rumpe, and Steven Völkel Institute for Software Systems Engineering Niedersächsische Technische Hochschule, Standort

More information

Development of Tool Extensions with MOFLON

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

More information

Agile Test-based Modeling

Agile Test-based Modeling Agile Test-based Modeling Bernhard Rumpe Software Systems Engineering TU Braunschweig, Germany www.sse.cs.tu-bs.de Model driven architecture (MDA) concentrates on the use of models during software development.

More information

A Comparison of Mechanisms for Integrating Handwritten and Generated Code for Object-Oriented Programming Languages

A Comparison of Mechanisms for Integrating Handwritten and Generated Code for Object-Oriented Programming Languages A Comparison of Mechanisms for Integrating Handwritten and Generated Code for Object-Oriented Programming Languages Timo Greifenberg 1, Katrin Hölldobler 1, Carsten Kolassa 1, Markus Look 1, Pedram Mir

More information

Engineering Delta Modeling Languages

Engineering Delta Modeling Languages Engineering Delta Modeling Languages Arne Haber Markus Look Bernhard Rumpe Katrin Hölldobler Klaus Müller Ina Schaefer and Automotive Informatics TU Braunschweig, http://www.tu-bs.de/isf Carsten Kolassa

More information

User-Driven Adaptation of Model Differencing Results

User-Driven Adaptation of Model Differencing Results User-Driven Adaptation of Model Differencing Results Klaus Müller, Bernhard Rumpe Software Engineering RWTH Aachen University Aachen, Germany http://www.se-rwth.de/ Abstract In model-based software development,

More information

A Manifesto for Semantic Model Differencing

A Manifesto for Semantic Model Differencing A Manifesto for Semantic Model Differencing ME-10, October 2010 Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe Lehrstuhl Informatik 3 () http://www.se-rwth.de/ Seite 2 One slide abstract Existing approaches

More information

Software Construction

Software Construction Software Construction Staff Faculty: Univ.-Prof. Dr. rer. nat. Horst Lichter lichter@informatik.rwth-aachen.de Secretary: Bärbel Kronewetter Phone: +49 241 80 21 330 Fax: +49 241 80 22 352 Research Assistants:

More information

A Model-based Software Development Kit for the SensorCloud Platform

A Model-based Software Development Kit for the SensorCloud Platform A Model-based Software Development Kit for the SensorCloud Platform Lars Hermerschmidt, Antonio Navarro Perez, and Bernhard Rumpe {hermerschmidt, perez, rumpe}@se-rwth.de Department of Software Engineering,

More information

Defining 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 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 information

Extensible Validation Framework for DSLs using MontiCore on the Example of Coding Guidelines

Extensible Validation Framework for DSLs using MontiCore on the Example of Coding Guidelines Extensible Validation Framework for DSLs using MontiCore on the Example of Coding Guidelines Christian Berger, Bernhard Rumpe, and Steven Völkel Rheinisch Westfälische Technische Hochschule (RWTH) Aachen

More information

A Case Study on Model-Based Development of Robotic Systems using MontiArc with Embedded Automata

A Case Study on Model-Based Development of Robotic Systems using MontiArc with Embedded Automata A Case Study on Model-Based Development of Robotic Systems using MontiArc with Embedded Automata Jan Oliver Ringert and Bernhard Rumpe and Andreas Wortmann Software Engineering RWTH Aachen University Ahornstrasse

More information

A Common Metamodel for Code Generation

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 piefel@informatik.hu-berlin.de ABSTRACT Models can

More information

Software Construction

Software Construction Software Construction Staff Faculty: Univ.-Prof. Dr. rer. nat. Horst Lichter lichter@informatik.rwth-aachen.de Secretary: Bärbel Kronewetter Phone: +49 241 80 21 330 Fax: +49 241 80 22 352 Research Assistants:

More information

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Modeling Cloud Architectures as Interactive Systems

Modeling Cloud Architectures as Interactive Systems Modeling Cloud Architectures as Interactive Systems Antonio Navarro Perez and Bernhard Rumpe Department of Software Engineering, RWTH Aachen University, Aachen, Germany Abstract. The development and maintenance

More information

17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS

17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS 17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS 1 Prof. Dr. rer. nat. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät Informatik Technische Universität Dresden

More information

Formal Concept Analysis used for object-oriented software modelling Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg

Formal Concept Analysis used for object-oriented software modelling Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg FCA-SE 10 Formal Concept Analysis used for object-oriented software modelling Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg FCA-SE 20 Contents 1 The role of concepts in software development

More information

Proceedings of the International Workshop on Software Quality and Maintainability (SQM 2014)

Proceedings of the International Workshop on Software Quality and Maintainability (SQM 2014) Electronic Communications of the EASST Volume 65 (2014) Proceedings of the International Workshop on Software Quality and Maintainability (SQM 2014) A Model-Based Approach to Impact Analysis Using Model

More information

Über die Semantik von Modellierungssprachen

Über die Semantik von Modellierungssprachen Über die Semantik von Modellierungssprachen und des UML-Standards Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 What is a model? And why do we need modeling

More information

Transforming Platform-Independent to Platform-Specific Component and Connector Software Architecture Models

Transforming Platform-Independent to Platform-Specific Component and Connector Software Architecture Models Transforming Platform-Independent to Platform-Specific Component and Connector Software Architecture Models Jan Oliver Ringert 2, Bernhard Rumpe 1 and Andreas Wortmann 1 1 Software Engineering, RWTH Aachen

More information

Using Ontologies in the Domain Analysis of Domain-Specific Languages

Using Ontologies in the Domain Analysis of Domain-Specific Languages Using Ontologies in the Domain Analysis of Domain-Specific Languages Robert Tairas 1, Marjan Mernik 2, Jeff Gray 1 1 University of Alabama at Birmingham, Birmingham, Alabama, USA {tairasr,gray}@cis.uab.edu

More information

Advanced Topics in model-based Software Development

Advanced Topics in model-based Software Development Advanced Topics in model-based Software Development Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse-tubs.de/ Seite 1 Trends in software development Size and complexity of systems

More information

Representing XML Schema in UML A Comparison of Approaches

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

More information

Model-Based Requirements Engineering with AutoRAID

Model-Based Requirements Engineering with AutoRAID Model-Based Requirements Engineering with AutoRAID Bernhard Schätz, Andreas Fleischmann, Eva Geisberger, Markus Pister Fakultät für Informatik, Technische Universität München Boltzmannstr. 3, 85748 Garching,

More information

1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2

1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2 Business Process Modeling with EPC and UML Transformation or Integration? Dr. Markus Nüttgens, Dipl.-Inform. Thomas Feld, Dipl.-Kfm. Volker Zimmermann Institut für Wirtschaftsinformatik (IWi), Universität

More information

15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature

15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature 15. Evolutionary Object-Oriented oftware Development (EO) An agile process based on product-breakdown structure (PB) Prof. Dr. rer. nat. Uwe Aßmann Lehrstuhl oftwaretechnologie Fakultät Informatik Technische

More information

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development (Position paper) Lothar Hotz and Andreas Günter HITeC c/o Fachbereich Informatik Universität Hamburg Hamburg,

More information

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Position Paper Ulrich A. Nickel, Robert Wagner University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, wag25]@uni-paderborn.de

More information

Analysis and Synthesis of Interactive Component and Connector Systems

Analysis and Synthesis of Interactive Component and Connector Systems Analysis and Synthesis of Interactive Component and Connector Systems Von der Fakultät für Mathematik, Informatik und Naturwissenschaften der RWTH Aachen University zur Erlangung des akademischen Grades

More information

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Best of Both Worlds - A Mapping from EXPRESS-G to UML

Best of Both Worlds - A Mapping from EXPRESS-G to UML Best of Both Worlds - A Mapping from EXPRESS-G to UML Florian Arnold, Gerd Podehl Research Group for Computer Application in Engineering Design Department of Mechanical and Chemical Engineering University

More information

Syntax Check of Embedded SQL in C++ with Proto

Syntax Check of Embedded SQL in C++ with Proto Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb

More information

ProcDSL + ProcEd - a Web-based Editing Solution for Domain Specific Process-Engineering

ProcDSL + ProcEd - a Web-based Editing Solution for Domain Specific Process-Engineering ProcDSL + ProcEd - a Web-based Editing Solution for Domain Specific Process-Engineering Christian Berger Tim Gülke RWTH Aachen University Software Engineering Group Ahornstraße 55 52074 Aachen, Germany

More information

An open source software approach to combine simulation and optimization of business processes

An open source software approach to combine simulation and optimization of business processes An open source software approach to combine simulation and optimization of business processes Mike Steglich and Christian Müller Technical University of Applied Sciences Wildau Bahnhofstraße, D-745 Wildau,

More information

Agile Modeling with the UML

Agile Modeling with the UML Agile Modeling with the UML Bernhard Rumpe Software & Systems Engineering, Technische Universität München 85748 Munich/Garching, Germany, This paper discusses a model-based approach to software development.

More information

3 Software Architecture

3 Software Architecture Software Architecture and Software Configuration Management Bernhard Westfechtel, Aachen Reidar Conradi, Trondheim Abstract This paper examines the relations between software architecture and software

More information

SSELab: A Plug-In-Based Framework for Web-Based Project Portals

SSELab: A Plug-In-Based Framework for Web-Based Project Portals SSELab: A Plug-In-Based Framework for Web-Based Project Portals Christoph Herrmann, Thomas Kurpick, Bernhard Rumpe Software Engineering RWTH Aachen University Aachen, Germany http://www.se-rwth.de/ Abstract

More information

Generation and Handcoding

Generation and Handcoding Farbe! Generative Software Engineering 3. Integrating Handwritten Code Prof. Dr. Bernhard Rumpe University http://www.se-rwth.de/ Page 2 Generation and Handcoding Not everything shall and can be generated

More information

Implementing COOL in JAMI

Implementing COOL in JAMI Implementing COOL in JAMI Steven te Brinke s.tebrinke@student.utwente.nl ABSTRACT JAMI aims to be a generic aspect interpreter framework which can be used to prototype a wide range of AOP languages. However,

More information

Formal Engineering for Industrial Software Development

Formal Engineering for Industrial Software Development Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3

More information

Schema Classes. Polyhedra Ltd

Schema Classes. Polyhedra Ltd Schema Classes Polyhedra Ltd Copyright notice This document is copyright 1994-2006 by Polyhedra Ltd. All Rights Reserved. This document contains information proprietary to Polyhedra Ltd. It is supplied

More information

6 6 2 3 5 3 3 6 3 4 5 6 2 2 5 4 3 1 6 3 3 5 1 2 3 4 5 6 Steering Committee Thomas Form Peter Hecker Marcus Magnor Bernhard Rumpe Walter Schumacher Lars Wolf Fred Rauskolb (Formal Team Leader) QA/Simulation

More information

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java

More information

Automated Testing of Graphical Models in Heterogeneous Test Environments

Automated Testing of Graphical Models in Heterogeneous Test Environments Automated Testing of Graphical Models in Heterogeneous Test Environments A. Beresnev, B. Rumpe, F. Schroven TU Braunschweig, Software Systems Engineering Institute RWTH Aachen, Chair for Software Engineering

More information

The WebShop e-commerce framework

The WebShop e-commerce framework The WebShop e-commerce framework Marcus Fontoura 1, Wolfgang Pree 2, and Bernhard Rumpe 3 1 Cyberspace and Web Technology Department, IBM Almaden Research Center 650 Harry Rd., San Jose, CA, 91520, U.S.A

More information

Towards Querying of Traceability Information in the Context of Software Evolution

Towards Querying of Traceability Information in the Context of Software Evolution Towards Querying of Traceability Information in the Context of Software Evolution Hannes Schwarz Jürgen Ebert Volker Riediger Institute for Software Technology University of Koblenz-Landau Koblenz, Germany

More information

Metadata Reference Model for IPS 2 Lifecycle Management

Metadata Reference Model for IPS 2 Lifecycle Management Metadata Reference Model for IPS 2 Lifecycle Management M. Abramovici, M. Neubach, M. Schulze, C. Spura Ruhr-University Bochum, Institute for Product and Service Engineering Chair of IT in Mechanical Engineering

More information

java Features Version April 19, 2013 by Thorsten Kracht

java Features Version April 19, 2013 by Thorsten Kracht java Features Version April 19, 2013 by Thorsten Kracht Contents 1 Introduction 2 1.1 Hello World................................................ 2 2 Variables, Types 3 3 Input/Output 4 3.1 Standard I/O................................................

More information

How To Write The Ceres Software Development Guidelines

How To Write The Ceres Software Development Guidelines MEDIZINISCHE FAKULTÄT RHEINISCH-WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN INSTITUT FÜR MEDIZINISCHE INFORMATIK GESCHÄFTSFÜHRENDER DIREKTOR: UNIVERSITÄTSPROFESSOR DR. DR. KLAUS SPITZER The CERES Project

More information

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium Reiner Jung Christian-Albrechts-Universität zu Kiel Institut für Informatik 26.02.2014 Domain-specific Languages Motivation

More information

MDA Transformations Applied to Web Application Development 1

MDA Transformations Applied to Web Application Development 1 MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

A PRODUCT METRICS TOOL INTEGRATED INTO

A PRODUCT METRICS TOOL INTEGRATED INTO A PRODUCT METRICS TOOL INTEGRATED INTO A SOFTWARE DEVELOPMENT ENVIRONMENT Claus Lewerentz, Frank Simon Software and Systems Development Group Computer Science Department, Technical University of Cottbus

More information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume 34 (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Position Paper: m2n A Tool for Translating

More information

Concepts and terminology in the Simula Programming Language

Concepts and terminology in the Simula Programming Language Concepts and terminology in the Simula Programming Language An introduction for new readers of Simula literature Stein Krogdahl Department of Informatics University of Oslo, Norway April 2010 Introduction

More information

Java Types and Enums. Nathaniel Osgood MIT 15.879. April 25, 2012

Java Types and Enums. Nathaniel Osgood MIT 15.879. April 25, 2012 Java Types and Enums Nathaniel Osgood MIT 15.879 April 25, 2012 Types in Java Types tell you the class of values from which a variable is drawn In Java we specify types for Parameters Variables Return

More information

15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature

15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature 15. Evolutionary Object-Oriented oftware Development (EO) An agile process based on product-breakdown structure (PB) Prof. Dr. rer. nat. Uwe Aßmann Lehrstuhl oftwaretechnologie Fakultät Informatik Technische

More information

Integrating Content Assist into Textual Modelling Editors

Integrating Content Assist into Textual Modelling Editors Integrating Content Assist into Textual Modelling Editors Markus Scheidgen scheidge@informatik.hu-berlin.de Abstract: Intelligent, context sensitive content assist (also known as code completion) plays

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

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 hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

A CONCEPTUAL MODEL FOR REQUIREMENTS ENGINEERING AND MANAGEMENT FOR CHANGE-INTENSIVE SOFTWARE

A CONCEPTUAL MODEL FOR REQUIREMENTS ENGINEERING AND MANAGEMENT FOR CHANGE-INTENSIVE SOFTWARE A CONCEPTUAL MODEL FOR REQUIREMENTS ENGINEERING AND MANAGEMENT FOR CHANGE-INTENSIVE SOFTWARE Jewgenij Botaschanjan, Andreas Fleischmann, Markus Pister Technische Universität München, Institut für Informatik

More information

Aachen. CD2Alloy: A Translation of Class Diagrams to Alloy. Department of Computer Science. Technical Report

Aachen. CD2Alloy: A Translation of Class Diagrams to Alloy. Department of Computer Science. Technical Report Aachen Department of Computer Science Technical Report CD2Alloy: A Translation of Class Diagrams to Alloy Shahar Maoz and Jan Oliver Ringert and Bernhard Rumpe ISSN 0935 3232 Aachener Informatik-Berichte

More information

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP) Principles of integrated software development environments Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives Be able to define the

More information

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

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

More information

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical

More information

Chapter 6: Programming Languages

Chapter 6: Programming Languages Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 6: Programming Languages 6.1 Historical Perspective

More information

Java Interview Questions and Answers

Java Interview Questions and Answers 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java

More information

MODEL-DRIVEN DEVELOPMENT OF SOFTWARE CONFIGURATION MANAGEMENT SYSTEMS A Case Study in Model-driven Engineering

MODEL-DRIVEN DEVELOPMENT OF SOFTWARE CONFIGURATION MANAGEMENT SYSTEMS A Case Study in Model-driven Engineering MODEL-DRIVEN DEVELOPMENT OF SOFTWARE CONFIGURATION MANAGEMENT SYSTEMS A Case Study in Model-driven Engineering Thomas Buchmann, Alexander Dotor and Bernhard Westfechtel Angewandte Informatik 1, Universität

More information

Java the UML Way: Integrating Object-Oriented Design and Programming

Java the UML Way: Integrating Object-Oriented Design and Programming Java the UML Way: Integrating Object-Oriented Design and Programming by Else Lervik and Vegard B. Havdal ISBN 0-470-84386-1 John Wiley & Sons, Ltd. Table of Contents Preface xi 1 Introduction 1 1.1 Preliminaries

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl UML Class Diagrams 11 November 2015 UML Class Diagrams The class diagram provides a static structure of all the classes that exist within the system. Classes are arranged in hierarchies sharing common

More information

XML Databases 6. SQL/XML

XML Databases 6. SQL/XML XML Databases 6. SQL/XML Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 6. SQL/XML 6.1Introduction 6.2 Publishing relational

More information

Third AP Edition. Object-Oriented Programming and Data Structures. Maria Litvin. Gary Litvin. Phillips Academy, Andover, Massachusetts

Third AP Edition. Object-Oriented Programming and Data Structures. Maria Litvin. Gary Litvin. Phillips Academy, Andover, Massachusetts Third AP Edition Object-Oriented Programming and Data Structures Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Software, Inc. Skylight Publishing Andover, Massachusetts Skylight

More information

UML FOR OBJECTIVE-C. Excel Software www.excelsoftware.com

UML FOR OBJECTIVE-C. Excel Software www.excelsoftware.com UML FOR OBJECTIVE-C Excel Software www.excelsoftware.com Objective-C is a popular programming language for Mac OS X computers. The Unified Modeling Language (UML) is the industry standard notation for

More information

Model-Driven Development - From Frontend to Code

Model-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 information

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship.

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship. CSCI 253 Object Oriented Design: Java Review OOP George Blankenship George Blankenship 1 Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation Abstract Data Type (ADT) Implementation

More information

Evaluation of Students' Modeling and Programming Skills

Evaluation of Students' Modeling and Programming Skills Evaluation of Students' Modeling and Programming Skills Birgit Demuth, Sebastian Götz, Harry Sneed, and Uwe Schmidt Technische Universität Dresden Faculty of Computer Science Abstract. In winter semester

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 13 Refactoring Part 3 1 Dealing with Generalization: Pull Up Constructor Body Pull Up Constructor Body You have constructors on subclasses with

More information

Cúram Modeling Reference Guide

Cúram Modeling Reference Guide IBM Cúram Social Program Management Cúram Modeling Reference Guide Version 6.0.4 Note Before using this information and the product it supports, read the information in Notices at the back of this guide.

More information

Quality Assurance of Textual Models within Eclipse using OCL and Model Transformations

Quality Assurance of Textual Models within Eclipse using OCL and Model Transformations Quality Assurance of Textual Models within Eclipse using OCL and Model Transformations Thorsten Arendt, Gabriele Taentzer, Alexander Weber Philipps-Universität Marburg, Germany {arendt,taentzer,weber87}@informatik.uni-marburg.de

More information

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013 Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper

More information

Taxi Service Coding Policy. Version 1.2

Taxi Service Coding Policy. Version 1.2 Taxi Service Coding Policy Version 1.2 Revision History Date Version Description Author 2012-10-31 1.0 Initial version Karlo Zanki 2012-11-18 1.1 Added a section relative to Java/Android Fabio Kruger 2013-01-02

More information

EMC A MODELING METHOD FOR DEVELOPING WEB- BASED APPLICATIONS

EMC A MODELING METHOD FOR DEVELOPING WEB- BASED APPLICATIONS EMC A MODELING METHOD FOR DEVELOPING WEB- BASED APPLICATIONS Peter Rittgen Institute of Business Informatics, University Koblenz-Landau, Rheinau 1, D-56075 Koblenz email: rittgen@uni-koblenz.de, phone:

More information

Software Development. Chapter 7. Outline. 7.1.1 The Waterfall Model RISKS. Java By Abstraction Chapter 7

Software Development. Chapter 7. Outline. 7.1.1 The Waterfall Model RISKS. Java By Abstraction Chapter 7 Outline Chapter 7 Software Development 7.1 The Development Process 7.1.1 The Waterfall Model 7.1.2 The Iterative Methodology 7.1.3 Elements of UML 7.2 Software Testing 7.2.1 The Essence of Testing 7.2.2

More information

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved.

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved. 1 ATM Case Study 2 OBJECTIVES.. 3 2 Requirements 2.9 (Optional) Software Engineering Case Study: Examining the Requirements Document 4 Object-oriented design (OOD) process using UML Chapters 3 to 8, 10

More information

Java Application Developer Certificate Program Competencies

Java Application Developer Certificate Program Competencies Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle

More information

LDIF - Linked Data Integration Framework

LDIF - Linked Data Integration Framework LDIF - Linked Data Integration Framework Andreas Schultz 1, Andrea Matteini 2, Robert Isele 1, Christian Bizer 1, and Christian Becker 2 1. Web-based Systems Group, Freie Universität Berlin, Germany a.schultz@fu-berlin.de,

More information

AP Computer Science Java Subset

AP Computer Science Java Subset APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall

More information

Tools for Forging the Functional Architecture

Tools for Forging the Functional Architecture Tools for Forging the Functional Architecture Andreas Korff 1, Jesko G. Lamm 2, Tim Weilkiens 3 1 Atego Systems GmbH, Major-Hirst-Str. 11, 38442 Wolfsburg, Germany, andreas.korff atego.com 2 Bernafon

More information

Umbrello UML Modeller Handbook

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.................................

More information

The WebShop E-Commerce Framework

The WebShop E-Commerce Framework The WebShop E-Commerce Framework Marcus Fontoura IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120, U.S.A. e-mail: fontouraalmaden.ibm.com Wolfgang Pree Professor of Computer Science Software

More information

Certifying Energy Efficiency of Android Applications

Certifying Energy Efficiency of Android Applications Proceedings of the 28th EnviroInfo 2014 Conference, Oldenburg, Germany September 10-12, 2014 Certifying Energy Efficiency of Android Applications Johannes Meier 1, Marie-Christin Ostendorp 1, Jan Jelschen

More information

COMP 356 Programming Language Structures Notes for Chapter 4 of Concepts of Programming Languages Scanning and Parsing

COMP 356 Programming Language Structures Notes for Chapter 4 of Concepts of Programming Languages Scanning and Parsing COMP 356 Programming Language Structures Notes for Chapter 4 of Concepts of Programming Languages Scanning and Parsing The scanner (or lexical analyzer) of a compiler processes the source program, recognizing

More information

SYSTEMS ANALYSIS DESIGN

SYSTEMS ANALYSIS DESIGN SYSTEMS ANALYSIS DESIGN Third Edition ALAN DENNIS Indiana University BARBARA HALEY WIXOM University of Virginia ROBERTA M. ROTH University of Northern Iowa WILEY John Wiley & Sons, Inc. http://www.wiley.com/college/dennis

More information