Luís Diogo Couto
Aarhus University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Luís Diogo Couto.
ieee systems conference | 2014
Claire Ingram; Richard John Payne; Simon Perry; Jon Holt; Finn Overgaard Hansen; Luís Diogo Couto
This paper presents an initial report on modelling patterns and architectures for system of systems (SoSs) and their constituent systems (CSs). Fundamental architectural principles for systems and SoSs and relevant work published so far are discussed and summarised. We introduce an initial set of five architectural patterns suitable for SoS design, illustrating each pattern with an SoS example and identifying how it meet some basic SoS aims. Finally, we summarise our plans for developing these ideas in the future.
working ieee/ifip conference on software architecture | 2015
Luís Diogo Couto; Peter W. V. Tran-Jørgensen; Joey W. Coleman; Kenneth Lausdahl
We present and analyse an architectural migration in the Overture tool, a tool for which the primary internal data structure is an Abstract Syntax Tree (AST). The migration was from a high-cohesion AST with functionality encapsulated in its nodes to an extensible, low-cohesion AST with functionality implemented in visitors. This was motivated by the need for a high degree of extensibility in the tools core functionality. We describe the migration process and both architectures in detail. We also present a comparative analysis between both architectures, including the trade-offs made between extensibility and performance. Finally, we generalise these results to other tool migrations that have hierarchical data structures at their core.
international conference on simulation and modeling methodologies technologies and applications | 2016
Luís Diogo Couto; Peter W. V. Tran-Jørgensen; Gareth T. C. Edwards
Modelling and simulation assist in decision support or planning activities by allowing efficient exploration of multiple scenarios in a situation where testing in a real setting is impractical. This exploration is often done by varying numerical parameters in the model such as physical dimensions or speed in order to find the optimal configuration. However, for certain problems, in order to find optimal solutions it is beneficial to vary the algorithms that are used to implement the behaviour of the model. For example, when calculating optimised routes for harvesters and other vehicles in a harvest operation, the choice of optimisation algorithms is an important part of the problem. Traditional modelling and simulation techniques do not allow us to vary algorithms across simulations effectively. In this paper, we address this issue by applying the strategy pattern from software engineering to the construction of a formal model that enables different combinations of harvest optimisation algorithms to be analysed effectively. This approach can be generalised to other planning activities where multiple algorithms need to be considered.
international conference on simulation and modeling methodologies, technologies and applications | 2016
Luís Diogo Couto; Peter W. V. Tran-Jørgensen; Gareth T. C. Edwards
Planning systems for harvest operations need to employ complex algorithms to calculate various aspects of the harvest plan such as the order in which to harvest field rows or when and where to unload harvesters. In traditional modelling and simulation approaches, it is not easy to vary the algorithm as a simulation parameter. This either limits the solution space for a system or it forces significant duplication to set up various models with the necessary algorithms. In this paper, we present the Model-Based Development of a planning system that leverages the strategy pattern to enable efficient variation of the optimisation algorithms at various stages of the planning process. We illustrate the system by applying it to a real field and discuss issues such as coping with large fields and how to carry out a real harvest operation according to the plan.
F-IDE | 2015
Luís Diogo Couto; Peter Gorm Larsen; Miran Hasanagić; Georgios Kanakis; Kenneth Lausdahl; Peter W. V. Tran-Jørgensen
Formal Methods tools will never have as many users as tools for popular programming languages and so the effort spent on constructing Integrated Development Environments (IDEs) will be orders of magnitudes lower than that of programming languages such as Java. This means newcomers to formal methods do not get the same user experience as with their favourite programming IDE. In order to improve this situation it is essential that efforts are combined so it is possible to reuse common features and thus not start from scratch every time. This paper presents the Overture platform where such a reuse philosophy is present. We give an overview of the platform itself as well as the extensibility principles that enable much of the reuse. The paper also contains several examples platform extensions, both in the form of new features and a new IDE supporting a new language.
international conference on software engineering | 2017
Luís Diogo Couto; Stylianos Basagiannis; El Hassan Ridouane; Alie El-Din Mady; Miran Hasanagić; Peter Gorm Larsen
Model-based design tools supporting the Functional Mockup Interface (FMI) standard, often employ specification languages ideal for modelling specific domain problems without capturing the overall behavior of a Cyber-Physical System (CPS). These tools tend to handle some important CPS characteristics implicitly, such as network communication handshakes. At the same time, formal verification although a powerful approach, is still decoupled to FMI co-simulation processes, as it can easily lead to infeasible explorations due to state space explosion of continuous or discrete representations. In this paper we exploit co-modelling and co-simulation concepts combined with the injection of formal verification results indirectly in a model-based design workflow that will enable verification engineering benefits in a heterogeneous, multi-disciplinary design process for CPSs. We demonstrate the approach using a Heating, Ventilation and Air Conditioning (HVAC) case study where communication delays may affect the CPS system’s analysis. We model discrete events based on the Vienna Development Method Real-Time dialect, Continuous Time phenomena using Modelica, and communications using PROMELA. Results are considered and inspected both at the level of constituent models and the overall co-simulation.
central and eastern european software engineering conference in russia | 2016
Andrey Sadovykh; Alessandra Bagnato; Imran Rafiq Quadri; Alie El-Din Mady; Luís Diogo Couto; Stylianos Basagiannis; Miran Hasanagić
Current approaches to building Cyber Physical systems including Energy Management Systems (EMS) design often rely on large monolithic models to represent the EMS. These models are typically abstract and simple to aid with performance. However, they can lack fidelity and detail, particularly with regards to physical aspects. This makes it challenging to extract valuable and accurate data from these models, such as sustainability metrics. Our approach to this problem is to employ a Cyber-Physical Systems Model-Based Design methodology that enables the use of various specialised multi-disciplinary models through Functional Mock-up Interface (FMI) and a common integration platform based on SysML. We apply the approach to a heating, ventilation and air conditioning case study and show how the resulting data can be used to evaluate a design. In addition, we discuss how the approach supports the inclusion of dedicated models for the generation of precise sustainability metrics.
acm symposium on applied computing | 2016
Luís Diogo Couto; Peter W. V. Tran-Jørgensen; Kenneth Lausdahl
We present a set of principles that promote reuse in the development of tool support for formal modelling languages, in the context of language extensions. The principles are supported and realised by the AstCreator tool and its basic usage is demonstrated. Use of AstCreator can help reduce the efforts needed to extend a language. This is achieved through reuse of base language artefacts without needing to re-generate or re-compile their sources. This type of reuse is important in formally developed software, where modifications trigger significant validation efforts or in plug-in based architectures where language artefacts must sometimes be used directly.
13th Overture Workshop, satellite event of FM2015 | 2015
Paolo Masci; Paul Curzon; Peter Gorm Larsen; Luís Diogo Couto; Luis D. Couto; Peter G. Larsen
arXiv: Software Engineering | 2014
Luís Diogo Couto; Simon Foster; Richard John Payne