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)
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)
Cytomegalovirus is a double stranded DNA virus that can be present in nearly all organs and body fluids. The primary infection is usually asymptomatic in the immunocompetent host and it is common among adolescents and young adults. The symptomatic form appears, in the majority of cases, as a mononucleosis syndrome with full recovery without specific(More)