Rui C. Gonçalves

Learn More
This paper presents the concept of pluggable parallelisation that allows scientists to develop sequential like codes that can take advantage of multi-core, cluster and grid systems. In this approach parallel applications are developed by plugging parallelisation patterns/idioms into scientific codes (e.g., sequential like codes), softening the move from(More)
Bloom's syndrome (BS) is a rare autosomal recessive disease predisposing patients to all types of cancers affecting the general population. BS cells display a high level of genetic instability, including a 10-fold increase in the rate of sister chromatid exchanges, currently the only objective criterion for BS diagnosis. We have developed a method for(More)
We show how transformations organize and explain the designs of legacy pipe-and-filter-architectures. We start with an elementary architecture and progressively transform it to a detailed executable architecture. In this paper, we (a) present an MDE-based foundation of how domain-specific design knowledge can be organized by transformations, (b) illustrate(More)
A classical approach to program derivation is to progressively extend a simple specification and then incrementally refine it to an implementation. We claim this approach is hard or impractical when reverse engineering legacy software architectures. We present a case study that shows <i>optimizations</i> and <i>pushouts</i>---in addition to refinements and(More)
Mechanizing the development of hard-to-write and costly-to-maintain software is the core problem of automated software design. Encoding expert knowledge (a.k.a. dark knowledge) about a software domain is central to its solution. We assert that a solution can be cast in terms of the ideas of language design and engineering. Graph grammars can be a foundation(More)
This paper presents a framework that allows plugging or unplugging Grid-related features to legacy code. Those features can, for example, transform sequential-like code to a parallel version or even a distributed version. With this approach scientists could develop their code as they are used to, that is, they could spent their time programming as they are(More)
ReFlO is a framework and interactive tool to record and systematize domain knowledge used by experts to derive complex pipe-and-filter (PnF) applications. Domain knowledge is encoded as transformations that alter PnF graphs by refinement (adding more details), flattening (removing modular boundaries), and optimization (substituting inefficient PnF graphs(More)
Hoje em dia há uma constante preocupação com a to-lerância a faltas distribuídas existentes em sistemas deste tipo. Pretende-se implementar um jogo multiplayer que se mantenha disponível mesmo quando há a ocorrência de uma falta. A construção dos novos sistemas concretiza ar-quitecturas que facilitam a replicação de dados obtendo as-sim consistência na(More)