NECSIS: Network for the Engineering of Complex Software-Intensive Systems for automotive systems
The $14M Network ran from 2011 to 2016 and was led by McMaster University’s Tom Maibaum, Canada Research Chair in the Foundations of Software Engineering. Funding included a $10.5M grant from Automotive Partnership Canada, of which the Natural Sciences and Engineering Research Council of Canada (NSERC) was the lead agency. The university-industry R&D collaboration involved industry partners General Motors of Canada Ltd, IBM Canada and Malina Software Corp. Academic members included:
- PI Tom Maibaum, McMaster University
- Co-PI Joanne Atlee, University of Waterloo
- Marsha Chechik, University of Toronto
- James Cordy, Queen’s University
- Krzysztof Czarnecki, University of Waterloo
- Daniela Damian, University of Victoria
- Nancy Day, University of Waterloo
- Thomas Dean, Queen’s University
- Jeurgen Dingel, Queen’s University
- Zinovy Diskin, McMaster University
- Sebastian Fischmeister, University of Waterloo
- Mark Lawford, McMaster University
- Gail Murphy, University of British Columbia
- Alex Petrenko, Centre de Recherche Informatique de Montréal
- Martin Robillard, McGill University
- Hans Vangheluwe, McGill University
- Clark Verbrugge, McGill University
- Alan Wassyng, McMaster University
At the time NECSIS was formed, the size and complexity of automotive software systems was expanding rapidly due to the increasing electrification of the vehicle. Indeed, this complexity continues to increase. In addition to requiring software and software development techniques to manage this increasing complexity, the automotive industry must ensure its software can handle multiple products running on multiple platforms, can be developed rapidly and cost effectively, and is safe. NECSIS was formed to develop sophisticated software tools and methods to address these needs.
NECSIS Achievements and Impact
NECSIS advanced a software methodology called Model-Driven Engineering (MDE) to yield dramatic improvements in software-developer productivity and product quality. (In MDE, “models” are simplified representations of complex software designs. MDE reduces the complexity of developing software by focusing on models and their relationships, reflected in the designs, code and documents that developers work with, enabling them to test and verify models even before the code exists). NECSIS developed transformational new MDE capabilities, methods and tools, especially with respect to the effective development of software in the automotive sector. Highlights include:
The scientific and engineering outcomes of this network advanced the field and included:
- New techniques for implementing and verifying model transformations (e.g., code generation), resulting in significantly greater confidence in the correctness, usability, and scalability of the transformations in spite of their one-of-a-kind nature.
- New model decompositions, model projections and visualizations, and fundamental operations on model artefacts that, taken together, directly addressed the accidental complexities induced by previous best MDE methods.
- Semantic integration of modeling notations, processes and tools, leading to an integrated model-oriented approach to software development.
Technology Transfer to Industry
NECSIS yielded improved development processes and tools that increase productivity and product quality at GM and IBM, its industry partners.
Training of Highly Qualified Personnel
Over the project term, 200 undergraduate students, graduate students, post-doctoral fellows and research engineers received training in advanced aspects of model-driven engineering, embedded systems, formal methods, requirements engineering, the applications of category theory to MDE, support systems for group work, feature modeling and analysis, model transformations and their analysis, mining models for patterns and their application in MDE, and more. Our NECSIS HQP also gained the hands-on experience industrial employers value highly.