2007
Authors
Fernandes, JP; Pardo, A; Saraiva, J;
Publication
HASKELL'07: PROCEEDINGS OF THE ACM SIGPLAN 2007 HASKELL WORKSHOP
Abstract
Circular programs are a powerful technique to express multiple traversal algorithms as a single traversal function in a lazy setting. In this paper, we present a shortcut deforestation technique to calculate circular programs. The technique we propose takes as input the composition of two functions, such that the first builds an intermediate structure and some additional context information which are then processed by the second one, to produce the final result. Our transformation into circular programs achieves intermediate structure deforestation and multiple traversal elimination. Furthermore, the calculated programs preserve the termination properties of the original ones.
2007
Authors
Fernandes, JP; Saraiva, J;
Publication
Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation
Abstract
This paper presents techniques to model circular lazy programs in a strict, purely functional setting. Circular lazy programs model any algorithm based on multiple traversals over a recursive data structure as a single traversal function. Such elegant and concise circular programs are defined in a (strict or lazy) functional language and they are transformed into efficient strict and deforested, multiple traversal programs by using attribute grammars-based techniques. Moreover, we use standard slicing techniques to slice such circular lazy programs. We have expressed these transformations as an Haskell library and two tools have been constructed: the HaCirc tool that refactors Haskell lazy circular programs into strict ones, and the OCirc tool that extends Ocaml with circular definitions allowing programmers to write circular programs in Ocaml notation, which are transformed into strict Ocaml programs before they are executed. The first benchmarks of the different implementations are presented and show that for algorithms relying on a large number of traversals the resulting strict, deforested programs are more efficient than the lazy ones, both in terms of runtime and memory consumption. Copyright © 2007 ACM.
2007
Authors
Bryant, BR; Saraiva, J;
Publication
SCIENCE OF COMPUTER PROGRAMMING
Abstract
2007
Authors
da Silva, AR; Saraiva, J; Ferreira, D; Silva, R; Videira, C;
Publication
IET SOFTWARE
Abstract
The suggestion that in software development projects the emphasis must be on the project management (RE), requirements engineering, and design activities, and consequently efforts in production activities - such as traditional software programming and testing - should be minimised and performed as automatically as possible is discussed. The ProjectIT approach that integrates contributions from the RE and model-driven engineering communities is also discussed. The goal with requirement specification is not just in managing textual specifications, but also to obtain a consistent requirements document that is in conformance with a domain-specific language, and that can be re-used to increase the design and development activities in the context of model driven and code generation techniques. Furthermore, the feasibility and benefits of this approach by presenting a proof-of-concept case study are discussed, in which the orchestration of the concepts and concrete components related with the ProjectIT approach, the PIT-RSL, XIS and PIT-TSL languages and the ProjectIT-Studio CASE tool is emphasised. A practical demonstration of the approach including the description of the system requirements, the design of the system, the use of code generation techniques, and how they integrate to improve and accelerate the software engineering lifecycle is presented.
2007
Authors
Bigonha, RS; Musicante, MA; Pardo, A; Garcia, A; Martini, A; Moreira, AF; De Melo, ACV; Du Bois, AR; Santos, A; Camarao, C; Rubira, C; Braga, C; Naumann, D; Haeusler, EH; De Carvalho Junior, FH; Cafezeiro, I; Palsberg, J; Jeuring, J; Saraiva, J; Guimaraes, J; Labra, J; Fiadeiro, JL; Figueiredo, L; Barbosa, LS; Menezes, LC; Maia, M; De Valente, MTO; Bigonha, MAS; Benton, N; Rodriguez, N; Borba, P; Mosses, PD; Lins, RD; Cerqueira, R; Lima, RM; Ierusalimschy, R; Rigo, S; De Schneider, SM; Soares, S; Dascalu, S; Thompson, S; Vene, V; Costa, V; Iorio, VD;
Publication
JOURNAL OF UNIVERSAL COMPUTER SCIENCE
Abstract
2007
Authors
Pinto, H; Jose, R; Campos, JC;
Publication
2007 IEEE INTERNATIONAL CONFERENCE ON PERVASIVE SERVICES
Abstract
This paper presents an interaction model for pervasive computing environments supporting localized activities, i.e., activities strongly associated to a specific physical environment. We are particularly interested in activities performed by occasional visitors to public spaces. This interaction model is characterized by an activity-centered approach to pervasive computing and is defined in a conceptual model inspired by Activity Theory. ActivitySpot, a software infrastructure implementing this conceptual model, is also presented. User interaction in ActivitySpot is based on simple, everyday pervasive computing devices, which facilitates usage learning and allows for a wide user population. ActivitySpot has supported the deployment of several pervasive computing solutions for localized activities. Our conceptual model has been evaluated by user studies run at different public spaces and global results demonstrate the model's suitability to the targeted type of scenario.
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.