Publications

Export 7 results:
Sort by: Author Title Type [ Year  (Desc)]
2014
Machado, R., M. Goulão, F. B. e Abreu, and J. Pascoal Faria, "Introduction to Special Issue: Quality in Information and Communications Technology", Innovations in Systems and Software Engineering, vol. 10, issue 1, pp. 1-2, 2014. machado2014isse.pdfWebsite
2013
Monteiro, R., J. Araújo, V. Amaral, M. Goulão, and P. Patrício, "Adding Interoperability to Requirements Models", Software Quality Professional Journal, vol. 15, issue 4, pp. 16-27, 2013. Abstract

(c) American Society for Quality

sqpv15i4monteiro.pdfWebsite

Complex software systems inherently require a variety of models used in all of the development stages. A general concern is to guarantee consistency and traceability among these models. Model-driven development (MDD) can help tackle this concern. Although MDD has been mainly used in later development stages, it is relatively unexplored in requirements engineering. In this article, the authors discuss how to
leverage MDD to support consistency and traceability in requirements modeling. To illustrate this, they apply MDD to goaloriented requirements engineering (GORE) by making bidirectional mappings between two well-known GORE approaches (i* and KAOS). The result is an interoperable framework that can be used to migrate from one goal model to another through automatic model transformations, keeping consistency and traceability, so requirements engineers can make the best use of each approach.

2012
Barišić, A., P. Monteiro, V. Amaral, M. Goulão, and M. Pessoa Monteiro, "Patterns for Evaluating Usability of Domain-Specific Languages", Proceedings of the Pattern Languages of Programs Conference, PLoP 2012: ACM, 19-21 October, 2012. Abstract

http://hillside.net/plop/2012/papers/Group%203%20-%20Coyote/Patterns%20for%20Evaluating%20Usability%20of%20Domain-Specific%20Languages.pdf

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. On Domain Specific Languages the inclusion of the
domain experts directly in the development cycle is a very important characteristic, as they have
often an important role in making and constraining the domain of the language.
DSLs are credited with increased productivity and ease of use, but this fact is hardly ever proven.
Moreover, usability tests are frequently only performed at the final stages of the project when
changes have a significant impact on the budget. To help prevent this, in this paper we present a
pattern language for evaluating the usability of DSLs. Our patterns can help show how to use an
iterative usability validation development strategy to produce DSLs that can achieve a high
degree of usability.

Monteiro, R., J. Araújo, V. Amaral, M. Goulão, and P. Patrício, "Model-Driven Development for Requirements Engineering: The Case of Goal-Oriented Approaches", 8th International Conference on the Quality of Information and Communications Technology (QUATIC 2012), Lisbon, Portugal, IEEE CPS, 2012. Abstractquatic2012-full-crmg.pdf

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 argue that it would be useful to relate them or even perform transformations among them automatically, in order to understand their similarities and differences, their advantages and disadvantages, allowing a possible migration or comparison between approaches. This is something that has not received enough attention. In this paper
we propose the definition and implementation of goal model transformations between i* and KAOS. As an immediate contribution, the approach can be used to migrate from one goal model to another through automatic model transformations. This approach also contributes to relate the concepts of i* and KAOS models and will help, for example, a development team in making the decision on which approach to follow, according to the nature of the project and the expressiveness of an approach to represent certain concepts
(e.g., obstacles are represented explicitly in KAOS, but not in i*). Another contribution is to facilitate communication among members of the same team, if they are specialized in different approaches.

2010
Santos, J. P., A. Moreira, J. Araújo, and M. Goulão, "Increasing Quality in Scenario Modelling with Model-Driven Development", 7th International Conference on the Quality of Information and Communications Technology (QUATIC'2010), Porto, Portugal, IEEE Computer Society, pp. 204-209, 29 Sep.-2 Oct., 2010. Abstract

http://dx.doi.org/10.1109/QUATIC.2010.36

santos_et_al_quatic2010.pdf

Models, with different levels of detail, share similar abstractions that can be reused by means of model-driven techniques such as transformations. For example, scenarios are a well-known technique in requirements engineering to represent behavioral flows in a software system. When using UML, scenarios are typically represented with activity models in the early stages of software development, while sequence models are used to describe more detailed object interactions as modeling progresses. This paper defines transformation rules to automate the migration from activity to sequence models. We present a case study illustrating the application of our transformation rules. Our preliminary assessment of the impact of the benefits of using these transformations points to: (i) a reduction of around 50% in the effort building sequence models, (ii) increased trace ability among models, and (iii) error prevention when migrating from different scenario notations.

Lima, A., M. Goulão, and M. Pessoa Monteiro, "Evidence-Based Comparison of Modularity Support Between Java and Object Teams", Empirical Evaluation of Software Composition Techniques (ESCOT 2010), at 9th International Conference on Aspect-Oriented Software Development (AOSD'2010), Rennes and Saint Malo, France, 2010. Abstract

http://www.comp.lancs.ac.uk/~greenwop/escot10/escot10_submission_9.pdf

lima2010escotfinal.pdf

Background: Aspect-oriented programming (AOP) is an
emerging programming paradigm whose focus is about improving
modularity, with an emphasis on the modularization of
crosscutting concerns.

Objective: The goal of this paper is to assess the extent to which
an AOP language – ObjectTeams/Java (OT/J) – improves the
modularity of a software system. This improvement has been
claimed but, to the best of our knowledge, this paper is the first
attempting to present quantitative evidence of it.

Method: We compare functionally-equivalent implementations of
the Gang-of-Four design patterns, developed in Java and OT/J,
using software metrics.

Results: The results of our comparison support the modularity
improvement claims made in the literature. For six of the seven
metrics used, the OT/J versions of the patterns obtained
significantly better results.

Limitations: This work uses a set of metrics originally defined
for object-oriented (OO) systems. It may be the case that the
metrics are biased, in that they were created in the context of OO
programming (OOP), before the advent of AOP. We consider this
comparison a stepping stone as, ultimately, we plan to assess the
modularity improvements with paradigm independent metrics,
which will conceivably eliminate the bias. Each individual
example from the sample used in this paper is small. In future, we
plan to replicate this experiment using larger systems, where the
benefits of AOP may be more noticeable.

Conclusion: This work contributes with evidence to fill gaps in
the body of quantitative results supporting alleged benefits to
software modularity brought by AOP languages, namely OT/J.

2002
Goulão, M., and F. B. Abreu, "From Objects to Components - A Quantitative Experiment", 6th International Workshop on Quantitative Approaches in Object-Oriented Software Engineering QAOOSE'2002, Málaga, Spain, 2002. Abstract

n/a

n/a