Topic outline

  • General


    Software Languages Engineering for
    Requirements Specification and Design


    Research Goals:

    • Investigate modern paradigms, model languages, tools and techniques to improve requirements specification and design activities in software development

    • Create flexible and agile means to allow software systems to deal with the increasing complexity and constant evolution of requirements

    We aim at offering:

    • Languages for systematic transformations between different abstraction layers
    • Tools for editing and check consistency

    • Modularisation mechanisms, as well as traceability of variations during product line evolution

    Main Research Topics:

    • Software Languages Engineering
    • Requirements Engineering
    • Software Architecture Design

    • Model-Driven Development

    • Aspect-Orientation

    • Software Product Lines

    SOLAR Activities in the International Headlines:

    ACM TechNews, Monday, January 25, 2010
    Software Development Gets a Better Production Line
    ICT Results (01/25/10)

    European researchers have devised a new software development paradigm using an assembly line-style development process. "Think of this as a sandwich shop, where you have different products coming from a product line that shares ingredients, which customers can pick and choose," says AMPLE project coordinator and Lancaster University professor Awais Rashid. The asset base features modular software elements that establish a Software Product Line (SPL), within which is managed the entire software lifecycle from design and development through deployment and maintenance. The AMPLE team created analyses tools that guide users on system development. Rashid says the results of the AMPLE tool analyses match those of human software experts, but the AMPLE software is capable of much faster assessment and can be used by non-experts. Other tools in the chain let companies generate their own modular software components, to put them together for a specific job, and to test and validate the resulting application. Another key element is the maintenance, repair, and modification of both the SPL and the software it creates.

  • Topic 1


    Senior Researchers:

    Ana Moreira, João Araújo, Miguel Goulão, Pedro Guerreiro, Vasco Amaral


    Levi Lúcio

    PhD Students:

    Edward Maurício Alferez, João Santos, Jorge Barreiros, Bruno Barroca


    Vasco Sousa (MSc.)

    MSc Students:

    Ana Rita Oliveira, Inês Santos, Pedro Patrício, Rui Monteiro, Rui Domingues, Roberto Félix, Ricardo Guerreiro, Ricardo Mateus

    BSc. Students:

    Leonardo Marques, Cláudio Gomes

    Former members:

    Uirá Kulesza (PostDoc), André Sousa (MSc.)

    • Topic 2


      AMPLE - Aspect-Oriented, Model-Driven Product Line Engineering ( project WebSite )

      [ Oct 2006 - Sep 2009 ]

      The aim of this project is to provide a software Product Line (SPL) development methodology that offers improved modularisation of variations, their holistic treatment across the software lifecycle and maintenance of their (forward and backward) traceability during SPL evolution. Currently, there is a big gap between research in requirements analysis, architectural modelling and implementation technology, and the industrial practice in SPL engineering. Furthermore, the focus tends to be on the design and code level when variations need to be identified, managed and analysed from the very early stage of requirements engineering. Architecture models are related to requirements models in an ad-hoc fashion and implementation tends to rely on pre-processors which are inadequate substitute for proper programming language support for variability. Nor is there any systematic traceability framework for relating variations across a SPL engineering lifecycle.

      Coordinated by: Lancaster University

      Project Type: PI ( International basic research or R&D projects )

      Funding Entity: European Union

      Total Funding Amount: 3,7 Millio Keuro

      CITI Funding Amount: 400K Euros Keuro

      BATIC3S - Building Adaptive Three-dimensional Interfaces (project website)

      This project proposes a framework for prototyping 3D stereoscopic user interfaces for complex control systems starting from their formal specification. The use of formal languages allows for specifications both at the structural and behavioural level of the system and the interface, and enables rapid prototyping of adaptive 3D user interfaces which can be easily tested with users and adapted to their needs. The development of a framework and a methodology is foreseen to guide the modelization of the system using the CO-OPN language (object-oriented specification language based on synchronized algebraic Petri nets), and the transformation into an executable prototype. A use case is planned in the context of the collaboration with the European Organization for Nuclear Research (CERN) for the development of the control interface for the ATLASmonitoring and control system.

      Coordinated by: CITI

      Funding Entity: FCT / MCTES

      Total Funding Amount: 420 Keuro

      CITI Funding Amount: 140 Keuro

      • Topic 3


        Editorial Activities

        Markus Aleksy, Vasco Amaral, Ralf Gitzel, James F. Power, John Waldron. PPPJ special issue- Foreword. Sci. Comput. Program. 74(5-6): 259-260, 2009;

        Book Chapters/Sections

        Matteo Risoldi, Vasco Amaral, Bruno Barroca, Kaveh Bazargan, Didier Buchs, Fabian Cretton, Gilles Falquet, Anne Le Calvé, Stéphane Malandain, Pierrick Zoss. “A Language and a Methodology for Prototyping User Interfaces for Control Systems”. Human Machine Interaction 2009, Lecture Notes in Computer Science Vol. 5440 Springer 2009, ISBN 978-3-642-00436-0: 221-248, 2009.


        P. Sánchez, A. Moreira L. Fuentes, J. Araújo, J. Magno, “Model-Driven Development for Early Aspects”, Information and Software Technology, Elsevier, 2009.

        C. Silva, J. Castro, J. Araújo, A. Moreira, P. Tedesco, J. Mylopoulos, "Advanced Separation of Concerns in Agent-Oriented Design Patterns", Int. Journal of Agent-Oriented Software Engineering, Vol. 3, Nos. 2/3, pp. 306-327, 2009.

        J. Whittle, P. Jayaraman, A. Elkhodary, A. Moreira, J. Araújo, “MATA: A Unified Approach for Composing UML Aspect Models based on Graph Transformation”, Transactions on Aspect-Oriented Software Development, Springer, 2009.

        R. Ramos, J. Castro, J. Araújo, A. Moreira, F. Alencar e R. Penteado “Refatoração para Documento de Requisitos: Uma Abordagem Aspectual”, IEEE America Latina, Vol. 6, p. 238-243, 2008.

        M. Lencastre, J. Araújo, A. Moreira, J. Castro, “Towards Aspectual Problem Frames: an Example”, Expert Systems Journal, February 2008, Vol. 25, No. 1, pp. 63-75

        Conferences and Workshops

        Ana Dias, Vasco Amaral, João Araújo, “Tackling Visual Complexity of Goal-Oriented Models”, Proc. of the IEEE International Conference on Research Challenges in Information Science, RCIS 2009, ISBN 978-1-4244-2864-9 - April, 2009.

        Mauricio Alférez, João Santos, Ana Moreira, Alessandro Garcia, Uirá Kulesza, João Araújo, and Vasco Amaral. “Multi-View Composition Language for Software Product Line Requirements”, Proc. of the 2nd International Conference on Software Languages Engineering, SLE 2009, Springer, LNCS 5969, Denver, Colorado, EUA, 2009.

        Pedro Gabriel, Miguel Goulão, Vasco Amaral. “Do Software Languages Engineers Evaluate their Languages?”. Proc. do Congresso Ibero-americano sobre ”Engenharia de Software” CIbSE’10, Cuenca, Equador, 2010.

        André Rosa, Vasco Amaral, Bruno Barroca, “Use of MS DSL Tools in the development process of a Domain-Specific Language”, Actas do INForum - Simpósio de Informática 2009 - Septembro, 2009;

        Mauricio Alférez, João Santos, Ana Moreira, Alessandro Garcia, Uirá Kulesza, João Araújo, Vasco Amaral. “Multi-View Composition Language for Software Product Line Requirements”. Proc. of the 2nd International Conference on Software Language Engineering SLE’09, Denver, EUA, Outubro de 2009.

        Bruno Barroca, Levi Lúcio, Vasco Amaral, Luis Pedro, “DSL Composition for model-based test generation”. Proc. of the MPM workshop at MODELS 2009, Electronic Communications of the EASST, Denver, EUA, Outubro de 2009.

        André Rosa, Vasco Amaral, Bruno Barroca. “Designing a DSL Solution for the Domain of Augmented Reality Software Applications Specification”. Proc. of the 4th International Conference on E-Learning and Games, Edutainment 2009, Lecture Notes in Computer Science 5670 Springer 2009, ISBN 978-3-642-03363-6, Banff, Canada, August 9-11, p.p. 423-434, 2009.

        Mauricio Alférez, Ana Moreira, Uirá Kulesza, João Araújo, Ricardo Mateus, Vasco Amaral. “Detecting feature interactions in SPL requirements analysis models”. FOSD 2009: 117-123, 2009.

        Luís Pedro, Matteo Risoldi, Didier Buchs, Bruno Barroca, Vasco Amaral. “Composing Visual Syntax for Domain Specific Languages”. Julie A. Jacko (Ed.): Human-Computer Interaction. Novel Interaction Methods and Techniques, 13th International Conference, HCI International 2009, Lecture Notes in Computer Science 5611 Springer 2009, ISBN 978-3-642-02576-1 , San Diego, CA, USA, July 19-24, p.p. 889-898, 2009.

        Carlos Nunes, João Araújo, Vasco Amaral, Carla T. L. L. Silva.”A Domain Specific Language for the I* Framework”. ICEIS (1) 2009: 158-163, 2009.

        Technical Reports

        • Topic 4

          Events Organization


          “Concepts for Model Transformation”, MPM-Multiparadigm Modeling Workshop at MODELS 2009, Denver, Colorado, EUA;

          “Engenharia Conduzida por Modelos” na conferência nacional Inforum’ 09, FC/UL, Lisboa, 2009;

          “Rapid User Interface Prototyping - RUIP” HCI International Conference, San Diego, California, EUA, 2009;

          "Workshop on Early Aspects", AOSD'10 Conference, Rennes, France, March 2010.


          MPM - 4th Workshop on Multi-Paradigm Modeling at Models 2010

          “Engenharia Conduzida por Modelos” at Inforum’ 09, FC/UL, Braga, 2010;

          • Topic 5

            Tools (Downloads)

            • Topic 6


              Lancaster University, UK
              SMV group, University of Geneva, Switzerland
              Darmstadt University of Technology, Germany ARMINES and Ecole des Mines de Nantes, France
              University of Twente, The Netherlands Universidad de Malaga, Spain
              HOLOS, Portugal SAP AG, Germany

              YDReams, Portugal
              Siemens AG, Germany

              • Topic 8

                Invited Talks/Seminars by SOLAR

                SESAME - A Model-driven Process for the Test Selection of Small-size Safety-related Embedded Software
                Gilles Perrouin (Université du Luxembourg)
                27 Jan 2010, Software Engineering

                Model-Driven Engineering at work: Multi-Paradigm Modelling
                Hans Vangheluwe (School of Computer Science, McGill University)
                13 Jan 2010, Software Engineering

                DSL Composition for model-based test generation
                Levi Silva Lúcio (CITI)
                14 Oct 2009, Programming Languages and Models

                Semantic-Based and Syntactic-Based Feature Interactions in Aspect-oriented Models
                Gunter Mussbacher (University of Ottawa)
                9 Jun 2009, Software Engineering

                Integrating MATA mechanisms to requirements approaches
                João Araújo
                29 Apr 2009, Software Engineering
                • Topic 9

                  Thesis at SOLAR



                  • Bruno Barroca, “An MDD approach for design and integration of robust model-based applications with component-based platforms”, Supervisor: Vasco Amaral;

                  • João Santos, “”, Supervisors: João Araújo, Ana Moreira;

                  • Jorge Barreiros,“Managing Features and Aspect Interactions in Software Product Lines”, Ana Moreira;

                  • Maurício, “Model-Driven Requirements Composition in Software Product Line Engineering”, Supervisor: Ana Moreira, Vasco Amaral;



                  • Rui Domingues, “Test Selection from Algebraic Petri Nets: an operational method and a tool”, DI FCT/UNL, [ ongoing ];
                  • Pedro Gabriel,“Software Languages Engineering: Experimental Evaluation”, [ ongoing ];
                  • Pedro Miguel Beja Patrício, “Unificação de linguagens orientadas a objectivos: o caso do i* e o KAOS”, [ ongoing ];
                  • Ana Rita Oliveira, “Uma Linguagem de Domínio Específico para AORE”, [ ongoing ];
                  • Catarina Gomes, “Conflict management of Non-functional concerns in SPL”, [ ongoing ];
                  • António Costa, "Um modelo de apoio à pesquisa e escolha de plugins", [ ongoing ].


                  • Rui Monteiro, “Engenharia de Requisitos Orientada a Modelos: O Caso das Abordagens Orientadas a Objectivos”, [23/3/2010];
                  • Ricardo Guerreiro, “A DSML for Specification of Ubiquitous Games”, [ 7/4/2010 ];

                  • Ricardo João Dias Mateus,‘Building a Domain Specific Query Language for the AMPLE Traceability Framework (ATF)”, [9/4/2010]

                  • Roberto Félix,‘”DSL Translator - Ferramenta para Transformação de Modelos", [9/4/2010]


                  • Ana Cristina de Freitas Dias, “Towards a DSL based on KAOS goal and agentoriented paradigms”, DI FCT/UNL, [ 3/4/2009 ];
                  • Carlos Miguel Marques Martins Simões Nunes, “Uma Linguagem de Domínio Específico para a Framework i*”, DI FCT/UNL, [ 1/4/2009 ];
                  • Vasco Sousa, “BATIC3S - Modeling Control Systems’ Interfaces (DSL Editors and Model Transformation)”, DI FCT/UNL, [ 24/4/2009 ];
                  • Pedro Ricardo dos Santos Calado, “Specifying Adaptivity rules for building user interfaces for complex Control Systems”, DI FCT/UNL, [ 20/5/2009 ];
                  • André da Fonseca Rosa , “Designing a DSL solution for the domain of Augmented Reality Software applications Specification”, DI FCT/UNL, [ 1/6/2009 ];
                  • João Carlos Tanganho de Sousa, “Run-time for parallel execution of domain specific languages (DSL)” , DI FCT/UNL, [ 20/10/2009 ];


                  • João Marques, “Paving the way from Requirements to Architecture: From AORA to an improved AspectualACME”, DI FCT/UNL, [ 27/10/2008 ];
                  • André Sousa ,“Traceability Support in Software Product Lines”, DI FCT/UNL, [21/11/2008];


                  Pool of Project Proposals



                  • Topic 10


                    BSc. Courses

                    Métodos de Desenvolvimento de Software

                    MSc. Courses

                    Engenharia de Requisitos e Desenvolvimento de Software

                    Linguagens de Domínios Específicos / Domain Specific Languages

                    Arquitecturas de Software / Software Architectures

                    PhD. Courses

                    Advanced Software Development