Miguel Goulão
Universidade Nova de Lisboa
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Miguel Goulão.
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.
computer software and applications conference | 2002
Miguel Goulão; F. Brito e Abreu
Component based software development is becoming more generalized, representing a considerable market for the software industry. The perspective of reduced development costs and shorter life cycles acts as a motivation for this expansion. However, several technical issues remain unsolved before the software components industry reaches the maturity exhibited by other component industries. Problems such as the component selection by their integrators, the component catalogs formalization and the uncertain quality of third-party developed components, bring new challenges to the software engineering community. This paper presents an overview of the current research efforts on software components, from a quality assessment perspective. The emerging of empirical component based software engineering practices, to complement the current research trends with a more effective component quality and complexity evaluation, is perceived as a research area that will become very active in a near future.
software engineering and advanced applications | 2005
Miguel Goulão; Fernando Brito e Abreu
The objective of this paper is the formal definition of composition assessment metrics for CBSE, using an extension of the CORBA component model metamodel as the ontology for describing component assemblies. The method used is the representation of a component assembly as an instantiation of the extended CORBA component model metamodel. The resulting meta-objects diagram can then be traversed using object constraint language clauses. These clauses are a formal and executable definition of the metrics that can be used to assess quality attributes from the assembly and its constituent components. The result is the formal definition of context-dependent metrics that cover the different composition mechanisms provided by the CORBA component model and can be used to compare alternative component assemblies; a metamodel extension to capture the topology of component assemblies. The conclusion is that providing a formal and executable definition of metrics for CORBA component assemblies is an enabling precondition to allow for independent scrutiny of such metrics which is, in turn, essential to increase practitioners confidence on predictable quality attributes.
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.
conference on advanced information systems engineering | 2013
Patrícia Espada; Miguel Goulão; João Araújo
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 incomplete and/or complex goal models, which are difficult to understand and change. This may lead to an increase in costs of product development and evolution. Thus, for large-scale systems, the effective management of complexity and completeness of goal models is vital. In this paper, we propose a metrics framework for supporting the quantitative assessment of complexity and completeness of KAOS goal models. Those metrics are formally specified, implemented and incorporated in a KAOS modeling tool. We validate the metrics with a set of real-world case studies and discuss the identified recurring modeling practices.
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.
quality of information and communications technology | 2007
Miguel Goulão; F. Brito e Abreu
Reviews on software engineering literature have shown an insufficient experimental validation of claims, when compared to the standard practice in other well-established sciences. Poor validation of software engineering claims increases the risks of introducing changes in the software process of an organization, as the potential benefits assessment is based on hype, rather than on facts. The community lacks highly disseminated experimental best practices. We contribute with a model of the experimental software engineering process that is aligned with recent proposals for best practices in experimental data dissemination. The model can be used in the definition of software engineering experiments and in comparisons among experimental results.
international conference on quality software | 2005
Miguel Goulão; Fernando Brito e Abreu
Objective: In this paper, we present a formalization of the definition of metrics to assess quality attributes of CORBA components and assemblies. The focus is on the formalization technique, rather than on the evaluation of the metrics themselves. Method: We represent a component assembly as an instantiation of the CORBA Component Model metamodel. The resulting meta-object diagram can then be traversed using Object Constraint Language clauses. With these clauses, we construct a formal and executable definition of the metrics. Results: We demonstrate the expressiveness of our technique by formally de fining metrics proposed informally by several authors on different aspects of components and assemblies’ quality attributes. Conclusion: Providing a formal and executable definition of metrics for CORBA components and assemblies is an enabling precondition to allow for independent scrutiny of such metrics, which is, in turn, essential to increase practitioners’ confidence on predictable quality attributes.