Miguel Goulão

Miguel Goulão
Universidade NOVA de Lisboa | NOVA · Department of Informatics (DI)

PhD

About

119
Publications
21,002
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,055
Citations
Additional affiliations
September 1994 - September 1999
Inesc-ID
Position
  • Research Assistant
Universidade NOVA de Lisboa
Position
  • Professor (Associate)

Publications

Publications (119)
Article
Full-text available
Model-driven engineering (MDE) is believed to have a significant impact in software quality. However, researchers and practitioners may have a hard time locating consolidated evidence on this impact, as the available information is scattered in several different publications. Our goal is to aggregate consolidated findings on quality in MDE, facilit...
Article
Goal-oriented Requirements Engineering approaches have become popular in the Requirements Engineering community as they provide expressive modelling languages for requirements elicitation and analysis. However, as a common challenge, such approaches are still struggling when it comes to managing the accidental complexity of their models. Furthermor...
Conference Paper
Goal-oriented Requirements Engineering approaches have become popular in the Requirements Engineering community as they provide expressive model elements for requirements elicitation and analysis. However, as a common challenge, they are still struggling when it comes to managing the accidental complexity of their models. In this paper, we provide...
Article
Full-text available
KAOS is one of the most well-known goal-oriented requirements engineering approaches. Nevertheless, building large KAOS models sometimes results in incomplete and/or complex requirements models that are difficult to understand and maintain. These shortcomings often lead to an increase in costs of product development and evolution. Therefore, for la...
Article
Full-text available
Domain Specific Languages (DSLs) can contribute to increment productivity, while reducing the required maintenance and programming expertise. We hypothesize that Software Languages Engineering (SLE) developers consistently skip, or relax, Language Evaluation. Based on the experience of engineering other types of software products, we assume that th...
Chapter
Sustainability poses key challenges in software development for its complexity. Our goal is to contribute with a reusable sustainability software requirements catalog. We started by performing a systematic mapping to elicit and extract sustainability-related properties, and synthesized the results in feature models. Next we used iStar to model a mo...
Article
Full-text available
Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and projects that adopt Model-Driven Development (MDD) are no exception. Although several methods and techniques have been proposed to face this challenge, there is still little evidence on how NFRs are handled in MDD by practitioners. Knowing more about the s...
Article
Software development required for constructing multi-agent systems (MAS) usually becomes challenging and time-consuming due to the properties of autonomy, distributedness, and openness of these systems in addition to the complicated nature of internal agent behaviors and agent interactions. To facilitate MAS development, the researchers propose var...
Chapter
Full-text available
Intelligent agents are software components that can work autonomously and proactively to solve the problems collaboratively. To this end, they can behave in a cooperative manner and collaborate with other agents constituting systems called Multi-agent Systems (MAS). These systems have different perspectives such as the internal structure, plan, int...
Article
Full-text available
Context Research has shown gender differences in problem-solving, and gender biases in how software supports it. GenderMag has five problem-solving facets related to gender-inclusiveness: motivation for using software, information processing style, computer self-efficacy, attitude towards risk, and ways of learning new technology. Some facet values...
Article
Full-text available
Modelling languages are frequently extended to include new constructs to be used together with the original syntax. New constructs may be proposed by adding textual information, such as UML stereotypes, or by creating new graphical representations. Thus, these new symbols need to be expressive and proposed in a careful way to increase the extension...
Article
Please cite this article as: V. Amaral, B. Norberto and M. Goulão et al., Programming languages for data-Intensive HPC applications: A systematic mapping study, Parallel Computing, https://doi.org/10.1016/j.parco.2019.102584 A major challenge in modelling and simulation is the need to combine expertise in both software technologies and a given sci...
Preprint
Context: An inadequate requirements specification activity acts as a catalyst to other problems, such as low team productivity and difficulty in maintaining software. Although Agile Software Development (ASD) has grown in recent years, research pointed out several limitations concerning its requirements engineering activities, such as Software Requ...
Article
Context An inadequate requirements specification activity acts as a catalyst to other problems, such as low team productivity and difficulty in maintaining software. Although Agile Software Development (ASD) has grown in recent years, research pointed out several limitations concerning its requirements engineering activities, such as Software Requi...
Conference Paper
Full-text available
Context: A significant effort has been devoted to the design and implementation of various domain-specific modeling languages (DSMLs) for the software agents domain. Problem: Language usability is often tackled in an ad-hoc way, with the collection of anecdotal evidence supporting the process. However, usability plays an important role in the produ...
Chapter
Context: A significant effort has been devoted to the design and implementation of various domain-specific modeling languages (DSMLs) for the software agents domain.
Article
Context: Software architecture design creates and documents the high-level structure of a software system. Such structure, expressed in architectural models, comprises software elements, relations among them, and properties of these elements and relations. Existing software architecture methods offer ways to derive architectural models from require...
Preprint
Full-text available
Domain-Specific Languages (DSLs) are claimed to bring productivity gains, but the actual Return On Investment, considering development, adoption and evolution costs is often neglected when assessing those gains. Software Language Engineers lack clear guidelines to help in understanding the costs involved in engineering a DSL. In this paper, we aim...
Technical Report
Full-text available
COST IC1404 WG1 Deliverable WG1.1: State-of-the-art on Current Formalisms used in Cyber-Physical Systems Development
Conference Paper
Full-text available
Context: The "Physics of Notations" (PoN) supports a systematic improvement of the cognitive effectiveness of visual modelling languages. Problem: PoN focuses on the concrete syntax of a language, building on a predefined abstract syntax. We should also consider the abstract syntax of a language when developing efforts to improve it by choosing the...
Conference Paper
Context: The OutSystems Platform is a development environment composed of several DSLs, used to specify, quickly build and validate web and mobile applications. The DSLs allow users to model different perspectives such as interfaces and data models, define custom business logic and construct process models. Problem: The DSL for process modelling (B...
Chapter
Stakeholders without formal training in requirements modelling languages, such as KAOS, struggle to understand requirements specifications. The lack of semantic transparency of the KAOS goal model concrete syntax is perceived as a communication barrier between stakeholders and requirements engineers. We report on a series of related empirical exper...
Conference Paper
We use Grounded Theory to study the evolution of requirements practices of 16 software startups as they grow and introduce new products and services. These startups operate in a dynamic environment, with significant time and market pressure, and rarely have time for systematic requirements analysis. Our theory describes the evolution of practice al...
Conference Paper
Domain Specific Languages (DSLs) empower end-users to express software tasks that were traditionally developed by software engineers. DSLs allow users to express themselves in terms closer to the way they think about their problems, rather than in computational terms. However, conceiving a DSL with an adequate user experience for its end-users is n...
Article
Agile Software Development (ASD) has several limitations concerning its requirements engineering activities. Improving the quality of Software Requirements Specifications (SRSs) in ASD may help to gain a competitive advantage in the software industry. Based on the findings of a Systematic Mapping study, six industrial case studies in different cont...
Conference Paper
There is currently a lack of Requirements Engineering (RE) approaches applied to, or supporting, the development of a Domain-Specific Language (DSL) taking into account the environment in which it is to be used. We present a model-based RE approach to support DSL development with a focus on usability concerns. RDAL is a RE fragment language that ca...
Article
The adoption of Domain-Specific Languages (DSLs) is regarded as an approach to reduce the accidental complexity of software systems development. The availability of sophisticated language workbenches facilitates the development of DSLs making them increasingly more popular. The adoption of DSLs at large comes at the risk that a poorly designed DSL...
Conference Paper
Full-text available
Cloud Computing gets increasingly established in industrial practice as an option for modelling cost-efficient and demand-oriented information systems. Despite the increasing acceptance of cloud computing within the industry, many important questions remain unanswered. Issues related to the best software architectures decisions for cloud-based syst...
Conference Paper
Full-text available
The agile manifesto highlights a frequent communication with the customer to detail his/her needs and to validate the software requirements through frequent software deliveries. So, the agile methods treat the Software Requirements Specification (SRS) differently from the traditional development methods. User stories are one of the most widely used...
Data
We report on the pilot assessment of the feasibility of the USE-ME tool with master students in computer science which were involved into a DSL course. In total there were four groups consisted of two or three participants which were developing the following DSLs: DSL Spreadsheets - a DSL transforms an activity graph into a Gantt chart. The target...
Conference Paper
Requirements documents and models need to be used by many stakeholders with different technological proficiency, during software development. Each stakeholder may need to understand the entire (or simply part of the) requirements artifacts. To empower those stakeholders, views of the requirements should be configurable to their particular needs. In...
Conference Paper
Full-text available
The quality of Software Requirements Specifications (SRS) is important to gain a competitive advantage in the software industry. Although the use of agile methods has grown in recent years, empirical studies conducted in industry identified several problems related to SRS in the context of agile projects. The goal of this study is to investigate th...
Article
Software reuse is a broadly accepted practice to improve software development quality and productivity. Although an object of study in software engineering since the late sixties, achieving effective reuse remains challenging for many software development organizations. This paper reports a systematic mapping study on how reusability relates to oth...
Research
Full-text available
"Track 2: Experimental Software Engineering Latin America Workshop (ESELAW 2015): Preface", Proceedings of CIbSE 2015, Lima, Peru, April, 2015
Conference Paper
The usability of requirements engineering (RE) techniques has been recognised as a key factor for their successful adoption by industry. RE techniques must be accessible to stakeholders with different backgrounds, so they can be empowered to effectively and efficiently contribute to building successful systems. When selecting an appropriate require...
Technical Report
Full-text available
In order to successfully implement Domain-Specific Languages (DSLs), it is needed to systematically define and to support its development process; namely its Evaluation and the Domain Analysis phase. For that purpose, the studies were systematically selected from the most relevant venues that focus on the implementation of DSLs, in order to get ins...
Conference Paper
Full-text available
Model-Driven Development (MDD) is no longer a novel development paradigm. It has become mature from a research perspective and recent studies show its adoption in industry. Still, some issues remain a challenge. Among them, we are interested in the treatment of non-functional requirements (NFRs) in MDD processes. Very few MDD approaches have been r...
Conference Paper
Full-text available
Domain-Specific Languages (DSLs) developers aim to nar- row the gap between the level of abstraction used by domain users and the one provided by the DSL, in order to help taming the increased complexity of computer systems and real-world problems. The quality in use of a DSL is essential for its successful adoption. We illustrate how a usability e...
Article
Software design problems are known and perceived under many different terms, such as code smells, flaws, non-compliance to design principles, violation of heuristics, excessive metric values and anti-patterns, signifying the importance of handling them ...
Chapter
Domain-Specific Languages (DSLs) can be regarded as User Interfaces (UIs) because they bridge the gap between the domain experts and the computation platforms. Usability of DSLs by domain experts is a key factor for their successful adoption. The few reports supporting improvement claims are persuasive, but mostly anecdotal. Systematic literature r...
Article
A rapidly changing market leads to software systems with highly volatile requirements. In many cases, new demands in software can often be met by extending the functionality of systems already in operation. By modularizing volatile requirements that can be altered at the client's initiative or according to market demands, we can build a stepping-st...
Conference Paper
Full-text available
Goal-Oriented Requirements Engineering (GORE) approaches have been developed to facilitate the requirements engineers work by, for example, providing abstraction mechanisms to help eliciting and modeling requirements. One of the well-established GORE approaches is KAOS. Nevertheless, in large-scale systems building KAOS models may result in incompl...
Article
Full-text available
The development of web applications that manipulate geo-referenced information is often supported by Application Programming Interfaces (APIs), al-lowing a fast development cycle for high quality applications. APIs can be used by programmers with different expertise levels and choosing an adequate API may have a dramatic impact on the productivity...
Conference Paper
Feature Models are commonly used to specify commonalities and variabilities in Software Product Lines (SPL). Our goal is to enhance feature modeling with traceability and improved support for crosscutting concerns. While traceability will show the features' requirement-origins, providing means to reason about their existence, crosscutting concerns...
Conference Paper
Full-text available
Domain-Specific Languages (DSLs) are claimed to bring important productivity improvements to developers, when compared to General-Purpose Languages (GPLs). The increased Usability is regarded as one of the key benefits of DSLs when compared to GPLs, and has an important impact on the achieved productivity of the DSL users. So, it is essential to bu...
Article
Full-text available
Goal-Oriented Requirements Engineering (GORE) has received increasing attention over the past few years. There are several goal-oriented approaches, each one using different kinds of models. We believe that it would be useful to relate them or even perform transformations among them automatically, in order to understand their similarities and diffe...
Conference Paper
Full-text available
The Fourth edition of the Portuguese Software Engineering Doctoral Symposium (SEDES 2012) was held on 3 September 2012 in Lisbon, colocated with the QUATIC 2012 conference. The aim of this symposium is to bring together software engineering PhD students supervised or co-supervised by faculty members of Portuguese universities in a constructive envi...
Conference Paper
Full-text available
Prediction models of software change requests are useful for supporting rational and timely resource allocation to the evolution process. In this paper we use a time series forecasting model to predict software maintenance and evolution requests in an open source software project (Eclipse), as an example of projects with seasonal release cycles. We...
Data
This archive contains the data and output files used in the model comparison presented in the paper: Miguel Goulão, Nelson Fonte, Michel Wermelinger and Fernando Brito e Abreu. "Software Evolution Prediction Using Seasonal Time Analysis: a Comparative Study", Proceedings of the 16th European Conference on Software Maintenance and Reengineering (CS...
Conference Paper
Full-text available
For years the development of software artifacts was the sole domain of developers and project managers. However, experience has taught us that the users play a very important role in software development and construction. The inclusion of the Domain Experts directly in the development cycle is a very important characteristic of Domain-Specific Lang...
Chapter
Full-text available
Domain-Specific Languages (DSLs) can be regarded as User Interfaces (UIs) because they bridge the gap between the domain experts and the computation platforms. Usability of DSLs by domain experts is a key factor for their successful adoption. The few reports supporting improvement claims are persuasive, but mostly anecdotal. Systematic literature r...
Article
Full-text available
Domain-Specific Languages (DSLs) are claimed to increase productivity,while reducing the required maintenance and programming expertise. In thiscontext, DSL usability by domain experts is a key factor for its successfuladoption. Evidence that support those improvement claims is mostly anecdotal. Oursystematic literature review showed that a usabili...