Lourenço, João M., and Gonçalo Cunha. "
Testing patterns for software transactional memory engines."
Proceedings of the 5th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD'07). {PADTAD}'07. New York, NY, USA: ACM, 2007. 36-42.
AbstractThe emergence of multi-core processors is promoting the use of concurrency and multithreading. To raise the abstraction level of synchronization constructs is fundamental to ease the development of concurrent software, and Software Transactional Memory (STM) is a good approach towards such goal. However, execution environment issues such as the processor instruction set, caching policy, and memory model, may have strong influence upon the reliability of STM engines. This paper addresses the testing of STM engines aiming at improving their reliability and independence from execution environment. From our experience with porting and extending a specific STM engine, we report on some of the bugs found and synthesize some testing patterns that proved to be useful at testing STM engines.
Barbosa, Luís, Jácome Cunha, and Joost Visser. "
A Type-Level Approach to Component Prototyping."
International Workshop on Synthesis and Analysis of Component Connectors: in Conjunction with the 6th ESEC/FSE Joint Meeting. SYANCO '07. New York, NY, USA: ACM, 2007. 23-36.
AbstractAlgebraic theories for modeling components and their interactions offer abstraction over the specifics of component states and interfaces. For example, such theories deal with forms of sequential composition of two components in a manner independent of the type of data stored in the states of the components, and independent of the number and types of methods offered by the interfaces of the combinators. General purpose programming languages do not offer this level of abstraction, which implies that a gap must be bridged when turning component models into implementations. In this paper, we present an approach to prototyping of component-based systems that employs so-called type-level programming (or compile-time computation) to bridge the gap between abstract component models and their type-safe implementation in a functional programming language. We demonstrate our approach using Barbosa's model of components as generalized Mealy machines. For this model, we develop a combinator library in Haskell, which uses type-level programming with two effects. Firstly, wiring between components is computed during compilation. Secondly, the well-formedness of the component compositions is guarded by Haskell's strong type system.
Pereira, L.a, Aguas Beckers Martins Fortunato Martins H. a M. b. "
Characterization of nickel induced crystallized silicon by spectroscopic ellipsometry."
Materials Research Society Symposium Proceedings. Vol. 910. 2007. 529-534.
AbstractIn this work Spectroscopic Ellipsometry (SE) was used to study metal induced crystallization (MIC) on amorphous silicon films in order to analyze the influence of different annealing conditions on their structural properties. The variation of the metal thickness has shown to be determinant on the time needed to full crystallize silicon films. Films of 100 nm thickness crystallize after 2h at 500°C using 1 nm of Ni deposited on it. When reducing the average metal thickness down to 0.05 nm the same silicon film will need almost 10 hours to be totally crystallized. Using a new approach on the modelling procedure of the SE data we show to be possible to determine the Ni remaining inside the crystallized films. The method consists in using Ni as reference on the Bruggeman Effective Medium Approximation (BEMA) layer that will simulated the optical response of the crystallized silicon. Silicon samples and metal layers with different thicknesses were analyzed and this new method has shown to be sensible to changes on the initial metal/silicon ratio. The nickel distribution inside the silicon layers was independently measured by Rutherford Backscattering Spectroscopy (RBS) to check the data obtained from the proposed approach. © 2006 Materials Research Society.