2005
Autores
Correia, A; Sousa, A; Soares, L; Pereira, J; Moura, F; Oliveira, R;
Publicação
DEPENDABLE COMPUTING, PROCEEDINGS
Abstract
Several techniques for database replication using group communication have recently been proposed, namely, the Database State Machine, PostgresR, and the NODO protocol. Although all rely on a totally ordered multicast for consistency, they differ substantially on how multicast is used. This results in different performance trade-offs which are hard to compare as each protocol is presented using a different load scenario and evaluation method. In this paper we evaluate the suitability of such protocols for replication of On-Line Transaction Processing (OLTP) applications in clusters of servers and over wide area networks. This is achieved by implementing them using a common infra-structure and by using a standard workload. The results allows us to select the best protocol regarding performance and scalability in a demanding but realistic usage scenario.
2005
Autores
Barbosa, A; Cunha, A; Pinto, JS;
Publicação
ACM SIGPLAN NOTICES
Abstract
This paper explores sonic ideas concerning the time-analysis of functional programs defined by instantiating typical recursion patterns such as folds, unfolds. and hylomorphisms. The concepts in this paper are illustrated through a rich set of examples in the Haskell programming language. We concentrate on unfolds and folds (also known as anamorphisms and catamorphisms respectively) of recursively defined types, as well as the more general hylomorphism pattern. For the latter, we use as case-studies two famous sorting algorithms, mergesort and quicksort. Even though time analysis is not compositional, we argue that splitting functions to expose the explicit construction of the recursion tree and its later consumption helps with this analysis.
2005
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
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
Autores
Campos, JC; Harrison, MD;
Publicação
Encyclopedia of Human Computer Interaction
Abstract
2005
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.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.