The following are the tutorials to be offered at Models 2015.
All Tutorials from Sunday to Tuesday are included in the price of the satellite events registration. These tutorials are 3 hours in duration, except for Modelica Foundations, which is a full day tutorial.
If plan to attend a tutorial, please ensure you have checked the correct box on your registration form. That way, the presenters can contact you, and we can ensure there are enough materials and seats available. Please avoid registering for sessions you are not going to attend.
This tutorial presents object-oriented mathematical modelling, a fast-growing area of modelling and simulation that provides a structured, computer-supported way of doing modular, mathematical and equation-based modelling of Cyber-Physical Systems (CPS). Modelica effectively unifies and generalizes object-oriented with mathematical modelling concepts in a single language. The first part of this tutorial gives insight into the rationale behind and examples of equation-based modelling. Object-oriented mathematical modelling languages are positioned at one level in a stack of languages ranging from domain-specific languages (such as SimMechanics), over generic physics-aware modelling languages (such as Bond Graphs) and equation-based modelling languages (such as Modelica and Simscape), to computationally causal languages (such as Simulink), to discretized code for numerical simulation complying to the Functional Mockup Interface (FMI) standard. Each of these levels are introduced with a particular focus on the equation-based modelling level. A basic introduction to simulation concepts and techniques is also given.
Hans Vangheluwe is a Professor at the University of Antwerp in Belgium, and an Adjunt Professor at McGill University in Montréal, Canada. He was one of the founding members of the Modelica Design Team in the mid '90s. He works on modelling language engineering foundations and tool implementations. Tools implemented pertaining to the Modelica Foundations tutorial include a prototype Modelica compiler and a domain-specific modelling, simulation, optimization environment for bio-activated sludge waste-water treatment plant design. He has published over 200 scientific papers in both software engineering and in simulation venues. For the last six years, he has co-organized the succesful Domain-Specific Modelling, Theory and Practice Summer School. He is currently the chairmain of the Multi-Paradigm Modelling for Cyber-Physical Systems (MPM4CPS) EU COST Action.
Peter Fritzson is a Professor and Research Director of the Programming Environment Laboratory (Pelab), at the Department of Computer and Information Science, Linköping University, Sweden. Peter Fritzson is director of the Open Source Modelica Consortium and vice chairman of the Modelica Association, organizations he helped to create. Professor Fritzson has published 17 books/proceedings and more than 260 scientific papers. He is the author of the reference book, "Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach"
This tutorial presents object-oriented mathematical modelling, a fast-growing area of modelling and simulation that provides a structured, computer-supported way of doing modular, mathematical and equation-based modelling of Cyber-Physical Systems (CPS). Modelica effectively unifies and generalizes object-oriented with mathematical modelling concepts in a single language.
The second part of this tutorial builds on the first part and goes "under the hood" of the Modelica language, In particular, the semantics of a Modelica model is explained in terms of flattening the inheritance and coupling structure, of causality assignment, and of algebraic loop detection and sorting. Various extensions to basic continuous-time modelling such as hybrid and dynamic structure modelling are further introduced.
See Part I for the bios of the presenters.
Presenter: Michel R.V. Chaudron, Chalmers & Gothenburg University
Modelling is applied in many different ways in software engineering: for facilitating communication, for analysing systems, for generating code and tests. Thus, the evaluation of modelling techniques, languages and tools is needed in order to assess their advantages and disadvantages such as their applicability in different contexts, their ease of use, and other issues such as skills needed and costs incurred. Many papers submitted to the MODELS conference lack empirical validations of their proposed methods/techniques. This tutorial offers an introduction to empirical methods in software engineering and thereby aims to equip researchers in the MODELS community with knowledge needed to perform pragmatic evaluations. This tutorial is offered by person(s) with broad experience in several types of empirical studies. The tutorial will offer participants the opportunity to discuss how to design empirical studies (focus is expected on experiments, surveys, and case studies) for their own research question.
Michel R.V. Chaudron is currently full professor and head of the Software Engineering Division at the joint department of Computer Science and Engineering of Chalmers and Gothenborg University in Sweden. Prior to that, he worked at Leiden University and TU Eindhoven in The Netherlands and as IT-consultant with CMG (now CGI). Prof. Chaudron’s research interests are in software architecture, software design, software modelling and model-driven software development with a special interest in empirical studies into the effectiveness of modelling and design, component-based software engineering. He has published more than 100 papers in these areas. He has been active member of several conferences in these areas including CBSE, MODELS, Euromicro-SEAA, ESEM.
There is a hidden intrigue in the title. Category theory (CT) is one of the most abstract mathematical disciplines, jokingly nicknamed "abstract nonsense". MDE is a recent trend in software development, industrially supported by standards and tools, and enjoying the status of a new "silver bullet". Surprisingly, categorical patterns are directly applicable to mathematical modeling of structures appearing in everyday MDE practice. Model merging, transformation, synchronization, and other important model management (MMt) scenarios can be seen as executions of categorical specifications.
However, the appearance of CT in MMt is not accidental. We’ll show that mappings are fundamental for MMt and actually define the nature of the discipline. A typical MMt operation takes a configuration (diagram) of models and mappings as its input, and outputs another configuration. Specifying such operations in precise terms needs a special diagrammatic rather than usual tuple-based algebra. Reasoning about such operations needs a special diagrammatic rather than ordinary formula-based logic. The mathematics of diagrammatic algebra and logic is CT, hence, the tutorial. We’ll consider three small but carefully designed examples of MMt operations. By analyzing them, we show basic principles of categorical thinking without delving into formalities, and demonstrate several patterns of structural design suggested by CT. These patterns, together with guidance for their usage, is what we assume attendees will take home from the tutorial.
Zinovy Diskin is Senior Research Scientist with NECSIS---a research network that encompasses eight research institutions across Canada and three industrial partners (GM Canada, IBM Canada, and Malina Software). He is cross-appointed as Research Associate with McMaster and the University of Waterloo. His area of expertise is mathematical models for MDE, particularly, metamodeling, multimodeling and model management. He worked as a mechanical engineer and database designer in Latvia, business analyst and consultant in the US, and as a researcher and mentor in Canada. He has served in the PCs of Models14, ECMFA13-12, SLE15-14, Modelsward15-12, BX14-12, and is an external reviewer for Sosym, FAOC, SOCP, DKE, MSCS.
Tom Maibaum (author only; will not be presenting) is Canada Research Chair in the Foundations of Software Engineering at McMaster University's Centre for Software Certification. He previously held Chairs with the same name at Imperial College London and King's College London. His work has focused for several decades on formal specification and its foundations. He is on the editorial boards of several journals and is regularly a member of international conference programme committees in software engineering. He is presently the Principal Investigator of the NECSIS project mentioned above and the Certification of Software Intensive Safety Critical Systems project.
Presenter: Jon Whittle, Lancaster University
This tutorial will discuss how MDE is used in
practice in industry. The tutorial will present: (i) a number of
success and failure factors affecting adoption of MDE in practice;
(ii) case studies of how companies have successfully used MDE in
practice; and (iii) technical, social and organizational factors that
affect how successful MDE tools are applied in practice. The
tutorial is grounded in evidence collected over a period of three
years from over twenty companies that use MDE. Finally, the
tutorial will reflect on what these findings mean to researchers,
practitioners and students working on MDE. The tutorial is targeted towards both researchers and practitioners. Researchers will learn how MDE is actually applied in practice, which will inform their research questions. Practitioners will learn how other companies have been successful with MDE and will be able to transfer those practices to their own situation.
Jon Whittle is Head of the School of Computing and Communications at Lancaster University. Jon led a major empirical study of MDE practice, which will be the focus of the tutorial. Jon is a long established member of the MODELS community, having chaired the Steering Committee, served as PC Chair for MODELS 2011, Experience Track Chair for MODELS 2006, and serves as Editorial Board member for the Journal of Software and Systems Modeling. Jon has published widely about model-driven engineering in top software engineering venues such as ICSE and ACM TOSEM. Prior to working in academia, Jon worked as a technical area lead at NASA Ames Research Center for six years, where he investigated how MDE tools can be applied for NASA. Jon is regularly invited as a keynote speaker on MDE issues: in the last three years, he has given 15 keynote talks on the subject. Jon has obtained over £6M in funded research projects, many of which have been interdisciplinary, which has given him insight into the social and organizational aspects of MDE.
Presenters: Bruce Trask and Angel Roman, MDE Systems Inc.
Model Driven Engineering (MDE) brings together multiple technologies and critical innovations and formalizes them into the next wave of software development methods. This tutorial will cover the basic patterns, principles and practices of MDE. The three main MDE categories include the development of Domain Specific Languages (DSL), Domain Specific Editors (and Views), and Domain Specific Transformation Engines or Generators. Expressed in terms of language development technology, these mirror the development of the Abstract Syntax, Concrete Syntax and Semantics of a new Domain Specific Language. This tutorial will cover the basic effective patterns, principles and practices for developing these MDE software artifacts. The tutorial will show how to apply these concepts as effective means with which to both raise levels of abstraction and domain specificity and thus increase power and value of tools and languages that allow developers to tackle the complexities of today’s software systems. It will also show how to effectively leverage abstraction without sacrificing the ability to robustly and precisely refine these abstractions to solve complex real world problems. To show these patterns and principles in action, this tutorial will cover the details of how to leverage MDE Language Workbenches and frameworks in support of robust software development.
Bruce Trask has been developing real world complex Distributed Real-Time Embedded systems for over 27 years specializing in MDE as applied to these systems in the last 12 years. He has been involved with the entire lifecycle of most of the projects he has participated in from conception, through requirements, through development, testing, integration, fielding and support. He has also been teaching Modeling, MDE, Object Orientation, Design Patterns, UML, C++, CORBA and Framework courses for over 10 years. He is a regular speaker/presenter at international software industry conferences. He has delivered tutorials at the OMG. Bruce Trask is the CEO of MDE Systems Inc.
Angel Roman is the Chief Software Architect of MDE Systems and an expert on the Eclipse Development environment and its application frameworks and modeling frameworks. He has presented at various industry conferences on topics such as Software Defined Radios and MDE Technologies. He has been involved with projects concerning MDE, Eclipse Development, Embedded Linux Systems and OSGi.
The Architecture Analysis and Design Language (AADL) is an SAE International
Standard dedicated to the precise modeling of complex real-time embedded
systems, covering both hardware and software concerns. Its definition relies on
a precise set of concepts inherited from industry and academics best practice:
clear separation of concerns among layers, rich set of properties to document
system metrics and support for many kind of analysis: scheduling, safety and
reliability, performance, but also code generation. In this tutorial, we provide
an overview of AADLv2 and illustrate how several analyses can be combined on an
illustrative example: an ADIRU system. In this tutorial, we focus on safety
analyses and also demonstrate the use of AADL to both verify and implement
automatically a real-time embedded systems.
Jérôme Hugues (ISAE/DMIA, Toulouse, France) is associate professor at the Department of Mathematics, Computer Science, and Control of the Institute for Space and Aeronautics Engineering (ISAE). He holds a PhD (2005) and an engineering degree (2002) from Telecom ParisTech. His research interests focus on design of software-based real-time and embedded systems and tools to support it. He is a member of the SAE AS-2C committee working on the AADL; and is involved in the Ocarina and TASTE projects, two flagships AADL projects.
Julien Delange (Software Engineering Institute, Pittsburgh, USA) is a researcher at the Carnegie Mellon University (CMU) Software Engineering Instute (SEI). Julien got a PhD (2010) in Computer Science that focuses on the design of safe and secure embedded systems. Prior working at the SEI, he worked at the European Space Agency and was involved in many aerospace-related projects for using model-based engineerins approaches to improve the development of safety-critical systems.
Cyber-physical systems (CPS) are complex engineering systems that interact directly with the physical world. They generally combine a mixture of different engineering technologies, (e.g., mechanical, electrical, hydraulic) with embedded software. In these systems the software is responsible for monitoring and control functions. Traditional design approaches for such systems were based on an early decomposition into technology-centric subsystems followed by an integration step near the end of the development cycle. In contrast, modern CPS design takes a more holistic approach, treating the system as an integral whole, allowing for increased flexibility in allocating functional responsibilities to the most appropriate technologies. This is primarily achieved through the more extensive and more effective use of computer-based engineering models throughout design. A key technical challenge in this process is how to construct and analyze practical models of such systems, given that each of the technologies involved may require its own idiosyncratic modeling discipline. In the past decade, a new generation of computer-based modeling languages has emerged with a view to addressing this problem. In this tutorial, we consider two industry standard modeling languages from this category, SysML and MARTE. We explore the rationale behind them (the tutorial presenter was an active and leading contributor to both standards), the relationships between them, and how they can be combined for effective and agile CPS design. All methods and patterns described are illustrated using practical examples.
Bran Selić is president and founder of Malina Software Corp., a consulting services enterprise specializing in the application of model-based engineering methods in the development of complex technical systems. He has over 35 years of practical industrial experience in designing and implementing large-scale software systems and has pioneered the application of model-based methods in real-time and embedded applications. In the past decade, Bran has led several international standards efforts related to modeling technologies, including the widely used UML 2 modeling language standard as well as the associated MARTE profile.
Presenters: Franck Fleurey and Brice Morin, SINTEF
A Cyber Physical Systems (CPS) typically relies on a highly heterogeneous interconnection of platforms and devices offering a diversity of complementary capabilities: from cloud server with their virtually unlimited resources to tiny microcontrollers supporting the connection to the physical world. This tutorial presents a tool supported Model-Driven Software Engineering (MDSE) approach targeting the heterogeneity and distribution challenges associated with the development of CPS. The approach is based on a domain specific modelling languages called ThingML. The foundations and rational of ThingML have been elaborated over the past years based on a set of experiences and projects aiming applying the state of the art in MDSE in practical contexts and with different industry partners. The aim of the tutorial is (i) to reflect on these experiences to motivate the approach and its implementation, (ii) to describe the approach and its usage by the actors involved in the development of CPS and (iii) to provide hands-on experience with the associated tools. In addition to a set of hands-on exercises, the tutorial will end with a "mini-hackathon". The attendees will be given a couple of days to submit a solution to a challenge and a price will be awarded to the best contribution.
Franck Fleurey is a senior research scientist at SINTEF in Oslo, Norway. He received a PhD degree in Computer Science from the University of Rennes 1 (France) in 2006. One contribution of his thesis was the Kermeta meta-modelling language and framework. His research interests include model-driven software engineering, embedded systems, product lines, adaptive systems and software validation. He has been active in the MODELS community for more than 10 years and has had a focus on developing and using MDE approaches in both academic and industry-driven projects. He is the author of more than 80 peer-reviewed publications totalizing over 3000 citations.
Brice Morin is a research scientist at SINTEF in Oslo, Norway. He holds a PhD degree iin Computer Science from the University of Rennes, France. His research focuses on investigating sound and practical modelling foundations for software systems (ranging from the cloud to the Internet of Things), available throughout their lifecycles, including at runtime. Together with his colleagues, he pioneered the models@runtime paradigm in the context of EU project DiVA. Since 2007, Brice published more than 40 peer-reviewed papers totalizing more than 1100 citations, including 9 papers at MODELS.
In this tutorial we will teach participants how to rapidly develop applications starting with models, and how to reverse engineer code into models
using the Umple open-source technology. Umple embeds modeling constructs such as UML class diagrams and state diagrams, aspects, patterns, traits, mixins
plus many other features, into code written in Java, C++, PHP or a mixture. It also allows the inverse. i.e. adding code to textually-rendered models. Model
diagrams can either be edited (with the textual syntax being dynamically updated) or else generated from the textual syntax. Umple has state-of-the art
code generation for the languages mentioned above, and several others. Umple also performs extensive analysis of models and generates many additional
outputs such as state tables. Umple is written in itself.
Miguel Garzon is a PhD student and Part Time Professor at the University of Ottawa. He expects to graduate by the time of this tutorial. He has been one of the lead developers of Umple for the last four years, focusing on technology for reverse-engineering systems into Umple (umplification). He has used Umple in teaching contexts at the high-school and undergraduate levels.
Andrew Forward is one of the Umple project founders, having worked on it since its inception in 2007. He is currently is a software engineer working in industry, where he employs many technologies, including Umple. He received his PhD in 2010 from the University of Ottawa and has continued to conduct research in modeling. He regularly coaches undergraduate from across Canada and the US who are using Umple in their fourth-year software engineering projects.
These are 90-minute sessions included in the price of the main conference registration; they will be held in parallel with paper sessions.
Presenter: Robert Weisman, Build the Vision
This tutorial will provide an overview of the origins and rationale for Enterprise Architecture (EA) and how EA has evolved into a model-based business transformation framework. The tutorial will link the various frameworks in common use including the Zachman, e-Government (US, Australia, UK, France), TOGAF, ISO 42010 and Defense architecture frameworks. The tutorial will focus on their use of descriptive and prescriptive models which can be leveraged for engineering activities such as Model-Driven Architecture, interoperability and eventually automated code generation.
Robert Weisman spent 30 years in the Canadian Forces as a Military/Civil Engineer and 15 years in the private sector as a Management Consultant and Instructor. He leads the Open Group Knowledge Project and the TOGAF specification for enterprise architecture. For the last five years in uniform Robert worked the new Defence Information Services Organization; he served as a program manager for the Navy, Army, Air Force and Joint Command and Control (C2) Systems. Robert used enterprise architecture to create a coherent C2 plans and strategic direction. During his ten years at CGI, Weisman founded and led the global Enterprise Architecture. He worked in numerous industry verticals such as health, defence, tax, insurance, and benefits. He is President of the Association of Enterprise Architects - Ottawa-Gatineau Chapter, Director IT Governance at ISACA Ottawa and member of IEEE, AFCEA, IIBA, PMI, DAMA, IAM and PEO.
Presenters: Tao Yue and Shaukat Ali, Simula Research Laboratory
Use case modeling, including use case diagrams and use case specifications, is commonly applied to structure and document requirements. Use case specifications are usually structured, unrestricted textual documents complying with a certain use case template. However, because use case models remain essentially textual, ambiguity is inevitably introduced. We present in this tutorial a use case modeling approach, called Restricted Use Case Modeling (RUCM), which is composed of a set of well-defined restriction rules and a modified use case template. The goal is two-fold: (1) restrict the way users can document use case specifications in order to reduce ambiguity and (2) facilitate the (automated) requirements analysis and generation of downstream artifacts such as UML models.
In the last few years, based on RUCM, we proposed the Zen-RUCM framework (implemented as a platform, http://zen-tools.com/Zen-RUCM.html), to cover various aspects of natural language based specification/modeling/analysis of requirements and generation of UML models and test cases. A series of methodologies (with tool support) were therefore proposed, developed and evaluated with industrial case studies, including requirements modeling for real-time systems (RUCM4RT), test case specifications (RTCM) and automatically test case generation. In this tutorial, we will present the Zen-RUCM framework, the RUCM, RUCM4RT and RTCM methodologies, along with tool demonstration on real-world case studies.
Tao Yue is now a senior research scientist of Simula Research Laboratory. She is also affiliated to University of Oslo as an associate professor. She has received the PhD degree in the Department of Systems and Computer Engineering at Carleton University, Ottawa, Canada in 2010. Before that, she was an aviation engineer and system engineer for seven years. She has around 16 years of experience of conducting industry-oriented research with a focus on MBE in various application domains such as Avionics, Maritime and Energy, and Communications in several countries including Canada, Norway, and China. Her present research area is software engineering, with specific interested in requirements engineering, requirements-based testing, model-based product line engineering, model-based system engineering, model-based testing and empirical software engineering. She is PI and CO-PI of several national and international research projects.
Shaukat Ali is currently a senior research scientist at Simula Research Laboratory. He has been involved in many industrial and research projects related to Model-based Testing (MBT) and Empirical Software Engineering since 2003. He has experience of working in several industries and academic research groups in many countries including UK, Canada, Norway, and Pakistan. He is PI and CO-PI of several national and international research projects. He is technically coordinating the U-Test project under the EU Horizon 2020 program.