MAGIC started out as a Collaborative Research and Development project between Ericsson and Concordia University and evolved into an Industrial Research Chair supported by the Natural Science and Engineering Research Council of Canada (NSERC).
The initial goal of configuration and upgrade campaign generation for component based systems has widened to the cloud, Network Function Virtualisation (NFV), container based platforms and research issues related to the automation of software management in this context considering the challenges of maintaining service availability and continuity while meeting requested performance characteristics as well. The approach is to use models to represent and solve these issues primarily with UML-based techniques.
There are a number of tracks within the project:
- Design and management of Network Services (NS) to meet user requirements using a process model that can be enacted to execute the different activities.
- Within this the goal of the NS design activity is to decompose the high-level user requirements into Virtualized Network Functions (VNFs) available in the system catalog using an ontology; to construct the appropriate VNF Forwarding Graphs and to generate the NS deployment flavors that would meet the user requirement
- Other activities are being elaborated within the NS management process model such as the NS onboarding, NS scaling, etc.
- In parallel a megamodel based process model enactment is being devised to execute the activities elaborated at the action level
- In a cloud environment it is still not resolved how the infrastructure can be upgraded with minimal impact on the services provided by that cloud or NFV infrastructure
- The research is looking at handling dependencies and incompatibilities among different types of resources and handling them during upgrades
- The goal is to automate the whole upgrade process considering these issues as well as maintaining Service Level Agreement (SLA) commitments with respect to availability and elasticity
- Shifting the automation towards CI/CD of the DevOps mind set where requests to update/upgrade of subsystems may come any time independent from each other. Yet their execution should happen in a synchronized manner
- At the software/application level the main issue considered is the management of SLAs and compliance to them especially with respect to service availability.
- A management framework has been designed that starts with the service decomposition and software component selection to design a configuration that can meet the requested requirements. In the configuration generation process also, the elasticity rules are generated that allow all layers of the system to scale according to workload changes in a synchronized manner based on the triggers generated by checking the SLA compliance model
- The microservice architecture is being investigated to understand the different aspects and their consequences and develop appropriate solution to meet similar goals
- Live testing of complex systems tackles the issues related to the fact that such systems cannot be re-created in a lab environment to test and investigate the causes of faulty behavior. In the production environment however such testing should not be disruptive and the system should perform its intended function regardless. Thus, it becomes critical
- The selection of test cases that one needs to run to achieve appropriate coverage
- The architecture is used to perform the testing
- The method of diagnosis if no appropriate test cases are available, and so on.
In 2011 the project won the Best Technology Partnership award of ADRIQ and it was cited as exemplary university-industry research collaboration by the Canadian Council of Chief Executives in 2012 (Available here). In 2015, it was again among the finalists of ADRIQ.