Vasco Amaral
Universidade Nova de Lisboa
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Vasco Amaral.
model driven engineering languages and systems | 2010
Levi Lúcio; Bruno Barroca; Vasco Amaral
We present in this paper a technique for proving properties about model transformations. The properties we are concerned about relate the structure of an input model with the structure of the transformed model. The main highlight of our approach is that we are able to prove the properties for all models, i.e. the transformation designer may be certain about the structural soundness of the results of his/her transformations. In order to achieve this we have designed and experimented with a transformation model checker, which builds what we call a state space for a transformation. That state space is then used as in classical model checking to prove the property or, in case the property does not hold to produce a counterexample. If the property holds this information can be used as a certification for the transformation, otherwise the counterexample can be used as debug information during the transformation design process.
software language engineering | 2010
Bruno Barroca; Levi Lúcio; Vasco Amaral; Roberto Félix; Vasco Sousa
In this paper we present DSLTrans: a visual language and a tool for model transformations. We aim at tackling a couple of important challenges in model transformation languages -- transformation termination and confluence. The contribution of this paper is the proposition of a transformation language where all possible transformations are guaranteed to be terminating and confluent by construction. The resulting transformation language is simple, turing incomplete and includes transformation abstractions to support transformations in a software language engineering context. Our explanation of DSLTrans includes a complete formal description of our visual language and its properties.
software language engineering | 2009
Mauricio Alférez; João Pedro Santos; Ana Moreira; Alessandro Garcia; Uirá Kulesza; João Araújo; Vasco Amaral
Composition of requirements models in Software Product Line (SPL) development enables stakeholders to derive the requirements of target software products and, very important, to reason about them. Given the growing complexity of SPL development and the various stakeholders involved, their requirements are often specified from heterogeneous, partial views. However, existing requirements composition languages are very limited to generate specific requirements views for SPL products. They do not provide specialized composition rules for referencing and composing elements in recurring requirements models, such as use cases and activity models. This paper presents a multi-view composition language for SPL requirements, the Variability Modeling Language for Requirements (VML4RE). This language describes how requirements elements expressed in different models should be composed to generate a specific SPL product. The use of VML4RE is illustrated with UML-based requirements models defined for a home automation SPL case study. The language is evaluated with additional case studies from different application domains, such as mobile phones and sales management.
evaluation and usability of programming languages and tools | 2011
Ankica Barisic; Vasco Amaral; Miguel Goulão; Bruno Barroca
Domain-Specific Languages (DSLs) are claimed to increment productivity, while reducing the required maintenance and programming expertise. In this context, DSLs usability is a key factor for its successful adoption. In this paper, we propose a systematic approach based on User Interfaces Experimental validation techniques to assess the impact of the introduction of DSLs on the productivity of domain experts. To illustrate this evaluation approach we present a case study of a DSL for High Energy Physics (HEP). The DSL on this case study, called Pheasant (PHysicists EAsy Analysis Tool), is assessed in contrast with a pre-existing baseline, using General Purpose Languages (GPLs) such as C++. The comparison combines quantitative and qualitative data, collected with users from a real-world setting. Our assessment includes Physicists with programming experience with two profiles; ones with no experience with the previous framework used in the project and other experienced. This works contribution highlights the problem of the absence of systematic approaches for experimental validation of DSLs. It also illustrates how an experimental approach can be used in the context of a DSL evaluation during the Software Languages Engineering activity, with respect to its impact on effectiveness and efficiency.
quality of information and communications technology | 2012
Ankica Bariic; Vasco Amaral; Miguel Goulão
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 build in good usability while developing the DSL. The purpose of this proposal is to contribute to the systematic activity of Software Language Engineering by focusing on the issue of the Usability evaluation of DSLs. Usability evaluation is often skipped, relaxed, or at least omitted from papers reporting development of DSLs. We argue that a systematic approach based on User Interface experimental validation techniques should be used to assess the impact of new DSLs. For that purpose, we propose to merge common Usability evaluation processes with the DSL development process. In order to provide reliable metrics and tools we should reuse and identify good practices that exist in Human-Computer Interaction community.
Electronic Communication of The European Association of Software Science and Technology | 2012
Ankica Barisic; Vasco Amaral; Miguel Goulão; Bruno Barroca
Domain-Specific Languages (DSLs) are claimed to increase productivity, while reducing the required maintenance and programming expertise. In this context, DSL usability by domain experts is a key factor for its successful adoption. Evidence that support those improvement claims is mostly anecdotal. Our systematic literature review showed that a usability evaluation was often skipped, relaxed, or at least omitted from papers reporting the development of DSLs. The few exceptions mostly take place at the end of the development process where fixing problems identified is too expensive. We argue that a systematic approach based on User Interface experimental validation techniques should be used to assess the impact of the new DSLs. The rationale is that assessing important and specially tailored usability attributes for DSLs early in language construction will ultimately foster a higher productivity of the DSL users. This paper, besides discussing the quality criteria, proposes a development and evaluation process that can be used to achieve usable DSLs in a better way.
quality of information and communications technology | 2012
Rui Monteiro; João Araújo; Vasco Amaral; Miguel Goulão; Pedro Patrício
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.
Proceedings of the 2012 workshop on Domain-specific modeling | 2012
Eduardo Marques; Valter Balegas; Bruno Barroca; Ankica Barisic; Vasco Amaral
It is typical in the domain of digital games to have many development problems due to its increasing complexity. Those difficulties include: i)little code reuse in order to develop a cross-platform game; and ii)performing games verification through extensive and expensive tests. This of course results in low productivity in the development (evolution and maintenance) of game solutions. In this paper, we present a domain-specific language (DSL) for a Role-Playing Game (RPG) product lines, which was completely built using a software development technique driven by high level abstractions---called Model-Driven Development (MDD). Also, we discuss and demonstrate the several benefits of applying MDD in terms of rapid prototyping of cross-platform games, and their evaluation by means of static and dynamic verification of the games logic properties.
Computer Languages, Systems & Structures | 2018
Ankica Barisic; Vasco Amaral; Miguel Goulão
Abstract 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 can be too hard to adopt by its domain users. As such, Usability is one of the essential characteristics to mitigate this risk as it has an important impact on the productivity achieved by DSL users. The current state of practice in Software Language Engineering (SLE) neglects the Usability of DSLs. A pertinent research question in SLE is how to engineer Usability into DSLs systematically. We argue that a timely systematic approach based on User Interface experimental evaluation techniques should be used to assess the impact of DSLs during their development process, while the cost of fixing the usability problems is relatively small, when compared to fixing them at the end of the development process. For that purpose, we introduce a conceptual framework, called USE-ME, which supports the iterative incremental development process of DSLs concerning the issue of their Usability evaluation. We illustrate the feasibility of the approach on a case study of the development of a DSL meant for children to program robots.
ieee international conference on requirements engineering | 2015
David Ameller; Xavier Franch; Cristina Gómez; João Araújo; Richard Berntsson Svensson; Stefan Biffl; Jordi Cabot; Vittorio Cortellessa; Maya Daneva; Daniel Méndez Fernández; Ana Moreira; Henry Muccini; Antonio Vallecillo; Manuel Wimmer; Vasco Amaral; Hugo Brunelière; Loli Burgueño; Miguel Goulão; Bernhard Schätz; Sabine Teufl
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 reported to deal with NFRs (and they do it in a limited way). However, it is clear that NFRs need to be considered somehow in the final product of the MDD process. To better understand how NFRs are integrated into the existing MDD approaches, we have initiated the NFR4MDD project, a multi-national empirical study, based on interviews with companies working on MDD projects. Our project aims at surveying the state of the practice for this topic. In this paper, we summarize our research protocol and present the current status of our study. The discussion will focus on the peculiarities of our studys context and organization involving about 20 researchers from 8 European countries.