Tailoring the MontiArcAutomaton Component & Connector ADL for Generative Development

Size: px
Start display at page:

Download "Tailoring the MontiArcAutomaton Component & Connector ADL for Generative Development"

Transcription

1 Tailoring the MontiArcAutomaton Component & Connector L for Generative Development Joint MORSE/VAO Workshop on Model-Driven Robot and View-based Software-Engineering July 21, 2015 Ringert, Rumpe, Wortmann

2 Page 2 Agenda 1. Motivation and Preliminaries 2. Tailoring MontiArcAutomaton 3. Summary

3 Page 3 State of the Art C&C Ls [MT00] combine MDE and CBSE reduces conceptual gap [FR07] component models separate domain concerns enables translation into programming language artifacts C&C Ls successfully applied automotive: AutoFOCUS [BHS99] aviation: AL [FG12] robotics: RobotML [DKS+12], SmartSoft [SSL11] general: SysML [FMS14], xl [DHT01] Robotics very diverse and involves multiple domains various languages and paradigms (cf. RoboCup) different target platforms

4 Page 4 Motivation No single set of modeling features is sufficient for every project, hence extensibility is a key property of modeling notations [MDT07] Industry requires Ls tailored towards company needs [MLM+13] LeJOS operating system interfaced with Java parallel drives ROS operating system interfaced with Python front-mounted ultrasonic sensors L tool chain Goal: extensible L that enables R1: extension with domain-specific structural elements R2: experts to use the most-appropriate behavior DSLs R3: seamless transformation to platform-specific architectures R4: translation into programming language artifacts How to achieve this with structured tailoring?

5 Page 5 MontiArcAutomaton Modeling framework using a C&C L [RRW14TR] featuring atomic and composed component types with stable interfaces I/O ω automaton behavior DSL [RRW13AT] data type modeling using UML/P CDs [Sch12] Integrated modeling of component structure and behavior Employs language workbench MontiCore [KRV10] ExplorerBot Button emergency 3 Bool pressed ExplorationControl control Controller control 4 cmd Navigation navigation Translator trans 5 Motor left(100) 6 MAA atomic component types with embedded s scheduled first UltraSonic sensor 1 msg Logger sensorlog 2 Motor right(100) 7 Abstract component types model architecture extension points

6 Page 6 MontiArcAutomaton: the toolchain models application modelers MontiArcAutomaton L I/O ω M2M M2T generated comp. impl. impl. comp. impl. A A P P I I A P I run-time system run-time system developers model libraries behavior DSL code generator generated manual comp. impl. impl. A A P P I I A P I A P I A A P P I I environment: hardware, frameworks, UIs code libraries system system comp. comp. impl. impl. model library providers language engineers generator developers application programmers code library providers Roles derived from generic MDE processes [KRV06] Black-box integration of behavior DSLs [LNR+13] Transformation from logical to platform-specific architectures [RRW14MC] Application-specific composition of code generators [RRRW14]

7 Page 7 Tailoring in 3 Stages Stages ordered by dependencies act Tailor Framework [features sufficient] [requires extension] use provided language family extend language family [single target platform] develop PS architecture develop PI architecture [monolithic generator exists] [RRW14TR, RRW13AT, Sch12] select monolithic generator compose code generators [multiple [no target appropriate stage 1 platforms] stage 2 generator] stage 3 Stage 1 Stage 2 Stage 3 generate target code R1: domain-specific scheduling strategies R2: companyspecific activity diagram profile R3: single base software architecture R4: different operating systems and programming languages

8 Language Engineer Application Modeler Andreas Wortmann Page 8 Stage 1b: Extend the Language Family act Extend Language Family identify L requirements [L sufficient] identify behavior language reqs. [L insufficient] [languages missing] [languages insuficient] [languages suffice] extend L accordingly create behavior languages extend behavior languages accordingly integrate language family relies on MontiCore s language extension relies on MontiCore s language embedding and MontiArcAutomaton s extension point

9 Page 9 Stage 1b Result: A New Language Family MontiArcAutomaton- Language Family MAA L «inherits» I/O ω Automata «inherits» UML/P CD «overrides» Scheduling-L Activity Diagram Language Process models with scheduling information (R1) and s (R2) Allows parsing and well-formedness checking Code generation requires generator composition

10 Model Library Provider Impl. Library Provider Application Modeler Andreas Wortmann Page 10 Stage 2b: PIM to PSMs Architecture PIM with abstract components from model libraries act Develop Platform-Independent Architecture Model [platform bindings missing] identify required PI components model platformindependent architecture identify required PS implementations create application models [matching model libraries exist] [matching code libraries exist] [matching model libraries do not exist] [matching code libraries do not exist] [all platforms bound] create model library create implementation library PSM requires binding of Button, UltraSonic, Logger, Motor 4 component types 1 application model per target-platform

11 Page 11 State 2b Result: Architectures and Libraries [RRW4MC] ExplorerBot Button emergency UltraSonic sensor NXTExplorerBot BrickButton emergency ExplorationControl control Controller control Logger sensorlog ExplorationControl control Controller control Navigation navigation Translator trans Motor left(100) Motor right(100) transformed to (R3) Navigation navigation Translator trans ExplorerModels imports imports Button UltraSonic NXTImplementations Logger Motor realizes replaces abstract types Application Configuration NXTUltraSonic Sensor(PRT.A) LejosLogger sensorlog NXTMotor left(100,prt.1) NXTMotor right(100,prt.2) BrickButton NXTUltra- Sonic NXTMotor (int, Port) Lejos- Logger also contains data type PRT

12 Generator Developer Application Modeler Andreas Wortmann Page 12 Stage 3b: Code Generator Composition Generators either monolithic or composable act Compose Code Generators b identify comp. generator requirements select component generator identify behavior gen. requirements select behavior generators update application model [existing component generator sufficient] [existing behavior generators sufficient] [component generators insufficient] [behavior generators insufficient] create component generator create behavior generators Create component generator for components with scheduling Template-based: reuse [Sch12,RRW13AT] Create behavior generator for s

13 Page 13 Stage 3b Result: Application Configuration Application configuration model contains bindings (Stage 2b) and code generators (Stage 3b) SchedCom p2java CD2Java 2Java 01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: 14: import NXTImplementations.*; ApplicationConfiguration application NXTExplorerApp for architecture.explorerbot { // Bindings defined in Stage 2b bind emergency to BrickButton; bind sensor to NXTUltraSonic(PRT.A); bind control.sensorlog to LejosLogger; bind navigation.left to NXTMotor(PRT.1); bind navigation.right to NXTMotor(PRT.2); // Generators selected in Stage 3b componentsjava.schedcomp2java; platform-specific cdjava.cd2java; arguments that would activitydiagramsjava.2java; tie architecture to } platform type PRT Validated prior to processing: valid bindings, proper generators MontiArcAutomaton transforms PIM to PSMs, composes generators, and generates code from PSM (R4)

14 Page 14 Generalizability Stage 1 relies on language inheritance and language embedding reproducible with modern language workbenches (cf. [ESV+13]) Stage 2 requires abstract components reproducible with C&C Ls: AL, SmartSoft, SysML, xl, additional PS model (application configuration) model transformation Stage 3 requires black-box composition of code generators employed mechanisms specific to C&C Ls Stages 1,2 easily reproducible with L frameworks; 3 more complex

15 Page 15 Conclusion Tailoring MAA enables extensibility and reuse causally ordered stages of alternatives well-defined options and roles Domain experts may use most-appropriate languages Separation of their concerns Multiple target platforms from single architecture Future work: validate extensions Take away messages: plan your L for extensibility (use capable language workbench) language inheritance and embedding work use it extensibility is a pervasive concern: framework support crucial

16 Page 16 Thank you MontiArcAutomaton Website: monticore.de/robotics

17 Page 17 Literature B-G [BHS99] Broy, M., Huber, F., & Schätz, B. (1999). AutoFOCUS -- Ein Werkzeugprototyp zur Entwicklung eingebetteter Systeme. Informatik-Forschung Und Entwicklung. [DHT01] Dashofy, E. M., der Hoek, A. Van, & Taylor, R. N. (2001). A Highly- Extensible, XML-Based Architecture Description Language. In WICSA 01: Proceedings of the Working IEEE/IFIP Conference on Software Architecture. [DKS+12] Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., & Ziane, M. (2012). RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications. In Simulation, Modeling, and Programming for Autonomous Robots. Springer Berlin Heidelberg. [ESV+13] Erdweg, S., van der Storm, T., Völter, M., et. al. (2013). The State of the Art in Language Workbenches. In Software Language Engineering. [FG12] Feiler, P. H., & Gulch, D. P. (2012). Model-Based Engineering with AL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley. [FMS14] Friedenthal, S., Moore, A., & Steiner, R. (2014). A practical guide to SysML: the systems modeling language. Morgan Kaufmann. [FR07] France, R., & Rumpe, B. (2007). Model-driven Development of Complex Software: A Research Roadmap. Future of (FOSE 07).

18 Page 18 Literature K-R [KRV06] Krahn, H., Rumpe, B., & Völkel, S. (2006). Roles in Software Development using Domain Specific Modeling Languages. In: Proceedings of the 6th OOPSLA Workshop on Domain-Specific Modeling (DSM' 06). [KRV10] Krahn, H., Rumpe, B., & Völkel, S. (2010). MontiCore: a framework for compositional development of domain specific languages. STTT. [LNR+13] Look, M., Navarro Perez, A., Ringert, J. O., Rumpe, B., & Wortmann, A. (2013). Black-box Integration of Heterogeneous Modeling Languages for Cyber- Physical Systems. In GEMOC workshop International Workshop on The Globalization of Modeling Languages. [MDT07] Medvidovic, N., Dashofy, E. M., & Taylor, R. N. (2007). Moving architectural description from under the technology lamppost. Information and Software Technology. [MLM+13] Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., & Tang, A. (2013). What Industry Needs from Architectural Languages: A Survey. IEEE Transactions on. [MT00] Medvidovic, N., & Taylor, R. N. (2000). A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on. [RRW13AT] Ringert, J. O., Rumpe, B., & Wortmann, A. (2013). From Software Architecture Structure and Behavior Modeling to Implementations of Cyber-Physical Systems. In 2013 Workshop Proceedings.

19 Page 19 Literature R-W [RRW13SDIR] Ringert, J. O., Rumpe, B., & Wortmann, A. (2013). MontiArcAutomaton : Modeling Architecture and Behavior of Robotic Systems. In Workshops and Tutorials Proceedings of the International Conference on Robotics and Automation (ICRA). [RRW14MC] Ringert, J. O., Rumpe, B., & Wortmann, A. (2014). Multi-Platform Generative Development of Component & Connector Systems using Model and Code Libraries. In 1st International Workshop on Model-Driven Engineering for Component-Based Systems (ModComp 2014) [RRRW14] Ringert, J. O., Roth, A., Rumpe, B., & Wortmann, A. (2014). Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems. In 1st International Workshop on Model-Driven Robot (MORSE 2014) [RRW14TR] Ringert, J. O., Rumpe, B., & Wortmann, A. (2014). Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton. [Sch12] Schindler, M. (2012). Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML/P. [SSL11] Schlegel, C., Steck, A., & Lotz, A. (2011). Model-Driven Software Development in Robotics : Communication Patterns as Key for a Robotics Component Model. In Introduction to Modern Robotics. iconcept Press. [WHR14] Whittle, J., Hutchinson, J., & Rouncefield, M. (2014). The State of Practice in Model-Driven Engineering. Software, IEEE. [Wil01] Wile, D. S. (2001). Supporting the DSL Spectrum. Computing and Information Technology.

Retrofitting Controlled Dynamic Reconfiguration into the Architecture Description Language MontiArcAutomaton

Retrofitting Controlled Dynamic Reconfiguration into the Architecture Description Language MontiArcAutomaton Retrofitting Controlled Dynamic Reconfiguration into the Architecture Description Language MontiArcAutomaton Robert Heim 1, Oliver Kautz 1, Jan Oliver Ringert 2, Bernhard Rumpe 1,3, Andreas Wortmann 1

More information

Systematic Language Extension Mechanisms for the MontiArc Architecture Description Language

Systematic Language Extension Mechanisms for the MontiArc Architecture Description Language Systematic Language Extension Mechanisms for the MontiArc Architecture Description Language Arvid Butting 1,ArneHaber 1,2, Lars Hermerschmidt 1,3, Oliver Kautz 1, Bernhard Rumpe 1, and Andreas Wortmann

More information

Towards Compositional Domain Specific Languages

Towards Compositional Domain Specific Languages Andreas Horst, Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ 1 Introduction The deployment of Domain Specific Languages (DSL) and in particular Domain Specific

More information

Architectural Programming with MontiArcAutomaton

Architectural Programming with MontiArcAutomaton ICSEA 27 : The Twelfth International Conference on Software Engineering Advances [BKRW17a] A. Butting, O. Kautz, B. Rumpe, A. Wortmann: Architectural Programming with MontiArcAutomaton. In: International

More information

Model-Driven Separation of Concerns for Service Robotics

Model-Driven Separation of Concerns for Service Robotics Model-Driven Separation of Concerns for Service Robotics Kai Adam, Arvid Butting, Robert Heim, Oliver Kautz, Bernhard Rumpe, Andreas Wortmann Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

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

Using Software Categories for the Development of Generative Software

Using Software Categories for the Development of Generative Software Using Software Categories for the Development of Generative Software Pedram Mir Seyed Nazari 1, Bernhard Rumpe 1 1 Software Engineering, RWTH Aachen University, Germany {nazari, rumpe}@se-rwth.de Keywords:

More information

Management of Guided and Unguided Code Generator Customizations by Using a Symbol Table

Management of Guided and Unguided Code Generator Customizations by Using a Symbol Table Management of Guided and Unguided Code Generator Customizations by Using a Symbol Table Pedram Mir Seyed Nazari Alexander Roth Bernhard Rumpe Software Engineering RWTH Aachen University, Germany {nazari,roth,rumpe}@se-rwth.de

More information

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information

More information

Achievements, Failures, and the Future of Model-Based Software Engineering

Achievements, Failures, and the Future of Model-Based Software Engineering Achievements, Failures, and the Future of Model-Based Software Engineering Oliver Kautz, Alexander Roth, and Bernhard Rumpe The borders of my language are the borders of my world. L. Wittgenstein 1 Introduction

More information

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

Model-Driven Engineering and Run-Time Model-Usage in Service Robotics

Model-Driven Engineering and Run-Time Model-Usage in Service Robotics Servicerobotik Autonome mobile Serviceroboter Model-Driven Engineering and Run-Time Model-Usage in Service Robotics Andreas Steck (M.Sc.), Alex Lotz (M.Sc.), Prof. Dr. Christian Schlegel Institut für Informatik

More information

Mapping Architectural Concepts to SysML Profile for Product Line Architecture Modeling

Mapping Architectural Concepts to SysML Profile for Product Line Architecture Modeling Mapping Architectural Concepts to SysML Profile for Product Line Architecture Modeling Shahliza Abd Halim, Mohd Zulkifli Mohd Zaki, Noraini Ibrahim, Dayang N. A. Jawawi and Safaai Deris Software Engineering

More information

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista Software Architecture in Action Flavio Oquendo, Jair C Leite, Thais Batista Motivation 2 n In this book you can learn the main software architecture concepts and practices. n We use an architecture description

More information

Towards Easy Robot Programming: Using DSLs, Code Generators and Software Product Lines

Towards Easy Robot Programming: Using DSLs, Code Generators and Software Product Lines Towards Easy Robot Programming: Using s, Code Generators and Software Product Lines Johannes Baumgartl 1, Thomas Buchmann 2, Dominik Henrich 1 and Bernhard Westfechtel 2 2 Chair of Applied Computer Science

More information

MDSD in Robotics. servicerobotics Autonomous Mobile Service Robots. Composability of Software Components, Robot Behaviors and Reuse of Action Plots

MDSD in Robotics. servicerobotics Autonomous Mobile Service Robots. Composability of Software Components, Robot Behaviors and Reuse of Action Plots servicerobotics Autonomous Mobile Service Robots Model-Driven Software Development in Robotics: Composability of Software Components, Robot Behaviors and Reuse of Action Plots May 9th, 0 / SDIR VI, Shanghai,

More information

A New Skill Based Robot Programming Language Using UML/P Statecharts

A New Skill Based Robot Programming Language Using UML/P Statecharts A New Skill Based Robot Programming Language Using UML/P Statecharts Ulrike Thomas, Gerd Hirzinger Institute of Robotics and Mechatronics, German Aerospace Center (DLR), Wessling Bernhard Rumpe, Christoph

More information

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University

More information

MontiCore A Framework for DSL-Development

MontiCore A Framework for DSL-Development MontiCore A Framework for DSL-Development Efficient Editor Generation for Compositional DSLs in Eclipse Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Technische Universität Braunschweig

More information

Executing Robot Task Models in Dynamic Environments

Executing Robot Task Models in Dynamic Environments Executing Robot Task Models in Dynamic Environments Kai Adam, Arvid Butting, Oliver Kautz, Bernhard Rumpe, Andreas Wortmann Software Engineering, RWTH Aachen University www.se-rwth.de Abstract Deploying

More information

Modeling of Motion Primitive Architectures using Domain-Specific Languages

Modeling of Motion Primitive Architectures using Domain-Specific Languages Modeling of Motion Primitive Architectures using Domain-Specific Languages by Dipl.-Ing. Arne Nordmann Dissertation Faculty of Technology Bielefeld University Bielefeld, August 2015 to the most wonderful

More information

Applying the Component Paradigm to AUTOSAR Basic Software

Applying the Component Paradigm to AUTOSAR Basic Software Applying the Component Paradigm to AUTOSAR Basic Software Dietmar Schreiner Vienna University of Technology Institute of Computer Languages, Compilers and Languages Group Argentinierstrasse 8/185-1, A-1040

More information

Model-Driven Software Systems Engineering in Robotics: Covering the Complete Life-Cycle of a Robot

Model-Driven Software Systems Engineering in Robotics: Covering the Complete Life-Cycle of a Robot Informatik 2013 Technik Workshop Roboterkontrollarchitekturen Model-Driven Software Systems Engineering in Robotics: Covering the Complete Life-Cycle of a Robot Christian Schlegel, Alex Lotz, Matthias

More information

From Formal Results to UML Model A MDA Tracing Approach

From Formal Results to UML Model A MDA Tracing Approach From Formal Results to UML Model A MDA Tracing Approach Vinícius Pereira 1, Rafael S. Durelli 2, Márcio E. Delamaro 1 1 Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São Paulo

More information

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development

More information

CD2Alloy: A Translation of Class Diagrams to Alloy. and Back from Alloy Instances to Object Diagrams

CD2Alloy: A Translation of Class Diagrams to Alloy. and Back from Alloy Instances to Object Diagrams Aachen Department of Computer Science Technical Report CD2Alloy: A Translation of Class Diagrams to Alloy and Back from Alloy Instances to Object Diagrams Oliver Kautz, Shahar Maoz, Jan Oliver Ringert,

More information

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium Using AADL in Model Driven Development Didier Delanote, Stefan Van Baelen, Wouter Joosen and Yolande Berbers Katholieke Universiteit Leuven Belgium Contents Introduction Overview of AADL Usability assessment

More information

An MDD Process for IEC based Industrial Automation Systems

An MDD Process for IEC based Industrial Automation Systems An MDD Process for IEC 61131-based Industrial Automation Systems Kleanthis Thramboulidis Member, IEEE Electrical & Computer Engineering University of Patras, Greece thrambo@ece.upatras.gr Geog Frey, Senior

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

The Process Checklist Generator: Establishing Paper-based Process Support

The Process Checklist Generator: Establishing Paper-based Process Support The Process Checklist Generator: Establishing Paper-based Process Support Marcel Bankau, Michaela Baumann, Michael Heinrich Baumann, Stefan Schönig, and Stefan Jablonski University of Bayreuth, Universitätsstraße

More information

Graph-based Software Knowledge: Storage and Semantic Querying of Domain Models for Run-Time Adaptation

Graph-based Software Knowledge: Storage and Semantic Querying of Domain Models for Run-Time Adaptation Proceedings of the 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots San Francisco, USA, Dec 13-16, 2016 Graph-based Software Knowledge: Storage and Semantic

More information

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.

More information

Delta Modeling for Software Architectures

Delta Modeling for Software Architectures Delta Modeling for Software Architectures Arne Haber 1, Holger Rendel 1, Bernhard Rumpe 1, Ina Schaefer 2 1 Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ 2 Software Systems

More information

53) Feature Models, Domain Models and Product Lines

53) Feature Models, Domain Models and Product Lines Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie 53) Feature Models, Domain Models and Product Lines 1. Feature Models 2. Product Linie Configuration

More information

Modeling Requirements, Architectures, Behaviour...

Modeling Requirements, Architectures, Behaviour... Modeling Requirements, Architectures, Behaviour... The System Modeling Language (SysML) and the SYSMOD modeling approach Budapest University of Technology and Economics Department of Measurement and Information

More information

Generation Rules in POMA Architecture

Generation Rules in POMA Architecture J. Software Engineering & Applications, 2010, 3, 1040-1046 doi:10.4236/jsea.2010.311122 Published Online November 2010 (http://www.scirp.org/journal/jsea) Mohamed Taleb 1, Ahmed Seffah 2, Alain Abran 1

More information

10.1 Big Objects, Business Objects, and UML Components

10.1 Big Objects, Business Objects, and UML Components II Black-Box Composition Systems 10. Finding Business s in a -Based Development Process Literature J. Cheesman, J. Daniels. UML s. Addison-Wesley. 1. The UML component model 2. Business component model

More information

Model-based control of a handling system with SysML

Model-based control of a handling system with SysML Available online at www.sciencedirect.com Procedia Computer Science 16 (2013 ) 197 205 Conference on Syst Eds.: C.J.J. Paredis, C. Bishop, D. Bodner, Georgia Institute of Technology, Atlanta, GA, March

More information

Composable Code Generation Applied to MDA

Composable Code Generation Applied to MDA Composable Code Generation Applied to MDA Kirk Schloegel, David Oglesby, Eric Engstrom MDA Implementers Workshop December 2-5, 2003 Work is supported by a grant from DARPA. Agenda Modeling, Meta-modeling,

More information

View-Based Modeling of Function Nets

View-Based Modeling of Function Nets View-Based Modeling of Function Nets Hans Grönniger 1, Jochen Hartmann 2, Holger Krahn 1, Stefan Kriebel 2, and Bernhard Rumpe 1 1 Institut für Software Systems Engineering, TU Braunschweig, Germany 2

More information

A Lightweight Language for Software Product Lines Architecture Description

A Lightweight Language for Software Product Lines Architecture Description A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN

More information

The Process Checklist Generator: Establishing Paper-based Process Support

The Process Checklist Generator: Establishing Paper-based Process Support The Process Checklist Generator: Establishing Paper-based Process Support Marcel Bankau, Michaela Baumann, Michael Heinrich Baumann?, Stefan Schönig, and Stefan Jablonski University of Bayreuth, Universitätsstraße

More information

SoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents

SoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents Architecture Description Languages (ADLs): Introduction, Koala, UML as an ADL T-76.150 Software Architecture Timo Asikainen Contents Brief motivation for ADLs General features of ADLs Koala UML as an ADL

More information

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework Thorsten Arendt a, Pawel Stepien a, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

DiverSE s Seminar about Software Language Engineering

DiverSE s Seminar about Software Language Engineering DiverSE s Seminar about Software Language Engineering May 28 th, 2015 Rennes, France http://people.irisa.fr/benoit.combemale/sleseminar2015 THE DIVERSE TEAM DiverSE s Seminar about SLE - May 28 th, 2015-2

More information

Access Control in Rich Domain Model Web Applications

Access Control in Rich Domain Model Web Applications Access Control in Rich Domain Model Web Applications Extended Abstract João de Albuquerque Penha Pereira joao.pereira@ist.utl.pt Instituto Superior Técnico November 25, 2010 Abstract Rich Domain Model

More information

Architecting IoT Applications with SysADL

Architecting IoT Applications with SysADL 2017 IEEE International Conference on Software Architecture Workshops Architecting IoT Applications with SysADL Jair Leite, Thais Batista Computer Science Department Federal University of Rio Grande do

More information

OMG Systems Modeling Language Tutorial May, 2012

OMG Systems Modeling Language Tutorial May, 2012 OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview System Engineering (SE) is a discipline to deal with complex system realised through

More information

Integrating Heterogeneous Building and Periphery Data Models at the District Level: The NIM Approach

Integrating Heterogeneous Building and Periphery Data Models at the District Level: The NIM Approach Integrating Heterogeneous Building and Periphery Data Models at the District Level: The NIM Approach Timo Greifenberg, Markus Look, Bernhard Rumpe Software Engineering, RWTH Aachen University, http://www.se-rwth.de/

More information

Model-Driven Software Development in Robotics: Communication Patterns as Key for a Robotics Component Model

Model-Driven Software Development in Robotics: Communication Patterns as Key for a Robotics Component Model Model-Driven Software Development in Robotics: Communication Patterns as Key for a Robotics Component Model Christian Schlegel, Andreas Steck, Alex Lotz Computer Science Department University of Applied

More information

MeDUSA Method for Designing UML2-based Embedded System Software Architectures

MeDUSA Method for Designing UML2-based Embedded System Software Architectures MeDUSA Method for Designing UML2-based Embedded System Software Architectures Alexander Nyßen 1, Horst Lichter 1, Jan Suchotzki 2, Lukas Kurmann 3 1 Introduction MeDUSA (Method for Designing UML2-based

More information

ARCHITECTING CLOUD SERVICES FOR THE DIGITAL ME IN A PRIVACY-AWARE ENVIRONMENT

ARCHITECTING CLOUD SERVICES FOR THE DIGITAL ME IN A PRIVACY-AWARE ENVIRONMENT ARCHITECTING CLOUD SERVICES FOR THE DIGITAL ME IN A PRIVACY-AWARE ENVIRONMENT CHAPTER 12 Robert Eikermann, Markus Look, Alexander Roth, Berhard Rumpe, Andreas Wortmann Software Engineering, RWTH Aachen

More information

Unifying Software Reuse

Unifying Software Reuse Unifying Software Reuse Jörg Kienzle Software Composition and Reuse Laboratory (SCORE) School of Computer Science McGill University Montreal, Canada Email: Joerg.Kienzle@mcgill.ca 1 How Did We Get Here?

More information

Scaling-Up Model-Based-Development for Large Heterogeneous Systems with Compositional Modeling

Scaling-Up Model-Based-Development for Large Heterogeneous Systems with Compositional Modeling Scaling-Up Model-Based-Development for Large Heterogeneous Systems with Compositional Modeling Christoph Herrmann 1, Holger Krahn 2, Bernhard Rumpe 1, Martin Schindler 1, and Steven Völkel 1 1 Software

More information

Model-Driven Software Systems Engineering in Robotics: Covering the Complete Life-Cycle of a Robot

Model-Driven Software Systems Engineering in Robotics: Covering the Complete Life-Cycle of a Robot Model-Driven Software Systems Engineering in Robotics: Covering the Complete Life-Cycle of a Robot Christian Schlegel 1, Alex Lotz 1, Matthias Lutz 1, Dennis Stampfer 1, Juan F. Inglés-Romero 2, Cristina

More information

A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach

A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach Carlos Eugênio Palma da Purificação / Paulo Caetano da Silva Salvador University (UNIFACS) Salvador, Brazil email:

More information

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES Wolfgang Friess AUDI AG wolfgang.friess@audi.de Julio Sincero University Erlangen-Nuernberg sincero@informatik.uni-erlangen.de Wolfgang

More information

Engineering Tagging Languages for DSLs

Engineering Tagging Languages for DSLs Engineering Tagging Languages for DSLs Timo reifenberg, Markus Look, Sebastian Roidl, Bernhard Rumpe Software Engineering RWTH Aachen University http://www.se-rwth.de/ Abstract To keep a DSL clean, readable

More information

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

A conceptual framework for building good DSLs. Markus Voelter independent/itemis DSL Design A conceptual framework for building good DSLs Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter based on material from a

More information

Runtime Models as Interfaces for Adapting Software Systems

Runtime Models as Interfaces for Adapting Software Systems Runtime Models as Interfaces for Adapting Software Systems Seminar on Software Engineering for Self-Adaptive Systems Schloss Dagstuhl, October 24-29, 2010 Thomas Vogel System Analysis and Modeling Group

More information

Towards Decision Centric Repository of Architectural Knowledge

Towards Decision Centric Repository of Architectural Knowledge Towards Decision Centric Repository of Architectural Knowledge Bartosz Michalik and Jerzy Nawrocki Poznan University of Technology, Institute of Computing Science, ul. Piotrowo 2, 60-965 Poznań, Poland

More information

Developing Dependable Software-Intensive Systems: AADL vs. EAST-ADL

Developing Dependable Software-Intensive Systems: AADL vs. EAST-ADL Developing Dependable Software-Intensive Systems: AADL vs. EAST-ADL Andreas Johnsen and Kristina Lundqvist School of Innovation, Design and Engineering Mälardalen University Västerås, Sweden {andreas.johnsen,kristina.lundqvist}@mdh.se

More information

Ontology-based Model Transformation

Ontology-based Model Transformation Ontology-based Model Transformation Stephan Roser Advisor: Bernhard Bauer Progamming of Distributed Systems Institute of Computer Science, University of Augsburg, Germany [roser,bauer]@informatik.uni-augsburg.de

More information

PATTERN-BASED REQUIREMENTS MODEL USING SYSML FOR A HELICOPTER S PILOT ASSISTANCE SYSTEM

PATTERN-BASED REQUIREMENTS MODEL USING SYSML FOR A HELICOPTER S PILOT ASSISTANCE SYSTEM DocumentID: 301305 PATTERN-BASED REQUIREMENTS MODEL USING SYSML FOR A HELICOPTER S PILOT ASSISTANCE SYSTEM M. Deshmukh, German Aerospace Center (DLR), Braunschweig, Germany F-M. Adolf, German Aerospace

More information

Using Lightweight Activity Diagrams for Modeling and Generation of Web Information Systems

Using Lightweight Activity Diagrams for Modeling and Generation of Web Information Systems Using Lightweight Activity Diagrams for Modeling and Generation of Web Information Systems Dirk Reiß 1 and Bernhard Rumpe 2 1 Institute for Building Services and Energy Design Technical University of Braunschweig,

More information

Towards a Search-based Interactive Configuration of Cyber Physical. System Product Lines 1

Towards a Search-based Interactive Configuration of Cyber Physical. System Product Lines 1 Towards a Search-based Interactive Configuration of Cyber Physical System Product Lines Kunming Nie, Tao Yue, Shaukat Ali Software Engineering Institute, Beihang University, Beijing, China niekunming@cse.buaa.edu.cn

More information

Designing Survivable Services from Independent Components with Basic Functionality

Designing Survivable Services from Independent Components with Basic Functionality Designing Survivable Services from Independent Components with Basic Functionality Andreas Dittrich, Jon Kowal and Miroslaw Malek Institut für Informatik Humboldt-Universität zu Berlin Unter den Linden

More information

VICCI. DeltaEcore. A Model-Based Delta Language Generation Framework. Christoph Seidl Ina Schaefer Uwe Aßmann

VICCI. DeltaEcore. A Model-Based Delta Language Generation Framework. Christoph Seidl Ina Schaefer Uwe Aßmann VICCI Visual and Interactive Cyber-Physical Systems Control and Integration DeltaEcore A Model-Based Delta Language Generation Framework Christoph Seidl Ina Schaefer Uwe Aßmann TurtleBot Driver: A Software

More information

Introduction to Model Driven Engineering using Eclipse. Frameworks

Introduction to Model Driven Engineering using Eclipse. Frameworks Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model

More information

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data FedX: A Federation Layer for Distributed Query Processing on Linked Open Data Andreas Schwarte 1, Peter Haase 1,KatjaHose 2, Ralf Schenkel 2, and Michael Schmidt 1 1 fluid Operations AG, Walldorf, Germany

More information

Systematically Deriving Domain-Specific Transformation Languages

Systematically Deriving Domain-Specific Transformation Languages Systematically Deriving Domain-Specific Transformation Languages Katrin Hölldobler Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ Bernhard Rumpe Software Engineering RWTH Aachen

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

A Domain Specific Transformation Language

A Domain Specific Transformation Language A Domain Specific Transformation Language Bernhard Rumpe and Ingo Weisemöller Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ Abstract. Domain specific languages (DSLs) allow

More information

Managing the functional variability of robotic perception systems

Managing the functional variability of robotic perception systems 2017 First IEEE International Conference on Robotic Computing Managing the functional variability of robotic perception systems Davide Brugali Department of Computer Engineering University of Bergamo 24044

More information

Expressing Feature-Based Variability in Structural Models

Expressing Feature-Based Variability in Structural Models Expressing Feature-Based Variability in Structural Models Iris Groher 1, Markus Voelter 2 1 Siemens AG, CT SE 2, Munich, Germany 2 Independent Consultant, Goeppingen, Germany iris.groher.ext@siemens.com,

More information

Separation of Distributed Real-Time Embedded Concerns with Theme/UML

Separation of Distributed Real-Time Embedded Concerns with Theme/UML Separation of Distributed Real-Time Embedded Concerns with Theme/UML Cormac Driver, Vinny Cahill and Siobhán Clarke Distributed Systems Group School of Computer Science and Statistics Trinity College Dublin

More information

Applying Experiences with Declarative Codifications of Software Architectures on COD

Applying Experiences with Declarative Codifications of Software Architectures on COD Applying Experiences with Declarative Codifications of Software Architectures on COD Position Paper Roel Wuyts Stéphane Ducasse Gabriela Arévalo roel.wuyts@iam.unibe.ch ducasse@iam.unibe.ch arevalo@iam.unibe.ch

More information

A (Very) Short Introduction to Model-Driven Development (MDD)

A (Very) Short Introduction to Model-Driven Development (MDD) A (Very) Short Introduction to Model-Driven Development (MDD) (MDD ~ Model-Driven Engineering (MDE)) Introduction to MDD by Jan Pettersen Nytun, UiA, page 1, 4-Aug-11 Content Some background info What

More information

31. Feature Models and MDA for Product Lines

31. Feature Models and MDA for Product Lines Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - Softwaretechnologie II 31. Feature Models and MDA for Product Lines Prof. Dr. U. Aßmann Technische Universität

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

CD2Alloy: Class Diagrams Analysis Using Alloy Revisited

CD2Alloy: Class Diagrams Analysis Using Alloy Revisited CD2Alloy: Class Diagrams Analysis Using Alloy Revisited Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/ Abstract. We present

More information

Semantically Configurable Consistency Analysis for Class and Object Diagrams

Semantically Configurable Consistency Analysis for Class and Object Diagrams Semantically Configurable Consistency Analysis for Class and Object Diagrams Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/

More information

Using SLE for creation of Data Warehouses

Using SLE for creation of Data Warehouses Using SLE for creation of Data Warehouses Yvette Teiken OFFIS, Institute for Information Technology, Germany teiken@offis.de Abstract. This paper describes how software language engineering is applied

More information

Current trends and frameworks for modeldriven approaches to software development

Current trends and frameworks for modeldriven approaches to software development 1 Current trends and frameworks for modeldriven approaches to software development Trial Lecture Odd Petter Nord Slyngstad Trondheim, 1 st April 2011 Anita Gupta 28/05/2009 2 Overview What is a model-driven

More information

Usually software system variants, developed by Clone-and-own approach, form

Usually software system variants, developed by Clone-and-own approach, form ABSTRACT Usually software system variants, developed by Clone-and-own approach, form a starting point for building Software Product Line. To migrate software systems which are deemed similar to a product

More information

The GEMOC Initiative On the Globalization of Modeling Languages

The GEMOC Initiative On the Globalization of Modeling Languages The GEMOC Initiative On the Globalization of Modeling Languages Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/benoit.combemale benoit.combemale@irisa.fr @bcombemale SOFTWARE COLUMN SECTION

More information

ArchFeature: A Modeling Environment Integrating Features into Product Line Architecture

ArchFeature: A Modeling Environment Integrating Features into Product Line Architecture ArchFeature: A Modeling Environment Integrating Features into Product Line Architecture Gharib Gharibi and Yongjie Zheng School of Computing and Engineering, University of Missouri-Kansas City, Kansas

More information

A Model-Based Development Method for Device Drivers

A Model-Based Development Method for Device Drivers A Model-Based Development Method for Device Drivers Michael Kersten Siemens AG Otto-Hahn-Ring 6 D-81739 München Ulrich Margull 1 mal 1 Software GmbH Maxstr. 31 D-90762 Fürth Nikolaus Regnat Siemens AG

More information

Fourth International Workshop on Model Based Architecting and Construction of Embedded Systems

Fourth International Workshop on Model Based Architecting and Construction of Embedded Systems ACES MB 2011 FourthInternationalWorkshopon ModelBasedArchitectingandConstruction ofembeddedsystems October18 th,2011,wellington,newzealand OrganizedinconjunctionwithMoDELS2011 14 th InternationalConferenceonModelDrivenEngineeringLanguagesandSystems

More information

Towards The Adoption of Modern Software Development Approach: Component Based Software Engineering

Towards The Adoption of Modern Software Development Approach: Component Based Software Engineering Indian Journal of Science and Technology, Vol 9(32), DOI: 10.17485/ijst/2016/v9i32/100187, August 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Towards The Adoption of Modern Software Development

More information

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS Sahar Guermazi*, Jérémie Tatibouet*, Arnaud Cuccuru*, Ed Seidewitz +, Saadia Dhouib*, Sébastien Gérard* * CEA LIST - LISE lab +

More information

OCL for the Specification of Model Transformation Contracts

OCL for the Specification of Model Transformation Contracts OCL for the Specification of Model Transformation Contracts Eric Cariou, Raphaël Marvie, Lionel Seinturier, and Laurence Duchien LIFL - Université des Sciences et Technologies de Lille UMR CNRS 8022 -

More information

Integrating decision management with UML modeling concepts and tools

Integrating decision management with UML modeling concepts and tools Downloaded from orbit.dtu.dk on: Dec 17, 2017 Integrating decision management with UML modeling concepts and tools Könemann, Patrick Published in: Joint Working IEEE/IFIP Conference on Software Architecture,

More information

Text-based Modeling. Hans Grönniger, Holger Krahn, Bernhard Rumpe, Martin Schindler and Steven Völkel

Text-based Modeling. Hans Grönniger, Holger Krahn, Bernhard Rumpe, Martin Schindler and Steven Völkel Text-based Modeling Hans Grönniger, Holger Krahn, Bernhard Rumpe, Martin Schindler and Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig, Germany

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

A Model Driven Approach based on Interaction Flow Modeling Language to Generate Rich Internet Applications

A Model Driven Approach based on Interaction Flow Modeling Language to Generate Rich Internet Applications International Journal of Electrical and Computer Engineering (IJECE) Vol. 6, No. 6, December 2016, pp. 3073~3079 ISSN: 2088-8708, DOI: 10.11591/ijece.v6i6.10541 3073 A Model Driven Approach based on Interaction

More information

Charmy: A Plugin-based Tool for Architectural Analysis

Charmy: A Plugin-based Tool for Architectural Analysis Charmy: A Plugin-based Tool for Architectural Analysis H. Muccini, P. Pelliccione, and M. Stoduto Dipartimento di Informatica, Universitá dell Aquila, Via Vetoio 1, 67100 L Aquila, Italy [muccini,pellicci]@di.univaq.it

More information

Integrated Definition of Abstract and Concrete Syntax for Textual Languages

Integrated Definition of Abstract and Concrete Syntax for Textual Languages Integrated Definition of Abstract and Concrete Syntax for Textual Languages Holger Krahn, Bernhard Rumpe, and Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig,

More information

Consumption and Composition of Web Services and non web services

Consumption and Composition of Web Services and non web services Consumption and Composition of Web Services and non web services Rohit Kishor Kapadne Computer Engineering Department, RMD Sinhgad School of Engineering, Warje Pune, Maharashtra, India Abstract Nowadays

More information