Cunha, Jácome, João Saraiva, and Joost Visser. "
From Spreadsheets to Relational Databases and Back."
Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. PEPM '09. New York, NY, USA: ACM, 2009. 179-188.
AbstractThis paper presents techniques and tools to transform spreadsheets into relational databases and back. A set of data refinement rules is introduced to map a tabular datatype into a relational database schema. Having expressed the transformation of the two data models as data refinements, we obtain for free the functions that migrate the data. We use well-known relational database techniques to optimize and query the data. Because data refinements define bidirectional transformations we can map such database back to an optimized spreadsheet. We have implemented the data refinement rules and we have constructed tools to manipulate, optimize and refactor Excel-like spreadsheets.
Chambel, Pedro, and Fernanda Barbosa Improving Similarity Search in Face-Images Data. In Proceedings of the Second Workshop on Very Large Digital Libraries (VLDL), 13th European Conference on Research and Advanced Technologies on Digital Libraries (ECDL). Greece, 2009.
Lourenço, João M., Nuno Preguiça, Ricardo J. Dias, João Nuno Silva, João Garcia, and Luís Veiga NGenVM: New Generation Execution Environments. EuroSys. Nuremberg, Germany, 2009.
AbstractThis document describes a work-in-progress development of NGen-VM, a distributed infrastructure that manages execution environments with run-time and programming language support targeting applications developed in the Java programming language, deployed over clusters of many-core computers. For each running application or suite of related applications, a dedicated single-system image will be provided, regardless of the concurrent threads running on a single machine (on several cores) or scattered on different computers. Such system images rely on a single model for concurrency management (Transactional Shared Memory Model), in order fill the gap between the hardware infrastructure of clusters of many-core nodes and the application runtime that is independent from that hardware infrastructure. Interactions between threads in the same tasks will be supported by a Transactional Memory framework that provides the programming language with Atomic and Isolated code regions. Interactions between thread on different machines will also use the Transactional Memory model, but now resorting to a Distributed Shared Memory abstraction.