Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by João Alexandre Saraiva

2012

A Purely Functional Combinator Language for Software Quality Assessment

Authors
Martins, P; Fernandes, JP; Saraiva, J;

Publication
1st Symposium on Languages, Applications and Technologies, SLATE 2012, Braga, Portugal, June 21-22, 2012

Abstract
Quality assessment of open source software is becoming an important and active research area. One of the reasons for this recent interest is the consequence of Internet popularity. Nowadays, programming also involves looking for the large set of open source libraries and tools that may be reused when developing our software applications. In order to reuse such open source software artifacts, programmers not only need the guarantee that the reused artifact is certified, but also that independently developed artifacts can be easily combined into a coherent piece of software. In this paper we describe a domain specific language that allows programmers to describe in an abstract level how software artifacts can be combined into powerful software certification processes. This domain specific language is the building block of a web-based, open-source software certification portal. This paper introduces the embedding of such domain specific language as combinator library written in the Haskell programming language. The semantics of this language is expressed via attribute grammars that are embedded in Haskell, which provide a modular and incremental setting to define the combination of software artifacts.

2003

Preface

Authors
Bryant, BR; Saraiva, J;

Publication
Electr. Notes Theor. Comput. Sci.

Abstract

2007

XIS - UML profile for eXtreme modeling interactive systems

Authors
Da Silva, AR; Saraiva, J; Silva, R; Martins, C;

Publication
Proceedings - Fourth International Workshop on Model-Based Methodologies for Pervasive and Embedded Software, MOMPES 2007

Abstract
The first version of the XIS profile addressed the development of interactive systems by defining models oriented only towards how the system should perform tasks. However, issues such as user-interface layouts, or the capture of interaction patterns, were not addressed by the profile, but only by the source-code generation process. This originated systems that, although functional, were considered by end-users as "difficult to use". In this paper we present the second version of the XIS UML profile, which is now a crucial component of the ProjectIT research project. This profile follows the "separation of concerns" principle by proposing an integrated set of views that address the various issues detected with the previous version of XIS. In addition, this profile also promotes the usage of extreme modeling, by relying on the extensive use of model-to-model transformation templates that are defined to accelerate the model development tasks. © 2007 IEEE.

1999

Designing and implementing combinator languages

Authors
Swierstra, SD; Alcocer, PRA; Saraiva, J;

Publication
ADVANCED FUNCTIONAL PROGRAMMING

Abstract

1998

Lrc - A generator for incremental language-oriented tools

Authors
Kuiper, M; Saraiva, J;

Publication
COMPILER CONSTRUCTION

Abstract

2002

Component-based programming for higher-order attribute grammars

Authors
Saraiva, J;

Publication
GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING, PROCEEDINGS

Abstract
This paper presents techniques for a component-based style of programming in the context of higher-oder attribute grammars (HAG). Attribute grammar components are "plugged in" into larger attribute grammar systems through higher-order attribute grammars. Higher-order attributes are used as (intermediate) "gluing" data structures. This paper also presents two attribute grammar components that can be re-used across different language-based tool specifications: a visualizer and animator of programs and a graphical user interface AG component. Both components are reused in the definition of a simple language processor. The techniques presented in this paper are implemented in LRC: a purely functional, higher-order attribute grammar-based system that generates language-based tools.

  • 15
  • 28