Symposium on Software Language Design and Engineering
You are cordially invited to attend the symposium on software language design and engineering that the TU Delft Software Engineering Research Group organizes on the occasion of the doctoral thesis defense of Lennart Kats on Tuesday, December 13, 2011.
You can find this information also at: http://bit.ly/uyWARA
Symposium in EWI, Snijderszaal (LB 01.010)
| 10:00 || Peter Mosses (Swansea University) |
| || PLanCompS: Programming Language Components and Specifications |
| 10:40 || Oscar Nierstrasz (University of Bern) |
| || Parsing by Example |
| 11:20 || Paul Klint (CWI, Amsterdam) |
| || Towards a One-Stop-Shop for Analysis, Transformation and Visualization of Software |
| 12:00 || Lunch in EWI canteen |
| 14:30 || Thesis Defense Lennart Kats in Aula TU Delft |
| || Building Blocks for Language Workbenches |
| 14:30 || Lekenpraatje |
| 15:00 || Thesis Defense |
| 16:45 || Reception |
PLanCompS: Programming Language Components and Specifications
Speaker: Prof. Dr. Peter D. Mosses, Swansea University
Abstract: The PLanCompS project [www.plancomps.org] aims to establish a component-based framework for the design, specification and implementation of programming and domain-specific languages. The main novelty will be the the creation of a substantial open-ended collection of highly reusable language components called 'funcons' (fundamental constructs). The semantics of each funcon will be specified independently, using frameworks such as Modular SOS; languages will be defined by specifying their translation to funcons, introducing new funcons when needed.
Parsing by Example
Speaker: Prof. Dr. Oscar Nierstrasz, University of Bern
Abstract: In order to perform certain analyses on complex software systems, one must first parse these systems to build appropriate models. Building a custom parser for a real programming language is non-trivial and time-consuming task. However, parsers already exist (for the compiler and development tools), lots of example code exists, and precise parsers are not required to construct useful models of software. Can these facts be exploited to rapidly construct the needed parsers? We review related work, and recount three separate experiments to solve this problem. We conclude with some challenges for future work.
Towards a One-Stop-Shop for Analysis, Transformation and Visualization of Software
Speaker: Prof. Dr. Paul Klint, CWI
Abstract: Over the last few years we have been developing the meta-programming language Rascal [www.rascal-mpl.org] that aims at providing a concise and effective language for performing meta-programming tasks such as the analysis and transformation of existing source code and models, and the implementation of domain-specific languages.
However, meta-programming tasks also require seamlessly integrated visualization facilities. We are therefore now aiming at a "One-Stop-Shop" for analysis, transformation and visualization. I will give a status report on this ongoing effort and sketch the requirements for an interactive visualization framework and describe the solutions we came up with. In brief, we propose a coordinate-free, compositional, visualization framework, with fully automatic placement, scaling and alignment. It also provides user interaction. The current framework can handle various kinds of charts, trees, and graphs and can be easily extended to more advanced layouts. This work can be seen as a study in domain engineering that will eventually enable us to create a domain-specific language (DSL) for software visualization.
The presentation concludes with examples that emphasize the integration of analysis and visualization.
Building Blocks for Language Workbenches
Defended by Lennart C. L. Kats
This dissertation presents research on techniques, methods, and tool support for domain-specific language engineering. Domain-specific language engineering is the discipline of designing, developing, and maintaining domain-specific programming languages. The focus of this thesis is the architecture of language workbenches their underlying technologies. Language workbenches are tools that make language engineering more efficient by providing an integrated development environment for language engineering tasks. In particular, we introduce the Spoofax language workbench, and describe its techniques for high-level, portable language definitions, language composition, interactive support for defining languages, and language testing.
The morning session will be at the EEMCS faculty:
Mekelweg 4, 2628CD Delft in the Snijderszaal (LB 01.010)
A route can be found at
And a map at http://g.co/maps/5hn9h
The thesis defense takes place in the Aula of Delft University of Technology: Mekelweg 5, 2628 CC, Delft http://g.co/maps/du4dk