COURSE GUIDE: Model-Driven Software Development (MDE)

Similar documents
COURSE GUIDE:Model-Driven Software Development (MDE)

COURSE GUIDE: Ubiquitous Computing and Ambient Intelligence (UCAMI)

Curriculum Reform in Computing in Spain

Aplicando enfoque MDE a aplicaciones WEB-SOA

Desarrollo basado en modelos de sistemas Web de tele-educación TIN

Engaging End-Users in the Collaborative Development of Domain-Specific Modelling Languages

Tool Support for Model Checking of Web application designs *

An approach to extend NDT in the development of Web Applications into Services based organizations

Foundations of Model-Driven Software Engineering

Web Application Development Focused on BP Specifications*

Título del curso Créditos Pre-requisitos

PROJECT TITLE: LOW COST COMPUTER BASED SYSTEM FOR QUALITY EVALUATION AND PRESERVATION OF GRAINS STORED IN POLYMER BAGS FINAL REPORT

Cursos Generales Complementarios. Universidad del TURABO. Escuela: Ingeniería Grado: Bachillerato

COCOVILA Compiler-Compiler for Visual Languages

Quality Assurance of Software Models within Eclipse using Java and OCL

Using ATL to support Model-Driven Development of RubyTL Model Transformations

On the Semantics of Real-Time Domain Specific Modeling Languages

An Extensive Study on the Future of Modeling in Software Development

Titulación Grado en Administración y Dirección de Empresas, Mención Creación y Dirección de Empresas, Itinerario Emprendedores.

Language-Driven, Technology-Enhanced Instructional Systems Design

"34".!! "#$%&'()!*+!(#!*,!-%!.%/01%$2&%!

PREDICTING SUCCESS IN THE COMPUTER SCIENCE DEGREE USING ROC ANALYSIS

Online assessment and self-assessment with itest: experiences in higher education Mathematics

Prueba de Evaluación de Suficiencia Investigadora para el Diploma de Estudios Avanzados

OntheSemanticsofReal-Time DomainSpecificModelingLanguages. PhDThesis JoseE.Rivera October,2010

Spain: ICT R&D and participation to FP7

clooca : Web based tool for Domain Specific Modeling

How To Create A Tutorial System For Computer Science And Telecommunication Engineering Students

Teaching guide ECONOMETRICS

DEFINITION OF A SEMANTIC PLATAFORM FOR AUTOMATED CODE GENERATION BASED ON UML CLASS DIAGRAMS AND DSL SEMANTIC ANNOTATIONS

Towards a framework for improving requirement traceability

From Requirements to Web System Design. An Automated Approach using Graph Transformations

MeTAGeM: Entorno de Desarrollo de Transformaciones de Modelos Dirigido por Modelos. PhD Thesis. Wednesday, February 2 nd 2011

A new MDA approach based on BPM and SOA to improve software development process

Ingeniería de Servicios y Protocolos Services and Protocols Engineering LEARNING GUIDE

How To Learn From Temas

Grado en Lenguas Modernas y Traducción Universidad de Alcalá Curso Académico 2015/2016 Curso 3º - Cuatrimestre 2º

How To Write An Ontology For Control Engineering

MDE Adoption in Industry: Challenges and Success Criteria

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

How To Model A Business

An Eclipse plug-in for Public Administration software system modelling and simulation

Curriculum Vitae Lic. José Rafael Pino Rusconi Chio +52 (998)

Programa de Cursos Intensivos de Inglés (CIDI) Verano 2015

AN ENVIRONMENT BASED ON PRE-CONCEPTUAL SCHEMAS FOR AUTOMATICALLY GENERATING SOURCE CODE UNDER THE MVC PATTERN

CHAPTER 2 LITERATURE SURVEY

Building industrial sensors with MDSD

Tomás Balderas-Contreras

Transport Demands Models

Development of a Feature Modeling Tool using Microsoft DSL Tools.

A When and How to Use Multi-Level Modelling

Definition of a Technological Ecosystem for Scientific Knowledge Management in a PhD Programme

Range of studies: List of Courses Taught in Spanish CURSO

INSTITUTO POLITÉCNICO NACIONAL

Model-driven web engineering methods: a literature review. Métodos de ingeniería web dirigidos por modelos: una revisión de literatura

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Experiences of Teaching Model-Driven Engineering in a Software Design Course

A Model Driven Architecture Approach to Web Development

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

Sales Management Main Features

New educational approach based on the use of wiki platforms in university environments

Towards collaboration between sighted and visually impaired developers in the context of Model-Driven Engineering

Example-driven meta-model development

Grado en Administración y Dirección de Empresas, Mención Creación y Dirección de Empresas, Itinerario Emprendedores

Ingeniería de Software & Ciclos de Vida. Luis Carlos Díaz Miguel Torres Julián Rodriguez

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Model-Driven Development - From Frontend to Code

Methodologies development and software quality metrics in educational applications

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Model-Driven Cloud Data Storage

UNIVERSIDAD LOYOLA ANDALUCÍA

Scenario-based Requirements Engineering and User-Interface Design

Roles in Software Development using Domain Specific Modelling Languages

CONCEPTS OF INDUSTRIAL AUTOMATION. By: Juan Carlos Mena Adolfo Ortiz Rosas Juan Camilo Acosta

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

The RPG DSL: a case study of language engineering using MDD for Generating RPG Games for Mobile Phones

Use software to define silicon p. 15

Guía Docente Fiscalidad de la empresa/business Tax

Evaluation of an exercise for measuring impact in e-learning: Case study of learning a second language

SPECIFICATION OF VISUAL INSTRUCTIONAL DESIGN LANGUAGES DEDICATED TO LEARNING MANAGEMENT SYSTEMS

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

Requirements Reuse for Software Development

METHODOLOGIES, TECHNIQUES AND TOOLS FOR SOFTWARE DEVELOPMENT

Intelligent Systems to Assist in Cytological Diagnosis and to Train Cytotechnics TIN

SDE exit point program in Budapest Distributed Service Systems

Process Management and Control

Model Transformation by Graph Transformation: A Comparative Study


Guidelines for Designing Web Maps - An Academic Experience

State of the Art in the Research of Formal Verification

imtech Curriculum Presentation

FP (a.k.a. MOMENT)

Model-based Java software development technology

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

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

A MODEL-BASED MONITORING ARCHITECTURE FOR HETEROGENEOUS ENTERPRISE SERVICES AND INFORMATION SYSTEMS

Semester 1 Course Course Name מע תר הר Credits Preliminary or

Knowledge-based Expressive Technologies within Cloud Computing Environments

Coordinadores. María Teresa Tortosa Ybáñez José Daniel Álvarez Teruel Neus Pellín Buades. Del texto: los autores

Transcription:

COURSE GUIDE: Model-Driven Software Development (MDE) Academic year: 2013-2014 Program: Center: University: Universidad Autónoma de Madrid Last modified: 2013/05/14 Status: Approved 2013/05/29 1 / 6

1. ASIGNATURA / COURSE (ID) Desarrollo de Software Dirigido por Modelos Model-Driven Software Development (MDE) 1.1. Programa / program Máster Universitario en Investigación e Innovación en Tecnologías de la Información y las Comunicaciones (i 2 -TIC) Master in Research and Innovation in Information and Communications Technologies (i 2 -ICT) [Officially certified] 1.2. Course code 32432 1.3. Course areas Software Engineering, Software Development, Software Modelling and Design, Programming Languages 1.4. Tipo de asignatura / Course type Optativa Elective [itinerario: Software centrado en el usuario] [itinerary: Human-centered software development] 1.5. Semester Second semester 1.6. Credits 6 ETCS 1.7. Language of instruction The lecture notes are in English. The lectures are mostly in Spanish. Some of the lectures and seminars can be in English. 2 / 6

1.8. Recommendations / Related subjects Knowledge of the principles of object orientation, programming languages like Java, and basic knowledge of modelling languages like UML are a prerequisite. Related subjects are: Interacción Persona Ordenador [Human-Computer Interaction] Sistemas adaptativos y modelado de usuario [Adaptive systems and user modeling] 1.9. Lecturers Add @uam.es to all email addresses below. Lectures and labs: Dr. Juan de Lara (Coordinator) Departamento de Ingeniería Informática Office: B-430 Tel.: +34 914972277 e-mail: Juan.deLara Web: http://www.eps.uam.es/~jlara Dra. Esther Guerra Departamento de Ingeniería Informática Office: B-419 Tel.: +34 914977476 e-mail: esther.guerra Web: http://www.eps.uam.es/~eguerra Dr. Jesús Sánchez Cuadrado Departamento de Ingeniería Informática Office: B-318 Tel.: +34 914972251 e-mail: jesus.sanchez.cuadrado Web: http://sanchezcuadrado.es/ 1.10. Objetivos de la asignatura / Course objectives El desarrollo dirigido por modelos (DDM) permite la creación de aplicaciones y sistemas software a partir de modelos de alto nivel, mediante generación de código. En esta asignatura estudiaremos los fundamentos, técnicas, herramientas para la aplicación práctica del DDM. Estas 3 / 6

técnicas incluyen el desarrollo de editores visuales y textuales para lenguajes de modelado, la transformación de modelos, y la generación de código. Model-Driven Development (MDD) allows the construction of software systems from high-level models, by means of code generation techniques. In this subject, we will study the foundations, techniques and tools for the practical application of MDD. These techniques include those for the development of visual and textual editors for modeling languages, model transformations and code generation. At the end of each unit, the student should be able to: UNIT BY UNIT SPECIFIC OBJECTIVES UNIT 1.- Introduction to Model-Driven Software Development 1.1. To understand the usefulness of MDE, and its applicability scenarios. 1.2. To understand the main concepts and principles of MDE. 1.3. To know other software automation approaches, like Software Product Lines. UNIT 2.- Software Modeling and Meta-Modeling 2.1. To review the basics of Software Modeling: structure and behavior. 2.2. To review modeling notations, like the UML and OCL. To understand the concepts and techniques of meta-modeling, and to be able to 2.3. apply them in practice using available technologies. 2.4. To introduce advanced meta-modeling concepts, like multi-level meta-modeling. UNIT 3.- Domain-Specific Modeling Languages 3.1. To understand the role of Domain-Specific Modeling languages in MDE, and the different techniques for Software Language Engineering. 3.2. To know the different techniques for defining visual concrete syntaxes, and to be able to apply them in practice, using available technologies. 3.3. To know the different techniques for defining textual concrete syntaxes, and be able to apply them in practice, using available technologies. UNIT 4.- Code Generation and Reverse Engineering 4.1. To understand the code generation principles, and how model-to-text transformations are realized. 4.2. To know current frameworks and languages for code generation, and to apply them in practice. 4.3. To understand the importance of software reengineering, and the different techniques, technologies and standards involved. UNIT 5.- Model Transformations To understand the importance and role of model transformations in MDE, and to be 5.1. able to apply them in practice using current technologies. To understand and apply in-place and model-to-model transformation, to learn and 5.2. apply specific languages for transformations. 5.3. To learn the basics of a particular approach to transformation: graph transformation. UNIT 6.- Model Analysis and Simulation To understand the importance of model validation and verification in software 6.1. development 4 / 6

6.2. To obtain the basics of model simulation (discrete simulation) and analysis by transformation into semantic domains (e.g. Petri nets). To know the basics of verification techniques like model checking. 1.11. Course contents 1. Introduction to Model-Driven Software Development. a. Concepts. b. Technologies. c. Applications and Scenarios. 2. Software Modeling and Meta-Modeling a. UML. b. OCL. c. Meta-modeling. d. Multi-level meta-modeling. 3. Domain-Specific Modeling Languages a. Graphical Concrete Syntax b. Textual Concrete Syntax c. Defining DSMLs in practice: xtext, Graphiti, GMF. 4. Code Generation and Reverse Engineering a. Code generation principles: Model-to-text transformations. b. Code generation languages and tools. c. Reverse engineering and Model-based modernization. 5. Model Transformations a. In-place Transformations. b. Model-to-Model Transformations. c. Transformation Languages and Tools in practice. d. Graph Transformation. 6. Model Analysis and Simulation a. Discrete Event Simulation. b. Semantic domains: Petri nets. c. Model Checking. 1.12. Course bibliography Stahl, T., Völter, M. "Model-Driven Software Development". Wiley, 2006 Marco Brambilla, Jordi Cabot, Manuel Wimmer: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering, Morgan & Claypool Publishers 2012. Kelly, S., Tolvanen, J.-P. Domain-Specific Modeling. Enabling Full Code Generation. IEEE CS, 2008. 5 / 6

Markus Voelter. DSL Engineering - Designing, Implementing and Using Domain- Specific Languages. dslbook.org 2013. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G. 2006. "Fundamentals of Algebraic Graph Transformation". Springer. Fishman, G. S. Discrete Event Simulation. Modeling, Programming and Analysis. Springer Series in Operations Research. 2001. Peterson, J.L. Petri Net Theory and the Modeling of Systems. Prentice-Hall, INC., Englewood Cliffs, N.J. 1981. 1.13. Coursework and evaluation The course involves lectures with weekly assignments, lab sessions and a practical project. In the ordinary exam period, the evaluation will be made according to the following scheme: 20 % exercises 10 % class attendance 70% final project In case of a fail grade in the ordinary period, in the extraordinary period, the student has the opportunity to hand in all the exercises with corrections and hand in the final project. 6 / 6