Research overview

Applications and demonstration

Research Areas:

Automation Systems: Languages and Automation

Configuration Management

Feedback and Quality-of-Service

Natural Language Technologies

Object-Oriented Compiler Technology

Requirements Engineering

Research Methodology

Software Architectures

Software Quality Management

System and Software Architectures in Robotics

Verification and Validation

Education:

Undergraduate Education Development

Master Thesis Projects

Industry Courses

Postgraduate Courses

logo

LUCAS Research Overview

The research of LUCAS covers three thematic areas:

Software Engineering Environments

Responsible researcher: Prof. Boris Magnusson

With the goal of making the overall software production more efficient, this thematic area is focused on the core areas of integrated environments (tools and methods), object-oriented languages (in the tradition of Simula, BETA, and Java), and embedded systems (such as industrial robots and mobile phones). The research method is focused on experimental implementation and development of relevant theory. Key techniques which are limiting factors are identified, enabling techniques developed and prototypes built. Research topics and prototype implementations are often identified in cooperation with industrial partners.

The center has a rich contact net through our involvement in international conferences such as ECOOP, OOPSLA, ESEC, ICSE and IFIP. This includes extensive contacts with leading academic institutions such as Århus University, University of Seattle, CMU, and also with companies such as Sun Labs, Java Soft, and HP-labs where we pay regular visits. Since the 1970:ies we represent the Scandinavian school of object-oriented programming which emphasis modelling, and also methods based on incremental development as pronounced in participatory design and eXtreme Programming. The efforts can be exemplified with some activities in our key areas:

The problems of Configuration Management are particularly evident in large development teams that are geographically distributed, nation or world wide. A major problem in such large-scale software development is to support collaboration. The focus is on collaboration mechanisms including support for sharing of software and documents, awareness about activities in the team, and coordination between different tasks performed by different team members. Existing tools and models are also evaluated. The model for CM used is based on fine-grained integrated configuration management with optimistic development and collaborative awareness. Work with Language Design is focused on supporting experimental domain-specific languages for engineering domains such as robotics, mobile device networks, and product modelling. Support for enforcing programming conventions in general-purpose programming languages is also interesting in order to support frameworks and design patterns. Reference attributed grammars, an object-oriented extension of attribute grammars, has been developed earlier and is used to support interactive specification of languages and programming conventions.

Within the area of Language Implementation the focus is on safe object-oriented languages. Thorough experience in building experimental integrated environments as well as complete systems, including both production quality compilers and runtime systems. Current activities include implementations of Java platforms for small embedded targets. Garbage collection for hard real-time (sub millisecond worst case delays) systems is another active research area within the center.

Research within Industrial Applications and Manufacturing Systems ranges from estimation of timing of embedded software to the overall system architecture and exploring the use of modern graphics and scalable object-oriented techniques for combining real and virtual manufacturing. As for the language implementation area, this is closely related to the Real-Time Systems Software theme.

Real-Time Systems Software

Responsible researcher: Professor Karl-Erik Årzén

This thematic area is focused on the software aspects of real-time systems, in particular embedded systems and real-time control systems. Control systems often have special requirements that influence the entire software engineering process. The control software is a part of a feedback loop, which can impose demanding requirements on response times and execution times. Control applications are in many cases safety-critical, which implies that verification is an important area. It is desirable to be able to formally guarantee that the system behaves according to specifications. Also, in many situations it is the entire closed loop system, including the physical controlled process, that must be verified, and not only the software part. Real-time control systems often put high requirements on continuous operation and therefore support is needed for safe dynamic upgrades. Apart from safety, it is also important that a control system is open and supports flexibility with respect to, e.g., the introduction of new types of sensors or control algorithms. This puts challenging requirements on the system architecture.

The area is of both theoretical and practical nature. The results and ideas are verified by prototype implementations in the laboratory and in collaborations with our industrial partners. Important research collaboration partners are the members of the real-time systems and real-time control communities as defined by the IEEE Computer Society's technical committee on real-time systems, the IEEE Control System Society's technical committee on real-time control and computing, and the IFAC technical committee on real-time software engineering.

Methods in Software Engineering

Responsible researcher: Prof. Per Runeson

This thematic area is focused on software development processes, methods and architectural issues for development and maintenance of complex software systems. More specifically, the research is directed towards the following key areas: software quality, verification & validation, requirements engineering and software process architecture. These areas are further outlined below. The research is approached through empirical studies in software engineering to understand, assess and improve software development.

The empirical studies are conducted as experiments, case studies and surveys. The objective is that a series of studies should form a technology transfer process, where, for example, an experiment first may be conducted in a university environment and then replicated in an industrial environment. The experiments may then be followed up with a case study, when a new method or technique is implemented in a pilot project. The focus on empirical studies has resulted in an international book entitled "Experimentation in Software Engineering: An Introduction" written by researchers in the center and published by Kluwer Academic Publishers in 2000.

The vision of the thematic area is to develop methods and processes for software development, evaluate them through empirical studies which answer industrially relevant problems. Further, the vision involves that the empirical research community through publications and collaborations acknowledges the quality of the research. Further, the objective is to perform the studies within the above key areas, but also to support the other thematic areas in doing empirical studies. The collaborative effort, outside the center, should primarily be together with the leading researchers in the world. Today, this includes exchanges with Colorado State University, Fort Collins, USA and University of New South Wales, Sydney, Australia. Moreover, it includes participation in the International Software Engineering Research Network (ISERN).

© Center for Applied Software Research 2001-2007. Jonas.Wisbrant@cs.lth.se

Last update: Wednesday, 15-Mar-2006 14:42:53 CET