LGL - Software Engineering Laboratory - EPFL
Home Index Members Info Research Teaching Downloads

Activities and General Information





Please note that the LGL closed on Sept. 30, 2007






Publications

Fondue ConcernBASE UML

COOPN

OMTT

Ada


Overview

The missions of the Software Engineering Laboratory, also called LGL from its French denomination Laboratoire de Génie Logiciel, are teaching and research in software engineering. Our current activities are targeted at system and software development methods and supporting tools. Our work is based on the object-oriented paradigm and covers the complete range of technical software development activities: requirements analysis, software specification, architecture modeling, design, implementation and testing. It is our goal to bridge the gap between the descriptive (or semi-formal) approaches and formal methods, and to extend them for dealing with distributed systems.

We try to maintain an index of our web pages, and a list of our members. But perhaps you need contact information, or you want to visit us and you are trying to locate us. Maybe, you just wanted to check out our many publications.


Research

  • 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.


Teaching

  • We maintain a list of project proposals for students.
  • Programming I & II (in English): similar to CS1 & CS2, this course is given to first year students in computer science. The course uses the Ada programming language. After the basics in programming, it presents concurrent programming and the fundamentals of algorithm design.
  • Software Engineering / Génie logiciel: The class is given in French to junior students. Documentation is in English. The course teaches the software development method Fondue.
  • Software Engineering Project / Projet de génie logiciel: The purpose is to get the students acquainted with a modern software development methodology, to work in a team, to produce technical documentation, and to give presentations about work products.
  • Techniques et Outils du Génie Logiciel
  • Object-Oriented Technologies: This class is given to postgraduate students.
  • Formal Methods
  • Our work on Requirements Analysis with Use Cases led to the development of a teaching module within the Software Engineering Education project SWEED.

Contact Information

Software Engineering Laboratory
EPFL - IC - LGL
Swiss Federal Institute of Technology Lausanne
CH-1015 Lausanne EPFL, Switzerland
Phone: ++41 21 693 52 95
Fax: ++41 21 693 50 79
URL: http://lgl.epfl.ch
EPFL | IC | LGL
Last modified 27 Sept 2007, Webmaster