Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por HASLab

2005

Point-free program transformation

Autores
Cunha, A; Pinto, JS;

Publicação
FUNDAMENTA INFORMATICAE

Abstract
Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the introduction of accumulating parameters, can be implemented using calculation through the use of the fusion (or promotion) strategy. In this paper we revisit this transformation method, but, unlike most of the previous work on this subject, we adhere to a pure point-free calculus that emphasizes the advantages of equational reasoning. We focus on the accumulation strategy initially proposed by Bird, where the transformed programs are seen as higher-order folds calculated systematically from a specification. The machinery of the calculus is expanded with higher-order point-free operators that simplify the calculations. A substantial number of examples (both classic and new) are fully developed, and we introduce several shortcut optimization rules that capture typical transformation patterns.

2005

Editorial: Programming languages track

Autores
Jo, CH; Mernik, M; Bryant, BR; Ancona, M; Auguston, M; Cheung, SC; Debray, SK; Doh, KG; Gabbrielli, M; Harris, T; Heering, J; Jeffery, C; Johnstone, A; Leung, HF; Lins, RD; Logozzo, F; Martinez Lopez, PE; Meijer, E; Michaelson, G; Pareja Flores, C; Saraiva, J; Sloane, T; Wile, D; Winkler, J;

Publicação
Proceedings of the ACM Symposium on Applied Computing

Abstract

2005

Automated deduction and usability reasoning

Autores
Campos, JC; Harrison, MD;

Publicação
Encyclopedia of Human Computer Interaction

Abstract

2005

Strategic term rewriting and its application to a VDM-SL to SQL conversion

Autores
Alves, TL; Silva, PF; Visser, J; Oliveira, JN;

Publicação
FM 2005: FORMAL METHODS, PROCEEDINGS

Abstract
We constructed a tool, called VooDooM, which converts datatypes in VDM-SL into SQL relational data models. The conversion involves transformation of algebraic types to maps and products, and pointer introduction. The conversion is specified as a theory of refinement by calculation. The implementation technology is strategic term rewriting in Haskell, as supported by the Strafunski bundle. Due to these choices of theory and technology, the road from theory to practise is straightforward.

2005

From algebras to objects: Generation and composition

Autores
Cruz, AM; Barbosa, LS; Oliveira, JN;

Publicação
JOURNAL OF UNIVERSAL COMPUTER SCIENCE

Abstract
This paper addresses objectification, a formal specification technique which inspects the potential for object-orientation of a declarative model and brings the 'implicit objects' explicit. Criteria for such objectification are formalized and implemented in a runnable prototype tool which embeds VDM-SL into VDM++. The paper also includes a quick presentation of a (coinductive) calculus of such generated objects, framed as generalised Moore machines.

2005

Specifying software connectors

Autores
Barbosa, MA; Barbosa, LS;

Publicação
THEORETICAL ASPECTS OF COMPUTING - ICTAC 2004

Abstract
Orchestrating software components, often from independent suppliers, became a central concern in software construction. Actually, as relevant as components themselves, are the ways in which they can be put together to interact and cooperate in order to achieve some common goal. Such is the role of the so-called software connectors: external coordination devices which ensure the flow of data and enforce synchronization constraints within a component's network. This paper introduces a new model for software connectors, based on relations extended in time, which aims to provide support for light inter-component dependency and effective external control.

  • 239
  • 262