Software Engineering


Promote research, training and technology transfer in Software Engineering related fields.

The main area that drives the group research activities is Software Composition. Software Composition research addresses the techniques, methods and tools for developing software by separation and composition of concerns. Our approach is based on a divide and conquer strategy to help identify minimal domain-specific solutions and to combine them in different contexts. The approach enforces an incremental development process and is based on design patterns, pattern languages and object-oriented frameworks to deal with description of concerns their separation and composition. This research is split in several sub-projects. These projects focus on computer support cooperative work and educational applications.

MOOSCo (MOO with Separation of Concerns) project intends to apply a separation of concerns approach in the domain of Multi-User Object-Oriented Environments (MOOs).

WorkSCo (Workflow with Separation of Concerns) project intends to apply a separation of concerns approach to the definition of a flexible and customisable workflow architecture.

CoSCo (Composition Constructs for Separation of Concerns) project is a fundamental research on language principles to support separation and composition of concerns.

FenixEdu (The Java(TM) Object-Oriented Framework for University Academic Applications) project intends to apply the results of the previous projects to the development of a university information system.

Rosetta, an integrated programming environment for Generative Design, supporting multiple front-end languages and multiple back-end computer-aided design tools.

Group Coordinator

António Paulo Teles de Menezes Correia Leitão

Parent Lab

Computing Systems and Communication Networks (CSCN)

Administrative Support

Teresa Mafalda Mascarenhas Alves Mimoso