Research Projects

Theme 1:
Team Cognition and Collaboration Project (TC)
Information Flow Project (IF)
Task-Specific Slices Project (TS)
Theme 2:
Model Pattern Engineering Project (MP)
Model Transformations Project (MT)
Model Testing and Debugging Project (TD)
Theme 3
Feature-Oriented Modelling and Analysis Project (FM)
Theme 4
Cross Cutting Concerns Project (CC)
Model Management Project (MM)

Theme 1 – Capturing and Sharing Knowledge

The objective of this theme is to develop model-driven engineering (MDE) methods and tools that enable a software engineer to acquire the knowledge that they need to work effectively and productively. This requires succinct expression of design information; appropriate abstractions and structure to simplify and cluster information; flexible ways of searching and navigating through large repositories of information; and tool support for comparing, combining, and viewing clusters of related models. This theme has both technical and cognitive aspects, where the cognitive objectives are to facilitate the engineers’ ability to understand the information with which they work.

Team Cognition and Collaboration Project (TC)

Project Lead: Dr. Daniela Damian

Model development and management involves collaboration in a complex and constantly changing working context. The TC project investigates techniques that provide real-time information surrounding the social network associated with interrelated models in aiding developers’ cognition and collaboration processes. We use information gained from the IF project to identify patterns of information flow during collaborative modelling at GM and IBM. We develop a working prototype that automatically constructs, visualizes and analyzes social networks as representations of the collaboration around interrelated models. This allows developers to more quickly and efficiently find out who is impacted by which models, and which people are experts in a model of interest – thereby resulting in more effective coordination around model development.

TC Project Publications

Information Flow Project (IF)

Project Lead: Dr. Gail Murphy

Model-driven software engineering (MDE) requires the introduction of new formal languages and tools. For these languages and tools to be fully effective, they must be easy to use by the software engineers who interact with them. These languages and tools are also used collaboratively within a software development process. An understanding of this process is needed to ensure that the software engineers can construct and manipulate models effectively as they collaborate. The IF project aims to capture, record and explain how MDE at GM is undertaken; and to identify the forces and frictions that impact the success of MDE. This will be achieved by foundational empirical studies to observe and analyze how software engineers work with models, both individually and collaboratively.

IF Project Publications

Task-Specific Slices Project (TS)

Project Lead: Dr. Gail Murphy and Dr. Martin Robillard

This project considers how recommenders may aid in the improving the processes used in MDE. The research program involves: investigation of how APIs are used in practice; the development of techniques to ease API use, including the automatic linking of disparate documentation about an API; and the automatic creation of sub-tasks given a task description.

TS Project Publications

Theme 2 – Reasoning, Analysis and Transformation

Ensuring the correctness and reliability of embedded software is critical. Techniques from automated reasoning, testing, programming languages, compilers, modelling, requirements engineering and simulation all play a fundamental role in reasoning about whether the software will have the intended properties and behaviours. The objective of this theme is to enhance MDE capabilities through judicious combinations of automated technologies, such as analyzing the products of model transformations, and verifying the correctness of the transformations themselves, and detecting patterns in models that can suggest new abstractions to encode into future transformation rules.

Model Pattern Engineering Project (MP)

Project Lead: Dr. Jim Cordy

As acceptance and use of MDE continues to grow and the number of models in use rises, the need for a better understanding of the similarities and relationships between different models increases. If we are to have continued sustainable growth in the number, size and complexity of models, we will require a better understanding of the common patterns and structures of model use. In this project we undertake to address this problem by building taxonomy of generic sub-model patterns inferred from practice in one particular domain, automotive systems. Our goal will be a covering set of patterns into which all models in our target domain can be partitioned, yielding a higher-level understanding of the modeling process for the domain. Such an understanding can assist, among other things, in facilitating problem resolution and solution consistency when serious failures are observed. In the longer term, we hope to leverage what we learn to help provide a more solid formal foundation for understanding, identifying and expressing model patterns in many domains.

MP Project Publications

Model Transformations Project (MT)

Project Lead: Dr. Juergen Dingel and Dr. Hans Vangheluwe

MDE aims to increase productivity by combining abstraction, analysis, and automation. Ideally, MDE is based on an iterative development process starting with abstract, high-level models expressed in suitable notations that get successively refined into increasingly detailed ones until executable code is obtained; refinement steps are informed by analyses, realized by model transformations (MTs), and supported by effective tools providing a maximal degree of automation. A theoretical foundation unambiguously specifies not only the meaning of models, but also of transformations and analyses and reveals the interplay between them. Design decisions are simplified effectively, e.g., through documented solutions to common problems that explicate tradeoffs. The current state of the art already realizes parts of this vision. For instance, IBM Rational RoseRT, an MDE-tool for the development of embedded, real-time systems, automatically generates executable code from models expressed in the UML-RT profile and offers some analysis capabilities. Moreover, a number of documents detail experiences, examples, and even methodologies. At GM, discrete and continuous-time models are used to capture the behaviour of the software controlling various aspects of a car; executable code is generated automatically from these models. However, despite these advances, the current state of the art falls substantially short. One key problem is that relevant model analyses are often missing and if they are not, the exact relationship between the analysis and transformation is often unclear. As Henzinger and Sifakis point out, “Central to all model-based design is an effective theory of model transformations…model transformation must preserve essential properties.” Moreover, the use of modelling and MT techniques in the context of industrial software development life cycles is complicated by the fact that existing support for usability, scalability, and evolution is poor. In this project, we will address these issues and use close collaboration with our industry partners to advance the state of the art in model transformation on both the academic and the industrial fronts.

MT Project Publications

Model Testing and Debugging Project (TD)

Project Lead: Dr. Alexandre Petrenko and Dr. Sebastian Fischmeister

Although a main objective of MDE is to drastically reduce the development time by lowering testing and debugging efforts, these two important activities will not disappear. Developers will continue to make mistakes, and in model-driven development mistakes will still lead to bugs; thus developers will still require means to locate bugs. Tracing is a common technique to locate bugs in software. The fact that developers try to debug the system at a different level of abstraction (model) than the level at which the bug appears (source code) adds new challenges to debugging and tracing, especially in time sensitive applications like automotive systems. The debugging subproject investigates tracing techniques that are invariant throughout transformations when using model-driven software development environments. The testing subproject aims to investigate test development techniques that meet the current and future needs of GM test engineers, develop methods for automating the process of test quality improvement and test optimization, provide a proof-of-concept by prototyping and demonstrate the effectiveness on case studies provided by GM.

TD Project Publications

Theme 3 – Uncertainty, Adaptability and Variability

Automotive manufacturers use software product lines, features, and platform variants as a means to reuse common software assets across products—in order to increase both development productivity and the resulting software quality. The objectives of this theme are to incorporate concepts of adaptability and variability into traditional aspects of MDE modelling and automation (e.g., the modelling of context-aware systems) and to incorporate advanced techniques of cognition and automation into software product lining (e.g., searching and navigating model collections by feature, and reasoning about the correctness of feature configurations).

Feature-Oriented Modelling and Analysis Project (FM)

Project Lead: Dr. Jo Atlee

The ultimate goal of feature orientation is to support reasoning about software products in terms of their features. A feature is an increment in functionality. A feature may be an option that a customer can subscribe to or select (e.g., keyless entry), or may be some internal functionality known only to product developers (e.g., regenerative braking). Features have the potential to serve as a shared vocabulary among engineering teams across different disciplines, given that most engineers think of product designs in terms of features. Feature orientation is particularly relevant in the context of software product lines, where families of similar products are understood, constructed, managed, and evolved in terms of the common and variable properties (the latter being features) of the individual products. However, software artefacts are not typically modularized as features. This project will investigate techniques for modelling features as modules and for reasoning about combinations of features. In particular, this project will investigate strategies for structuring requirements to encapsulate features as separate units of functionality, techniques for detecting and documenting dependencies among features and traceability links from features to other software models and artefacts, and techniques for exploring and reasoning about feature configurations.

FM Project Publications

Theme 4 – Process and Practice

Automotive software must be tailored to multiple versions, built by interdisciplinary teams, whose members are geographically dispersed in global organizations. Hence, both the software and the design process itself are highly complex. Engineering disciplines traditionally deal with such complexity through the engineering method. This organizes scientific knowledge — which scientific models and engineering approximations to use, what analyses to do (and sometimes how), and dimensions for decision making — into a standard package that any engineer in the domain can effectively apply to solve engineering problems.

The objective of this theme is to transform the present state of practice in MDE into a proper engineering method. Human and collaborative activities are key ingredients. The design of engineering methods must account for the individual perspective and expertise of each developer. Multi-disciplinary teams of business analysts, automotive engineers, requirements analysts, designers, coders, testers, and other key stakeholders must coordinate their contributions to solve complex engineering problems. These teams rely on the integration of individual expertise of engineers, working in functionally different, but technically dependent teams, separated by geographical and organizational boundaries.

Cross Cutting Concerns Project (CC)

Project Lead: Dr. Tom Maibaum and Dr. Sebastian Fischmeister

The CC project aims to develop an approach to cross-cutting concerns such as timing and dependability/fault tolerance (or aspects/features, as they are referred to in the literature), and so-called feature interactions and their analysis that is in concordance with the characteristics of MDE. In the case of timing, we plan to determine the extent to which timing requirements can be retrofitted to models and transformations in MDE as opposed to having to consider it alongside other properties throughout the development process. In the case of fault tolerance, we have evidence that mechanisms to support it can be retrofitted in the sense of aspects and we plan to extend modelling and transformation notions so that some crosscutting concerns can be seen as a transformation of some base model (or group of related models), to incorporate the concern into a transformed model. Typical concerns include timing, fault tolerance, security, etc.

CC Project Publications

Model Management Project (MM)

Project Lead: Dr. Marsha Chechik

A major challenge for the practical application of model-driven engineering is the difficulty of
managing a large collection of inter-related models. MDE inevitably involves construction, integration,
and maintenance of a large number of different models, representing different versions over time,
different variants across a product family, different options for implementation, and so on. The goal of
model management is to provide a systematic way to represent the relationships between such a set of models, and a set of tools for manipulating inter-related models. Such tools include comparing similar models, identifying dependencies, inconsistency checking, propagating change, tracing design decisions, and merging partial models. This project aims to develop a systematic approach for representing relationships between a large set of models, a means to visualize these relationships, and a set of tools for manipulating them.

MM Project Publications

Copyrights 2018 Necsis| All Rights Reserved.