Agenda

08h30 - 09h15
Recepção dos Participantes e Abertura do evento – Café

09h15 - 10h45
Coco/R - A compiler generator for .NET (Part I)
H. Mössenböck, University of Linz, Austria

Coco/R is a compiler generator, which takes an attributed grammar of a source language and generates a scanner and a parser for this language. Coco/R is open source software (http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/). There are versions for C#, Java, C++, Delphi, Modula-2, Oberon and other languages. We show how to use Coco/R to generate a compiler for a simple programming language under .NET.


10h45 - 11h15
Coffee Break

11h15 - 12h30
Coco/R - A compiler generator for .NET (Part II)
H. Mössenböck, University of Linz, Austria

Coco/R is a compiler generator, which takes an attributed grammar of a source language and generates a scanner and a parser for this language. Coco/R is open source software (http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/). There are versions for C#, Java, C++, Delphi, Modula-2, Oberon and other languages. We show how to use Coco/R to generate a compiler for a simple programming language under .NET.


12h30 - 14h00
Almoço


14h00 - 16h00
Advanced type system and virtual machine design in the context of .NET
Don Syme, Microsoft Research Cambridge

This talk will cover advanced aspects of the design of managed execution environments and languages, using the .NET Common Language Runtime and the F# programming language as motivating examples. The changing shape of the modern compilation hierarchy will be considered, and we will assess the growing role of install-time compilation along with versioning and language considerations. Various tradeoffs in intermediary language (IL) design will be discussed, using the design of Generics in the .NET Common IL as an example. The programming language F# will be presented as an example of how high-level ILs enable high-quality language implementations with expressive type systems while still supporting interoperability.



16h00 - 16h30
Coffee Break


16h30 - 18h00
Architectural Prototyping: Deriving .NET programs from CCS
Luís Soares Barbosa & Nuno Rodrigues, Univ do Minho

Over the last decade, software architecture emerged as a critical design step in Software Engineering. This encompassed a shift from traditional programming towards the deployment and assembly of independent components. The specification of the overall system structure, on the one hand, and of the interactions patterns between its components, on the other, became a major concern for the working developer. Although a number of formalisms to express behaviour and supply the indispensable calculational power to reason about designs, are available, the task of deriving architectural designs on top of popular component platforms has remained largely informal. In this lecture we introduce a systematic approach to derive, from behavioural specifications written in Ccs, the corresponding architectural skeletons in the Microsoft .Net framework in the form of executable C# code. Such prototyping process is automated by means of a specific tool developed in Haskell.


18h00
Fecho do Evento


Oradores

H. Mössenböck
Hanspeter Mössenböck is a professor for Computer Science at the University of Linz in Austria. From 1988 to 1994 he worked with Niklaus Wirth (the father of Pascal) ...
Leia mais


Don Syme
Don Syme is a researcher at Microsoft Research, Cambridge. Since joining MSR in 1998 he has been heavily involved with the design of aspects of the .NET Framework ...
Leia mais


Luís Soares Barbosa
Luís Soares Barbosa is Professor Auxiliar at the Computer Science Department of the Minho University. He is also a researcher in the Logic and Formal Methods group ...
Leia mais


Nuno Rodrigues
Nuno Rodrigues is PhD student at the Computer Science Department of the Uminho University, studying Generic Software Architecture Slicing. He is also a researcher in the PURe Project) ...
Leia mais