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 HASLab

2012

Relations as Executable Specifications: Taming Partiality and Non-determinism Using Invariants

Authors
Macedo, N; Pacheco, H; Cunha, A;

Publication
Relational and Algebraic Methods in Computer Science - 13th International Conference, RAMiCS 2012, Cambridge, UK, September 17-20, 2012. Proceedings

Abstract
The calculus of relations has been widely used in program specification and reasoning. It is very tempting to use such specifications as running prototypes of the desired program, but, even considering finite domains, the inherent partiality and non-determinism of relations makes this impractical and highly inefficient. To tame partiality we prescribe the usage of invariants, represented by coreflexives, to characterize the exact domains and codomains of relational specifications. Such invariants can be used as pre-condition checkers to avoid runtime errors. Moreover, we show how such invariants can be used to narrow the non-deterministic execution of relational specifications, making it viable for a relevant class of problems. In particular, we show how the proposed techniques can be applied to execute specifications of bidirectional transformations, a domain where partiality and non-determinism are paramount. © 2012 Springer-Verlag.

2012

Specifying UML Protocol State Machines in Alloy

Authors
Garis, AG; Paiva, ACR; Cunha, A; Riesco, D;

Publication
Integrated Formal Methods - 9th International Conference, IFM 2012, Pisa, Italy, June 18-21, 2012. Proceedings

Abstract
A UML Protocol State Machine (PSM) is a behavioral diagram for the specification of the external behavior of a class, interface or component. PSMs have been used in the software development process for different purposes, such as requirements analysis and testing. However, like other UML diagrams, they are often difficult to validate and verify, specially when combined with other artifacts, such as Object Constraint Language (OCL) specifications. This drawback can be overcome by application of an off-the-shelf formal method, namely one supporting automatic validation and verification. Among those, we have the increasingly popular Alloy, based on a simple relational flavor of first-order logic. This paper presents a model transformation from PSMs, optionally complemented with OCL specifications, to Alloy. Not only it enables automatic verification and validation of PSMs, but also a smooth integration of Alloy in current software development practices. © 2012 Springer-Verlag.

2012

Multifocal: A Strategic Bidirectional Transformation Language for XML Schemas

Authors
Pacheco, H; Cunha, A;

Publication
Theory and Practice of Model Transformations - 5th International Conference, ICMT 2012, Prague, Czech Republic, May 28-29, 2012. Proceedings

Abstract
Lenses are one of the most popular approaches to define bidirectional transformations between data models. However, writing a lens transformation typically implies describing the concrete steps that convert values in a source schema to values in a target schema. In contrast, many XML-based languages allow writing structure-shy programs that manipulate only specific parts of XML documents without having to specify the behavior for the remaining structure. In this paper, we propose a structure-shy bidirectional two-level transformation language for XML Schemas, that describes generic type-level transformations over schema representations coupled with value-level bidirectional lenses for document migration. When applying these two-level programs to particular schemas, we employ an existing algebraic rewrite system to optimize the automatically-generated lens transformations, and compile them into Haskell bidirectional executables. We discuss particular examples involving the generic evolution of recursive XML Schemas, and compare their performance gains over non-optimized definitions. © 2012 Springer-Verlag.

2012

Automatic Unbounded Verification of Alloy Specifications with Prover9

Authors
Macedo, Nuno; Cunha, Alcino;

Publication
CoRR

Abstract

2012

An integrated approach to develop professional and technical skills for informatics engineering students

Authors
Fernandes, JM; van Hattum Janssen, N; Ribeiro, AN; Fonte, V; Santos, LP; Sousa, P;

Publication
European Journal of Engineering Education

Abstract
Many of the current approaches used in teaching and learning in engineering education are not the most appropriate to prepare students for the challenges they will face in their professional careers. The active involvement of students in their learning process facilitates the development of the technical and professional competencies they need as professionals. This article describes the organisation and impact of a mini-conference and project work - the creation of a software product and its introduction in the market - aimed at the development of professional competencies in general and writing skills in particular. The course was evaluated by assessing the students' perception of the development of a number of professional competencies through a questionnaire completed by 125 students from two consecutive year groups. The results indicate that the project work and the mini-conference had a positive impact on students' perceptions of the development of professional competencies. © 2012 Copyright SEFI.

2012

Dreams

Authors
Proença, J; Clarke, D; de Vink, E; Arbab, F;

Publication
Proceedings of the 27th Annual ACM Symposium on Applied Computing - SAC '12

Abstract

  • 188
  • 262