Fondue is an object-oriented software development method based on the UML notation. It addresses requirements elicitation by use case descriptions. System behavior is described by statecharts and operation schemas based on pre- and postconditions written in the OCL, a part of the UML. The Fondue method has been applied to several case studies.
- Java is the de-facto standard for programming distributed systems. This language nevertheless provides no support for monitoring or controlling the consumption of physical resources (CPU, memory, network) of an application. We are working on an approach where applications are transparently modified at the bytecode level in order to overcome this weakness. J-RAF2 (Java Resource Accounting Framework) is the tool supporting this approach. Further work includes devising APIs and language extensions so that applications can become resource-aware.
- ConcernBASE addresses the modeling of distributed software system architectures. The approach is based on connectors and components, as usually found when distributed systems are implemented with the help of some middleware.
- The Lab's work on formal specifications led to the definition of CO-OPN, from Concurrent Object-Oriented Petri Nets, an object-oriented concurrent formal language, which integrates algebraic abstract data types with Petri Nets. CoopnTools is its supporting environment. It was used to implement the controller software for a lift realized in Lego.
- The method MORM (link to be added), Man-Machine Occupational Risk Modeling, aims at using Petri nets for health risk analysis of industrial environments.
- The Lab's work on implementation focus currently on integrating fault tolerance concepts with software development, distributed systems, concurrency, and programming language features, i.e. exceptions. Work in this field has led to the development of Open Multithreaded Transactions, a transaction model that addresses cooperative and competitive concurrency. An object-oriented framework called OPTIMA that provides the required run-time support, including stable storage, for Open Multithreaded Transactions has been developed. A prototype implementation of OPTIMA for Ada 95 is available for download.
- Achieving fault tolerance through semi-active replication has been studied in the context of multithreaded non-deterministic servers.
- On the programming language side, members of the lab were involved in the definition of the 1995 revision of the Ada programming language. An extensive library of container classes for this language is publicly available.
- Work on the implementation of distributed systems in Ada has lead to run-time support for dynamic client-server systems, filtering of message passing, e.g. compression and encryption.
|