[aosd-announce] SYMPOSIUM: Aspect-Oriented Language Concepts and their Application to Industrial Systems

Nagy, I. (Istvan) I.Nagy at ewi.utwente.nl
Thu May 18 08:00:20 EST 2006


        [ We apologize for the reception of multiple copies. ]

================================================================================

CALL FOR PARTICIPATION TO THE SYMPOSIUM ON:

"Aspect-Oriented Language Concepts and their Application to Industrial Systems"
(including free introductory tutorial on aspect-oriented programming)
-- 

Date: June 9, 2006
Location: Waaier 3, University of Twente, Enschede, The Netherlands

Registration and info:
http://trese.cs.utwente.nl/workshops/ALCAIS/


SPONSORS
--------
Embedded Systems Institute [http://www.esi.nl]
Center for Telematics & Information Technology (CTIT) [http://ctit.utwente.nl]
Stichting PATO [http://www.pato.nl]


SYMPOSIUM TOPIC
---------------

Due to the size and complexity of today's systems and the desire to achieve
better quality, for example, in robustness, flexibility, time-to-market, etc,
software development is becoming an increasingly complex discipline. In
particular, so-called crosscutting concerns are an important cause of the
problems. Crosscutting concerns cannot be modeled with state-of-the-art
techniques such as OO, UML and patterns. During the last decade, Aspect-
Oriented Software Development methods, tools and languages have been
introduced to address such problems. In the recent years several practical
applications have proved the versatility of these techniques in industrial
applications.

This symposium aims at bringing together practitioners and researchers to
achieve a better understanding of the problems caused by crosscutting concerns
and how they appear in practice. In addition, experts present new insights in
addressing these problems. Also, significant attention will be paid to the
transfer of research results to an industrial setting.

The symposium "Aspect-Oriented Language Concepts and their Application to
Industrial Systems" contributes to an exchange of expertise in the field of
Aspect Oriented Programming (AOP). For attendees who are interested in the
concepts and applicability of AOP, but do not have sufficient background, a
short tutorial will be given just before the start of the symposium.

In the morning session, top researchers in the field of AOP will discuss new
insights, share their experience in the application of AOP to practical
applications, and will discuss the important trade-offs among software quality
attributes when designing and applying AOP languages.

In the afternoon session, the focus is more on the transfer of the concepts
and solutions to an industrial context: how can the research results be made
practical, a case study on applying an aspect to large scale software, and a
talk about the planned introduction of aspects in the mainstream software
development of ASML.  The symposium will be concluded with an interactive
panel discussing the benefits and obstacles of applying aspects in mainstream
software development.


OVERVIEW OF THE PROGRAM
-----------------------
Tutorial (9:30-10:15)

Opening (10:30)
     "Aspects are a frame of mind"
       by Theo D'Hondt - Vrije Universiteit Brussel, Belgium
     "Support for aspects in legacy applications using Event-based AOP"
       by Mario Sudholt - École des Mines de Nantes-INRIA, France
     "On The Design of Aspect-Oriented Composition Models for Software Evolution"
       by Istvan Nagy - University of Twente, Netherlands

     [lunch break]

     "Applying AOP in Industry; an Academic Perspective"
       by Gurcan Gulesir & Pascal Durr - University of Twente, Netherlands
     "Discovering Faults in Idiom Based Exception Handling"
       by Tom Tourwe - CWI, Netherlands
     "Introducing AOP In Industrial Software Development"
       by Remco van Engelen - ASML, Netherlands

     Panel: Industrial application of Aspect-Oriented Technology
       Moderator: Prof.dr.ir. Mehmet Aksit, University Of Twente
       Panelists:
         Dr. Mario Sudholt,  École des Mines de Nantes-INRIA, France
         Prof. dr. Theo D'Hondt, Vrije Universiteit Brussel, Belgium
         Ir. Remco van Engelen, ASML, Netherlands
         Dr. Tom Tourwe, CWI, Netherlands
         Dr.ir. Lodewijk Bergmans, University Of Twente, Netherlands

End (17:00)

GOALS AND INTENDED AUDIENCE
---------------------------
During this symposium you have the opportunity to learn about the essential
concepts of aspect-orientation, some of its benefits in software development,
recent insights into the technology, and a lot of information about the
application of aspect-orientation in an industrial context.

The symposium addresses both practitioners and researchers:
* project managers, software architects, software analysts, software designers
and software developers who are facing difficulties in managing their software
developments due to the difficulties in cleanly separating the software into
independent modules.
* researchers who want to get up to date with the state-of-the-art research
in Aspect Oriented Software Development.

Typically, the intended audience has essential programming language knowledge
and a good understanding of software engineering issues. By following the
optional (but free) tutorial at the start of the day, you will learn the basic
concepts of Aspect-Oriented Programming, which will enable you to follow the
talks in the remainder of the day.


REGISTRATION AND COSTS
----------------------
The registration fee includes drinks and lunch, an tutorial on aspects, a
handout with all presented slides, and a copy of the PhD thesis "On the Design
of Aspect-Oriented Composition Models for Software Evolution" by Istvan Nagy.

The registration fees are as follows:
- Companies: EUR 195
- Universities: EUR 75
- Students: Free
Go to http://trese.cs.utwente.nl/workshops/ALCAIS/ for registration information,
as well as information about accommodation on and near the campus of the
University of Twente.



=============================================================================
DESCRIPTION OF THE SYMPOSIUM CONTENT


TUTORIAL
========
(tutorial presenter: Lodewijk Bergmans, University of Twente)
The aim of this tutorial is to give a quick overview and understanding of the
essential concepts in aspect-oriented programming. In this tutorial we will
explain the problem of crosscutting concerns, how this manifests itself in
practice, and what problems this causes. Then we will explain how the aspect-
oriented approach addresses these problems. We discuss the role of aspects in
the development lifecycle and the domains where aspects can be found. We will
show a few concrete examples how aspects are specified in AspectJ and Compose*.

TALKS
=====

"Aspects are a frame of mind"
    by Theo D'Hondt - Vrije Universiteit Brussel, Belgium
-------------------------------------------------------------------------
In the 80ies and 90ies objects were used in totally inappropriate settings
- because object oriented programming  is a frame of mind. Before that,
the same was true of for instance recursion; and today the same can be said
for aspects. That is because although a particular paradigm can benefit
from a dedicated technology, it does not require this technology and neither
is it diminished by its absence. That aspect oriented programming is definitely
a frame of mind will be illustrated by means of a software feature that is
definitely cross-cutting: garbage collection. The way that a memory manager
is interwoven with the code of a simple language interpreter - both statically
and dynamically - requires an approach that is reflected in many a modern
aspect language. But generally available aspect weavers are too coarse for
the kind of fine-tuning that garbage collection requires, so the memory
management code crosscutting a language interpreter is introduced by hand. We
will illustrate how an aspect frame of mind proves to be an asset in such a
process.



"Support for aspects in legacy applications using Event-based AOP"
    by Mario Südholt - École des Mines de Nantes-INRIA, France
----------------------------------------------------------------
The adoption of AOSD as a software engineering methodology, in
particular in industrial contexts, largely depends on appropriate
aspect languages for the concise expression of crosscutting
functionality in legacy applications. Current aspect technology, as
exemplified by AspectJ, does not always support such concise aspect
definitions, especially because of a lack of facilities for the
expression of relationships between execution points relevant to such
functionalities.
  In this talk we motivate the usefulness of aspect languages geared
towards the direct formulation of such relationships, give an overview
of a such an aspect model, Event-based AOP, and corresponding
implementation techniques, and present different applications of this
model in industrial settings, in contexts based on Java as well as
C/C++.



"On The Design of Aspect-Oriented Composition Models for Software Evolution"
    by Istvan Nagy - University of Twente, Netherlands
----------------------------------------------------------------
Aspect-oriented programming is an emerging approach in software development,
which provides new possibilities for separation of concerns. Aspect-oriented
languages offer language mechanisms for the implementation of concerns whose
modularization cannot be achieved by using traditional programming languages.
The separated concerns in software must be composed together so that software
behaves according to its requirements in a coherent way. We refer to language
mechanisms that separate and compose concerns as 'composition mechanisms'.
In this talk, we analyze some of the composition mechanisms of current aspect-
oriented languages and propose new ones so that programs written using these
mechanisms can improve with respect to software quality attributes such as,
adaptability, evolvability, comprehensibility, etc. However, designing a new
composition mechanism is a complex task; it requires balancing the trade-offs
among the above described software quality attributes. In this presentation,
we show guidelines and techniques that may help in the design of adaptable
composition mechanisms. We also present the software quality trade-offs that
may arise when applying these techniques.



"Applying AOP in Industry; an Academic Perspective"
    by Gürcan Gülesir and Pascal Dürr - University of Twente, Netherlands
----------------------------------------------------------------
In this talk we report on a successful application of AOP in industry,
in particular ASML. Our primary focus is on the "bridge" we established
between the academic solutions and the industrial application of them.

We addressed the following crosscutting concerns; State Updating, Tracing,
Profiling and Reflective Information. The "state updating" concern deals with
sending stimulus to state charts, which triggers transitions. The stimuli has a
context-specific nature; hence they are highly tangled with base functionality.
  Due to this nature, we had to transfer the solution in a step-by-step and
iterative manner. We call this an evolutionary approach. The Tracing, Profiling
and Reflective Information are highly scattered and replicated crosscutting
concerns. In contrast to State Updating, they are less tangled and less context
dependent, hence a one-step approach was used to transfer the solution of these
concerns. We call this a revolutionary approach. In this talk we explain both
approaches and the benefits and costs associated with them.



"Discovering Faults in Idiom Based Exception Handling"
    by Tom Tourwe - CWI, Netherlands
----------------------------------------------------------------
In this paper, we analyse the exception handling mechanism of a
state-of-the-art industrial embedded software system. Like many
systems implemented in classic programming languages, our subject
system uses the popular return-code idiom for dealing with exceptions.
Our goal is to evaluate the fault-proneness of this idiom,
and we therefore present a characterisation of the idiom, a fault
model accompanied by an analysis tool, and empirical data. Our
findings show that the idiom is indeed fault prone, but that a simple
solution can lead to significant improvements.



"Introducing AOP In Industrial Software Development"
    by Remco van Engelen - ASML, Netherlands
----------------------------------------------------------------
ASML is a world leader in the manufacture of advanced technology systems for
the semiconductor industry. The company has a large design and production
facility in Veldhoven, where software is combined with advanced mechanical
and optical subsystems to produce a state-of-the-art production system used by
customers world-wide. ASML is one of the largest embedded software developers
in the Netherlands.

ASML is planning to introduce AOP in it's product software development in the
near future. In this presentation, I will explain the reasons and process for
doing so, give some examples of the cross-cutting concerns ASML intends to use
AOP for, and address some of the concerns and challenges surrounding this
introduction. Some of the notable unique properties of this introduction are
the fact that most software at ASML is written in C, hence tooling for AOP in
a C context needs to be developed, and that a significant part of the software
will be migrated to use AOP, an estimated 2 million lines of source code.


PANEL
=====

"Industrial application of the Aspect-Oriented Technology"
Moderator: Prof. dr. Mehmet Aksit, Un. Of Twente
Panelists:
    Dr. Mario Sudholt,  École des Mines de Nantes-INRIA, France
    Prof. dr. Theo D'Hondt, Vrije Universiteit Brussel, Belgium
    Ir. Remco van Engelen, ASML, Netherlands
    Dr. Tom Tourwe, CWI, Netherlands
    Dr.ir. Lodewijk Bergmans, Un. Of Twente, Netherlands





More information about the announce mailing list