Doctoral Thesis Defense - Rui Miguel Silva Couto

Tuesday, June 20, 2017, 10:00am


Title: Pattern Based Software Development

Abstract: Several types of approaches support the software development process. Special interest should be paid to model driven development methodologies, of which Model Driven Architecture (MDA) is a main example. The usage of software models in these methodologies improves the quality of the produced solutions. On the one hand, models are formal artifacts to represent the software to develop. On the other hand, models represented in computable formats are amenable to the application of systematic transformation techniques, in order to produce other models or source code as output.

The architectural models used in the MDA are derived from requirement specifications, and are achieved through manual processes. The negative e↵ ects of manual transformation steps are well known, since they are susceptible to interpretation errors and subjectivity. Errors resulting from this process are propagated through all of the development process, and reflected in the produced solutions. Since requirement models specify the system to be developed, naturally, they should not be disconnected from the development process itself.

Formalizing requirement specifications in computable formats would enable their operationalization. Such would provide the possibility to analyze and manipulate them, and also to perform a requirement patterns inference process. Requirement patterns represent well known solutions for recurring problems, and their nature provides architectural hints. If software patterns can be derived from the requirement patterns and, then through the composition of the resulting software patterns, architectural models can be achieved. As a result, requirement models should integrated into the MDA chain, thus extending the advantages of the MDA to requirement models, providing a software development process which starts from requirements and through rigorous transformations results in software solutions.

This work presents an approach that aims to provide such an integration of requirements models into the MDA. The approach starts with the formalization of software requirements in a controlled natural language. The requirements are then transformed into an intermediary representation (namely, an ontology), with support for information extraction. Such makes it possible to perform requirement pattern inference, in order to understand, at a higher level of abstraction, the features required in the software solution. Associating the requirement patterns with software patterns, it makes it possible to instantiate and compose such patterns, in order to produce architectural artifacts as output. The presented approach is supported by a tool, designed to support the several steps of the approach. Furthermore, the tool provides the required automation level to produce the architectural models. Two validation studies and a case study in the eCommerce domain are also presented, in order to illustrate the viability of both the tool and the approach.

Jury: - Rector of the University of Minho

         - Doctor Orlando Manuel Oliveira Belo, Associate Professor with Habilitation - Departamento de Informática da Escola de Engenharia da Universidade do Minho

         - Doctor João Carlos Pascoal Faria, Associate Professor - Departamento de Informática da Faculdade de Engenharia da Universidade do Porto

         - Doctor Hugo Alexandre Paredes Guedes da Silva, Assistant Professor - Agregação do Departamento de Engenharias da Escola de Ciências e Tecnologia da Universidade de Trás-os-Montes e Alto Douro

         - Doctor António Manuel Nestor Ribeiro, Assistant Professor - Departamento de Informática da Escola de Engenharia do Universidade do Minho

Location: Auditorium B2 - CPII - Campus de Gualtar - Universidade do Minho - Braga