GTTSE 2007

Generative and Transformational Techniques in Software Engineering

List of Technology Presentations

The purpose of the technology presentations is to supplement the theoretical knowledge acquired in the regular tutorials with practical knowledge of how generative and transformational techniques can be instrumental in solving software engineering problems. These presentations may include a mix of problem statement, foundations, running example, fundamental concepts, tool support, and software engineering issues. Compared to the regular tutorial lectures, these presentations are typically shorter, slightly more informal and interactive, and more focused on automated software engineering.

Scott Blum, Google, USA: Optimizing Monolithic Compilation in the Google Web Toolkit

Abstract: Google Web Toolkit's Java-to-JavaScript compiler begins with the premise that all source code is monolithically compiled into a single hermetic executable. This premise, it turns out, unlocks a slew of optimizations that would be impossible in a traditional compilation model. This session is not a presentation of GWT itself, but rather a high level exploration of the optimization techniques already implemented as well as future optimizations made possible by a monolithic compile.

Bio: Scott Blum has been a software engineer on the Google Web Toolkit team since 2005. He focuses on the Java-to-JavaScript compiler and hosted mode browser integration. He's also a big fan of Java and a bigger fan of Eclipse, the leading cause of dust gathering on his C++ books. Before coming to Google, Scott worked for several years on mobile software development tools. His work has included compilers, virtual machines, OO frameworks, and all manner of hackery.

Slides: pdf.

Robert M Fuhrer, IBM T.J. Watson Research, USA: SAFARI: Meta-Tooling for Language-Specific IDE's in Eclipse

Abstract: Building a state-of-the-art IDE for a new programming language is a difficult undertaking. Although much of this work is inevitable and requires an in-depth understanding of the language structure and semantics, a significant portion embodies common themes and code structures, and requires extensive knowledge of framework API's, which represent a great opportunity for code and knowledge reuse in the form of a meta-tooling framework for IDE development. In this talk, we will describe SAFARI, an ongoing project at IBM Watson Research to develop such meta-tooling for Eclipse.

Bio: Robert has spent the last several years developing static analyses and advanced refactorings for Java in Eclipse, some of which are now part of the Eclipse JDT, including generics-related refactorings for Java 5, type-related refactorings, and others. Robert also developed a smell detection framework for Java in Eclipse, which includes a code duplication detector. Prior to that, Robert worked on a diverse set of projects, including two visual programming languages, a film scoring system, manufacturing optimization algorithms, and hardware synthesis and verification for asynchronous circuits.

Slides: pdf.

Dragan Gasevic, Athabasca University, Canada: Model-Driven Engineering of Rules for Web Services

Abstract: Web services are proposed as a way that should enable for loosely-coupled integration of business processes of different stakeholders. This requires effective development mechanisms that focus on the modeling of business processes rather than on low-level implementation details of Web services, and yet to support frequent business changes especially in policy-driven systems. This talk presents the UML-based Rule Language that uses reaction rules (aka Event-Condition-Action, ECA, rules) for modeling business processes in terms of message exchange patterns. The approach is supported by a Fujaba plug-in and a number of model transformations for round-trip engineering of Web services.

Bio: Dragan Gasevic is an Assistant Professor in the School of Computing and Information Systems at Athabasca University and is an Adjunct Professor at Simon Fraser University in Canada. His research interests include the Semantic Web, model-driven software engineering, knowledge management, service-oriented architectures, and learning technologies. So far, he has authored/co-authored around 150 research papers and book chapters, and 2 books. He is the lead author of the book Model Driven Architecture and Ontology Development. He has been severing on the editorial/reviewing boards and organizing/program committees of many international journals, conferences, and workshops.

Slides: pdf.

Pierre-Etienne Moreau, INRIA/LORIA Nancy, France: Implementing Program Transformations with Tom and Java

Abstract: Tom is an extension of Java designed to easily implement program transformations, using the notions of rules and strategies. In this presentation we will show how this approach can be applied to the analysis and transformation of Java bytecode programs.

Bio: Pierre-Etienne Moreau is researcher at LORIA/INRIA Lorraine in the Protheo team. His main research activity consists in conceiving tools and languages that help to write complex applications, by decreasing the development time and increasing the confidence. In this direction, he has developed during his thesis a compiler for the ELAN language. Since 2001, he is managing the development of the Tom system, which allows to integrate the notions of equational matching, rule based programming, and strategic programming in languages like Java. The main applications of Tom are the implementation of compilers, program analysis and transformation tools, as well as automatic provers.

Slides: pdf.

Eric Van Wyk, University of Minnesota, USA: Building composable domain-specific language extensions for Java

Abstract: Extensible languages allow programmers to import new language features that provide new syntax, semantic analysis, and optimizations into their programming language. For example, a programmer may import into an extensible implementation of Java an extension that embeds SQL for type-safe data-base queries. Language extensions that define these features should be composable so that programmers can import multiple extensions that address different aspects of their programming problem. We show how such extensible languages and extensions have been created using Silver, an attribute grammar specification language, and AbleJ, an extensible specification of Java written in Silver.

Bio: Eric Van Wyk is an Assistant Professor in the Computer Science and Engineering department at the University of Minnesota. He received his Ph.D. from the University of Iowa in 1998 and was a post-doctoral researcher in the Computing Laboratory at the University of Oxford before joining the University of Minnesota in 2002. He is a 2005-2007 McKnight Land-Grant Professor and the recipient of an NSF CAREER Award. His research interests include extensible programming and specification languages as well as techniques for their declarative specification and implementation.

Slides: pdf.

Perdita Stevens, University of Edinburgh, UK: Bidirectional model transformations

Abstract: Tool support for model transformations is key to the success of model driven development. The OMG standard on Queries, Views and Transformations (QVT) specifies how to write transformations. Practitioners often genuinely need to be able to edit the models at either end of the transformation, while "keeping the models in sync": that is, they need bidirectional transformations. Supporting this fully goes beyond the state of the art of both tools and theory. I will introduce QVT and model transformation tools, before discussing current work building on that of the Harmony team led by Benjamin Pierce at the University of Pennsylvania.

Bio: Perdita Stevens is a Reader in Software Engineering at the University of Edinburgh's School of Informatics. She has been interested in modelling for many years, writing the first student textbook on UML (Using UML) and later writing on the implications of the XMI standard for developer-written model transformations. She is particularly interested in how tools and technologies can support the process of software design. She has recently finished a term as Steering Committee Chair of ETAPS, the European Joint Conferences on Theory and Practice of Software, and has also chaired the UML (now MODELS) conference.

Slides: pdf.

Laurence Tratt, King's College, UK: Techniques for lightweight DSL development in Converge

Abstract: While the concept of domain specific languages continues to gain in popularity and importance, the means we have at our disposal to create them often don't reflect the way we wish to use them. DSLs tend to start small, yet the tools we use to implement them often lead to surprisingly large and cumbersome implementations. DSLs tend to evolve in unforeseen ways, yet our implementations often have a "hackish" feel that makes change difficult.

In this talk I will introduce the Converge programming language, which has a simple facility which allows arbitrary syntaxes to be embedded in normal Converge code. This allows DSLs to be quickly implemented and experimented with. I will show how Converge facilitates a process for creating DSLs, and discuss some of our experiences with creating Converge DSLs.

Bio: Laurence Tratt is a researcher in the Department of Computer Science at King's College London, where he is co-leader of the Software and Systems Modelling Team. He is also the chief designer and maintainer of the Converge programming language, and has been a major contributor to several international standards related to modelling. He is a member of the IEEE Software Advisory Board.

Slides: pdf.

Robert Hirschfeld, HPI, Germany: Modularizing Context-dependent Behavioral Variations with Context-oriented Programming

Abstract: Context-oriented Programming, or COP, provides programmers with dedicated abstractions and mechanisms to concisely represent behavioral variations that depend on execution context. By treating context explicitly, and by directly supporting dynamic composition, COP allows programmers to better express software entities that adapt their behavior late-bound at runtime. Our presentation will illustrate COP constructs, their application, and their implementation, as well the relationship of COP to other approaches such as feature-oriented and aspect-oriented programming. We use Squeak as a programming environment to demonstrate sample scenarios.

Bio: Robert Hirschfeld is a Professor of Computer Science at the Hasso-Plattner-Institut in Potsdam. There he leads the Software Architecture Group that is concerned with fundamental elements and structures of software, developing methods and tools for improving the comprehension and design of complex systems. Robert Hirschfeld was a senior researcher with DoCoMo Euro-Labs, the European research facility of NTT DoCoMo Japan, where he worked on infrastructure components for next generation mobile systems with a focus on dynamic service adaptation and aspect-oriented programming. Prior to joining Euro-Labs, he was a principal engineer at Windward Solutions in Sunnyvale, California. Robert Hirschfeld received a Ph.D. in Computer Science form the Technical University of Ilmenau, Germany.

Slides: pdf.

r14 - 02 Jul 2007 - 21:46:26 - AlcinoCunha
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM