Research team

Expertise

Formal Modelling of complex software systems.

Concurrency in a machine model supporting multidimensional separation of concerns. 01/10/2012 - 30/09/2014

Abstract

This project aims to explore concurrency features within the research area of languages that support "multidimensional separation of concerns" (MDSOC), such as aspect-, context- or feature-oriented languages. The addition of MDSOC mechanisms that take into account concurrency will result in MDSOC languages being more expressive and potentially having better performance, which in turn make MDSOC languages a more attractive means to develop concurrent applications. Examples of such mechanisms include: the cflow pointcut, thread-local crosscutting modules and concurrent crosscutting modules. In order to provide a clear and elegant description of these mechanisms, a formal operational semantics is required. Instead of providing this semantics at the language level, an extended version of a virtual machine model called delMDSOC will be used, the semantics of which is specified in the form of graph rewrite rules. This model serves as a platform for a wide range of MDSOC languages. In this project, the semantics of different types of MDSOC languages, having different concurrency models, will be provided using the same extended delMDSOC virtual machine. Hence, it becomes possible to compare the differences and similarities in the added MDSOC mechanisms between different languages.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Concurrency in a machine model supporting multi-dimensional separation of concerns. 01/10/2010 - 30/09/2012

Abstract

This project aims to explore concurrency features within the research area of languages that support "multidimensional separation of concerns" (MDSOC), such as aspect-, context- or feature-oriented languages. The addition of MDSOC mechanisms that take into account concurrency will result in MDSOC languages being more expressive and potentially having better performance, which in turn make MDSOC languages a more attractive means to develop concurrent applications. Examples of such mechanisms include: the cflow pointcut, thread-local crosscutting modules and concurrent crosscutting modules. In order to provide a clear and elegant description of these mechanisms, a formal operational semantics is required. Instead of providing this semantics at the language level, an extended version of a virtual machine model called delMDSOC will be used, the semantics of which is specified in the form of graph rewrite rules. This model serves as a platform for a wide range of MDSOC languages. In this project, the semantics of different types of MDSOC languages, having different concurrency models, will be provided using the same extended delMDSOC virtual machine. Hence, it becomes possible to compare the differences and similarities in the added MDSOC mechanisms between different languages.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Refactoring in languages supporting multi-dimensional separation of concerns. 01/10/2009 - 30/09/2010

Abstract

This project aims to study refactoring for languages with support for "multi-dimensional separation of concerns" (MDSoC), such as aspect-oriented and context-oriented languages. MDSoC languages offer powerful constructions that provide a better way to divide software into a set of different concerns, making it easier to develop and maintain software.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Transforming Human Interface Designs via Model Driven Engineering. 01/01/2008 - 31/12/2011

Abstract

This research project is centred around three research questions: -Formal Semantics. What is the best way to formalise the semantics of a task modelling notation such as ConcurTaskTrees? -Correctness. Based on the formal semantics, can we prove the correctness of task model transformations? -Quality Properties. Can we identify and prove useful properties regarding these transformations?

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Optimized MP-SoC Middleware for Event-driven Applications (OPTIMMA). 01/01/2008 - 31/12/2011

Abstract

The OptiMMA projects will enable the mapping of emerging, dynamic software applications on complex Multi-Processor Systems-on-Chip (MP-SoC). This will be achieved through the use of Middleware components, which will be able to mediate between embedded software and the hardware platforms. Thus, the manage -at run-tim- the memory storage, energy consumption, bandwidth and computation resources of the embedded system. Modeling and customization of the Middleware components is a key element of the OptiMMA project. It will creatie a broad user base and enable the valorization of the results among a wide body of economic actors in Flanders, including economic actors that specialize in multimedia and telecommunication applications on mobile devices, medical imaging devices, embedded software design, hardware platforms design, design tools, etc.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Fundamentele belangen in Software Engineering: Modelleren, Verifiërene en Evolueren van Software. (MoVES) 01/01/2007 - 31/12/2011

Abstract

Software-intensive systems are among the most complex artefacts ever built. In the development of such systems, the use of rigorous models and analysis methods is essential to make sure that the software satisfies its requirements and exhibits the desired properties (e.g., safety, security, reliability, consistency). At the same time, in order to adapt to the constantly changing requirements and technology, these systems must be able to evolve over time, without breaking their essential properties. This project combines the leading Belgian research teams in software engineering, with recognised scientific excellence in model-driven engineering (MDE), software evolution, formal modelling and verification (FMV) and aspect-oriented software development (AOSD). The project aims to advance the state of the art in each of these domains. The long term objective of our network is to strengthen existing collaborations and forge new links between those teams, and to leverage and disseminate our research expertise in this domain at a European level.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

"Separation of Concerns" with High Level Software Models. 01/10/2006 - 30/09/2008

Abstract

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Formal support for the transormation of software models. 01/01/2005 - 31/12/2008

Abstract

The software development process consists of a sequence of consecutive phases, such as requirement analysis, high level design, detailed design, implementation and validation [SommOO, Jacog9]. A typical characteristic of the software lifecycle is a gradual evolution from abstract, declarative models to concrete, computational ones. For each of the phases a well-founded theoretical basis is available, as well as a significant body of knowledge and experience [Gammg4, Jacog2, Wirf9O, Bind9g]. One of the major problems in the development of software systems is a lack of adequate support for evolution, i.e. evolution throughout the lifecycle as well as evolution in time [Lehm 85]. Consecutive models arl hardly related, so that in practice various phases of the development cycle are only marginally or not at all worked out. Moreover, a modification of a software system often requires manual changes to all of the models of the consecutive phases. Therefore, in practice, modifications are often carried through only at the lowest levels and nqt documented properly. This results in so-called legacy systems, that embody complex functionality, but that have lost their overall structure, making it possible to maintain them in a cost-efficient way.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

"Separation of Concerns" with High Level Software Models. 01/10/2004 - 30/09/2006

Abstract

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

A Formal Foundation for Software Refactoring. 01/01/2003 - 31/12/2006

Abstract

The aim of the project is to provide a solid foundation for software refactoring by the development of a suitable formal model. We aim at a lightweight model, facilitating the investigation of basic properties of refactoring, as well as the design of tools supporting the refactoring process. In particular, the potential of graph rewriting as a basis for such a model will be explored. This should lead to, e.g., methods for the detection of conflicting refactorings, and methods for the optimization of refactoring processes. Thirdly, the question whether a given set of refactorings is allowable in the sense that it preserves program behaviour is obviously related to the characterization of graph properties that are preserved by the corresponding rewriting rules. Other important aspects are the complexity of refactorings, which can be studied in terms of the number of graph rewriting steps needed, perhaps in combination with the sizes of the graphs involved, and the issue of consistency between various levels of abstraction, which is related to work about hierarchical graphs.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Syntactic and Semantic Integration of Visual Modelling Techniques. (SegraVis) 01/10/2002 - 30/09/2006

Abstract

Both in software engineering and in the more classical engineering disciplines, the use of visual notations, e.g. for documentation and communication with customers, has a long tradition. Driven by the increasing complexity of the problems such notations have become more elaborate, and have evolved towards tool-supported visual modeling techniques. Two of the most successful classes of visual modeling techniques are the main focus of the project: on the one hand UML, and on the other hand graph- and net-based techniques. A general paradigm for the classification and integration is required, which helps to make explicit semantic variations and to generate tools from formal language definitions. The aim of the project is to develop such a paradigm, to demonstrate its applicability, and to improve visual modeling techniques in specific application domains.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

ARRIBA : Architectural Resources for the Restructuring and Integration of Business Applications. 01/10/2002 - 30/09/2006

Abstract

The aim of this project is to provide a methodology and its associated tools in order to support the integration of disparate business applications that have not necessarily been designed to coexist. Inspiration comes from real concerns that are the result of an investigative effort on the part of some of the research partners in this consortium; the object of the investigation was the identification of mainstream ICT problems with a representative forum of Belgian enterprises (large and small) that rely on information technology for their critical business activities.

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Network on Proposed Software Evolution. (RELEASE) 01/01/2002 - 31/12/2004

Abstract

The study of software evolution has become increasingly essential to ensure that IT systems perform well throughout their lifecycle, and this Network is creating the multidisciplinary framework needed to expand research on a pan-European basis. In particular, the network will (a) investigate an overall theory of software evolution (similar to the theories underlying other scientific disciplines); (b) develop benchmarks to improve the validity of scientific experiments. The Network builds on an existing smaller-scale research network on software evolution funded by the FWO (Fund for Scientific Research - Flanders, Belgium).

Researcher(s)

Research team(s)

Project type(s)

  • Research Project

Gene Prediction in Genomic DNA 01/10/2000 - 30/09/2002

Abstract

Gene Prediction in Genomic DNA: we want to use the influence of the training set to improve the performance of gene prediction systems. We consider building training sets specific to their intended use, and the application of ensemble techniques. We also want to produces combinations of different methods, both at the level of algorithms (so-called hybrid algorithms) and at the level of results (again ensemble techniques). We develop the needed software, which will be made flexible, as to be able to change architecture and data set at will, and to be able to be efficiently used in a larger analysis pipeline.

Researcher(s)

Research team(s)

    Project type(s)

    • Research Project

    Techniques for separations and inclusions in complexity theory. 01/10/1999 - 30/09/2001

    Abstract

    Given a problem, can we realistically solve it using computers? Complexity theory aims to answer this question by describing how many resources we need to compute the solution as a function of the problem size. Typical resources include time and memory space. As we want to abstract away from details of input representation and specifics of the computer model, we end up with classes of problems which can be solved within certain robust resource bounds. Research in complexity theory boils down to determining the relationships between these classes: inclusions and separations. One often tackles such questions by singling out the hardest problems in a complexity class, and concentrating on their properties. Several complexity classes have complete problems under various reducibility notions.Trying to separate complexity classes by isolating a structural difference between their complete problems has been a unifying theme in my research. I plan to continue my work in that area. In particular, I would like to tackle the NP versus NL problem and the BPP versus EXP problem that way. Apart from techniques for separations of complexity classes, I also intend to work on inclusions, mainly in the context of deterministic simulations of randomized processes.Recent years have seen exciting developments on derandomizing space bounded computations. I plan to look closer into them.Concretely, I want to focus on space efficient procedures for undirected graph connectivity that follow from erandomizing the random walk algorithm. The best procedure known so far takes space O(log(4/3) n) and is of this type. Many researchers believe the problem can be solved using only O(log n) space.

    Researcher(s)

    Research team(s)

      Project type(s)

      • Research Project

      Applications of graph transformations (APPLIGRAPH). 01/04/1997 - 31/03/2001

      Abstract

      The main objective of the project is to promote the application of graph transformation as a rule-based framework for the specification and development of systems, languages and tools, and to improve the awareness of its industrial relevance. Graphs are widely used in computer science to represent complex states and networks. Even wider, rules are used to define permitted actions and transitions. The comblnation of both concepts yields a promising paradigm for modeling information systems and for analyzing their behaviour. Topics to be considered include language issues, such as typing, modularity and concurrency, tools such as persers, interpreters and GUIs, and application domains such as visual languages, database models and the implementation of programming languages.

      Researcher(s)

      Research team(s)

        Project type(s)

        • Research Project

        General theory of graph-transformation systems (getgrats). 01/07/1996 - 30/06/1999

        Abstract

        Graphs are widely used in Computer Science as a direct and intuitive way to describe complex structures. Graph transformation systems (GTS) add to the static description given by graphs a further dimension modeling their evolution. Since their origin in the early seventies they have been fruitfully applied to such areas as pattern recognition and generation, concurrent and distributed system modeling and database design. The aim of this project is to continue the development of the theory of GTS, with particular emphasis on the comparison and unification of the various approaches.

        Researcher(s)

        Research team(s)

          Project type(s)

          • Research Project

          Performance and reliability of object-oriented systems. 01/01/1996 - 31/12/1999

          Abstract

          The main aim of the project is the integration of operational issues into the design process of object oriented systems. To master the growing complexity of current computer, communication and information systems, one divides these systems into small functional entities which are more or less independent of each other. The object-oriented paradigm supports this modular view. A first objective of the project is to develop a formalism that is sufficiently universal to bridge the structural differences between the various modules and subsystems. A second objective is to improve the interoperatability of object oriented information systems, by investigating properties and structure of the interfaces between system components. A further objective is the analysis of configurations of complex systems. One way to tackle this problem is to reduce it to that of finding an eigenvector of a large matrix.

          Researcher(s)

          Research team(s)

            Project type(s)

            • Research Project

            Protocols as concurrent systems. 01/01/1995 - 31/12/1996

            Abstract

            Various notions developed for the description of concurrent systems (partial orders, processes) will be used for the description, design and verification of communication protocols. Modular properties of the models proposed are the central issue.

            Researcher(s)

            Research team(s)

              Project type(s)

              • Research Project

              Computing by graph transformation II. 30/09/1994 - 29/09/1995

              Abstract

              Graphs are very natural means to model complex situations. Thus graph transformation systems constitute an attractive paradigm for describing the dynamic evolution of a wide range of systems. The main aim of compugraph is to demonstrate the potential of graph transformation as a unified framework for the development of complex software.

              Researcher(s)

              Research team(s)

                Project type(s)

                • Research Project

                Concurrent semantics of ESM systems. 01/01/1994 - 31/12/1995

                Abstract

                ESM systems are a model of concurrency based on graph-rewriting. The aim of the project is to develop a process semantics for ESM systems and to investigate two applications : on the one hand, the specialization to Petri Nets, and on the other hand the verification of a data-protocol.

                Researcher(s)

                Research team(s)

                  Project type(s)

                  • Research Project