Optimisation Methods for Model-Driven Engineering
Lead Research Organisation:
King's College London
Department Name: Informatics
Abstract
Optimisation problems are a fundamental part of science and can be encountered everywhere in the natural world. An optimisation problem can be defined as the process of finding the best solution from all possible solutions. Model-Driven Engineering(MDE) is a paradigm which allows reasoning about systems using the concept of models, an abstract representation of problems. Domain Specific Languages (DSLs) are an effective method for specifying problems in an abstract format by hiding implementation details and focusing more on the problem components.
Describing optimisation problems followed by finding the most suitable optimisation methods to solve them is not a straightforward task. This process requires in-depth knowledge about optimisation methods and also how they can be applied to the given problem description, often requiring complex and extensive computations. The complexity of the steps required can make this process error prone for large or complex problem descriptions. A good approach to this problem could be the implementation of a DSL, allowing the user to focus more on modeling the problem description and abstracting away the process of finding and applying the most suitable optimisation method to the given problem description.
In this project, we will develop an approach for using models to express optimisation problems. We will implement a DSL, which starting from a model describing an optimisation problem, will seek the most applicable optimisation method to find a solution. We will explore the automatic selection and application of the most suitable heuristics and meta-heuristics on models. The end goal is to enable users to use efficient optimisation techniques by specifying their optimisation problem, but without the need of in-depth expertise in optimisation methods.
Describing optimisation problems followed by finding the most suitable optimisation methods to solve them is not a straightforward task. This process requires in-depth knowledge about optimisation methods and also how they can be applied to the given problem description, often requiring complex and extensive computations. The complexity of the steps required can make this process error prone for large or complex problem descriptions. A good approach to this problem could be the implementation of a DSL, allowing the user to focus more on modeling the problem description and abstracting away the process of finding and applying the most suitable optimisation method to the given problem description.
In this project, we will develop an approach for using models to express optimisation problems. We will implement a DSL, which starting from a model describing an optimisation problem, will seek the most applicable optimisation method to find a solution. We will explore the automatic selection and application of the most suitable heuristics and meta-heuristics on models. The end goal is to enable users to use efficient optimisation techniques by specifying their optimisation problem, but without the need of in-depth expertise in optimisation methods.
Publications
Murphy J.
(2018)
Deriving persuasion strategies using search-based model engineering
in Frontiers in Artificial Intelligence and Applications
Martinez J
(2022)
Acapulco
John S
(2019)
Searching for Optimal Models: Comparing Two Encoding Approaches.
in The Journal of Object Technology
Horcas J
(2023)
We're Not Gonna Break It! Consistency-Preserving Operators for Efficient Product Line Configuration
in IEEE Transactions on Software Engineering
Burdusel A.
(2016)
Model optimisation for feature-class allocation using MDEOptimiser: A TTC 2016 submission
in CEUR Workshop Proceedings
Burdusel A
(2018)
MDEoptimiser
Burdusel A
(2019)
Towards Scalable Search-Based Model Engineering with MDEOptimiser Scale
Burdusel A
(2018)
Software Technologies: Applications and Foundations
Burdusel A
(2021)
Automatic generation of atomic multiplicity-preserving search operators for search-based model engineering
in Software and Systems Modeling
Studentship Projects
Project Reference | Relationship | Related To | Start | End | Student Name |
---|---|---|---|---|---|
EP/N509498/1 | 30/09/2016 | 29/09/2021 | |||
1805606 | Studentship | EP/N509498/1 | 30/09/2016 | 30/03/2020 | Alexandru Burdusel |
Description | In our current approach we are demonstrating the ability to use evolutionary search directly on models by allowing domain experts to use Model-Driven Engineering to more easily apply optimisation algorithms to their domain specific problems. Model-Driven Engineering makes it easy and intuitive to specify domain specific mutation operators, which can then be used to apply evolutionary optimisation to domain specific problems. Initial results show that this can be more efficient than searching for transformation chains, an alternative approach proposed for this problem. Another key finding of our approach is that evolutionary search is a viable approach to finding optimal abstract argumentation strategies and software product line configurations. |
Exploitation Route | Our approach can be used to specify optimisation problems from a variety of fields that have the problem of finding optimal models for systems. This means that the approach can be further explored academically, to bring further improvements for performance, extensibility and applicability. The approach can also be adopted by industry to be used in the process of solving real world optimisation problems that can be specified using MDEOptimiser. |
Sectors | Aerospace, Defence and Marine,Agriculture, Food and Drink,Chemicals,Construction,Digital/Communication/Information Technologies (including Software),Education,Electronics,Energy,Environment,Financial Services, and Management Consultancy,Healthcare,Government, Democracy and Justice,Manufacturing, including Industrial Biotechology,Pharmaceuticals and Medical Biotechnology,Retail,Security and Diplomacy,Transport |
Title | Case Studies Repository |
Description | We have create a repository of case studies that can be solved using our approach. The repository can be found on the website: https://mde-optimiser.github.io |
Type Of Material | Database/Collection of data |
Year Produced | 2018 |
Provided To Others? | Yes |
Impact | There has not been much notable impact resulting from this case studies repository yet, but we are aiming to make this repository a good source of benchmarks for future academic research in the same field. |
URL | https://mde-optimiser.github.io |
Description | Henshin Tutorial Partnership |
Organisation | University of Koblenz and Landau |
Country | Germany |
Sector | Academic/University |
PI Contribution | In this partnership we contributed with our expertise in model searching and our MDEOptimiser tool, to create a tutorial on how graph transformations encoded using the Henshin transformation language can be used to search optimal models. The tutorial was presented at Fachtagung Modellierung 2018. |
Collaborator Contribution | Our partners contributed with their expertise in graph transformations and the Henshin transformation language. |
Impact | We have prepared a tutorial that was presented at Fachtagung Modellierung 2018 as a presentation. The tutorial also consisted of a session during which attendees were following the tutorial slides and reproducing the steps using MDEOptimiser. In addition to this, a tutorial publication was published, with the title: Henshin: A Model Transformation Language and its Use for Search-Based Model Optimisation in MDEOptimiser |
Start Year | 2017 |
Description | Research Collaboration with Philipp University Marburg and TU Vienna |
Organisation | Philipp University of Marburg |
Country | Germany |
Sector | Academic/University |
PI Contribution | We are contributing to a comparison of encoding approaches for running search over models. Our contribution consists of one of the two encoding approaches compared, namely running search over models. This contribution is supported by our MDEOptimiser model searching tool. We are also contributing with our expertise in running experiments at scale using cloud computing. |
Collaborator Contribution | Our partners at Vienna University of Technology are contributing with a rule-based model search encoding approach. This contribution is supported by the MoMOT model searching tool, developed by Vienna University of Technology. The researchers at Philipp University of Marburg are contributing with their expertise in Graph Transformations, a methodology used by both encoding approaches being compared. |
Impact | The output of this collaboration is planned to be a research paper, which is currently in the process of being written. |
Start Year | 2018 |
Description | Research Collaboration with Philipp University Marburg and TU Vienna |
Organisation | Vienna University of Technology |
Country | Austria |
Sector | Academic/University |
PI Contribution | We are contributing to a comparison of encoding approaches for running search over models. Our contribution consists of one of the two encoding approaches compared, namely running search over models. This contribution is supported by our MDEOptimiser model searching tool. We are also contributing with our expertise in running experiments at scale using cloud computing. |
Collaborator Contribution | Our partners at Vienna University of Technology are contributing with a rule-based model search encoding approach. This contribution is supported by the MoMOT model searching tool, developed by Vienna University of Technology. The researchers at Philipp University of Marburg are contributing with their expertise in Graph Transformations, a methodology used by both encoding approaches being compared. |
Impact | The output of this collaboration is planned to be a research paper, which is currently in the process of being written. |
Start Year | 2018 |
Description | Research collaboration with University of Malaga |
Organisation | University of Malaga |
Country | Spain |
Sector | Academic/University |
PI Contribution | I collaborated with a visiting researcher on applying MDEOptimiser to two case studies. My contributions consisted of providing assistance on how to use the tool and also implementing new features to improve the support of the tool for the two case studies evaluated. |
Collaborator Contribution | A researcher from University of Malaga visited my research group in London for three months at the end of 2019. During his visit he applied MDEOptimiser to a software component optimisation case study. In addition to that we are also collaborating on applying MDEOptimiser to find optimal software product line configurations. |
Impact | The output consists of two research papers which are currently being written. |
Start Year | 2019 |
Title | MDEOptimiser |
Description | MDEOptimiser is a tool that allows users to specific MDE optimisation problems through a simple DSL. |
Type Of Technology | Software |
Year Produced | 2017 |
Impact | The tool is still under active development. However, so far it has been used to specify a number of case studies. The aim of the tool is to make it easier to specify optimisation problems, by letting the user to focus on the design task primarily, without being required to have in-depth knowledge about optimisation. A notable use of the tool, was for the specification of One to Many Persuasion Games (Murphy et al 2018), which was one of the first approaches of this kind. |
URL | https://mde-optimiser.github.io/ |
Title | MDEOptimiser Scale |
Description | An experiment workflow management tool, developed to speed up the time required to run experiments by using cloud computing. |
Type Of Technology | Software |
Year Produced | 2019 |
Impact | So far the tool has only been used for our own research. |
Description | HU-KCL SBME Workshop 2018 |
Form Of Engagement Activity | A formal working group, expert panel or dialogue |
Part Of Official Scheme? | No |
Geographic Reach | International |
Primary Audience | Postgraduate students |
Results and Impact | I helped with the organisation of and presented my work in a workshop created in partnership with Humboldt University of Berlin on the topic of Search-Based Model Engineering. The workshop had participants from the following institutions: King's College London, University of Glasgow, Humboldt University of Berlin, Germany, McGill University, Canada and TU Wien, Austria. The participants have research interests in Mathematics, Optimisation, and Model-Driven Engineering and have experience levels starting from PhD Students, to Professors. The aim of the workshop was to discuss about these topics, and to find potential collaboration opportunities, both between the fields and between the institutions. |
Year(s) Of Engagement Activity | 2018 |
Description | Industry Advisory Board (IAB) Poster 2018 |
Form Of Engagement Activity | Participation in an activity, workshop or similar |
Part Of Official Scheme? | No |
Geographic Reach | National |
Primary Audience | Industry/Business |
Results and Impact | I presented a poster with my research at the Industry Advisory Board (IAB) event organised at King's College London in 2018. During the presentation I presented my research to the Industry/Business representatives who participated at the event. |
Year(s) Of Engagement Activity | 2018 |
Description | Papers We Love London Talk |
Form Of Engagement Activity | A talk or presentation |
Part Of Official Scheme? | No |
Geographic Reach | Local |
Primary Audience | Industry/Business |
Results and Impact | Presented a talk titled "MDEOptimiser search-based engineering domain-specific problem" to a local meetup group, where at regular intervals a series of interesting academic papers are presented by a speaker to an audience formed of research enthusiasts, academics and industry people. The aim of this talk was to raise the awareness of how domain specific modelling can be used to more easily apply search-based software engineering to domain specific problems. |
Year(s) Of Engagement Activity | 2020 |
URL | https://www.meetup.com/Papers-We-Love-London/events/266943387/ |