Call for Papers:
6th Workshop on Software-engineering Properties
of Languages and Aspect Technologies
(SPLAT 2008)

AOSD.08 / Brussels, Belgium
http://www.aosd.net/workshops/splat/
March 31st, 2008

Important Dates
Paper submission deadline: Jan. 21st, 2008
Notification of acceptance: Feb. 15th, 2008
Final papers due: Mar. 11th, 2008
Workshop: March 31st, 2008

 

Overview

Aspect technologies such as programming languages and related systems enable programmers to do software engineering, and the most important criterion for evaluation of the quality of the design of such a language or system lies in its effect on software engineering. If a new language construct enables programmers to write better software then it is an improvement, otherwise it is not. Similarly for a new concept or feature in a language related system such as a programming environment or an analysis tool. However, it is very hard to measure whether a given proposal is an improvement, because it is not possible to write all programs in a language, or to try out all the possible organizational environments in which software may be developed. Hence, good judgment and innovative approaches are required in order to discern and justify the connection between software engineering reality and ideas generated in the scientific community. This year's SPLAT workshop aims at addressing this very basic difficulty: understanding the connection between software engineering qualities and the design choices made in languages and related systems.

The so-called '-ilities', such as comprehensibility, evolvability, modularity, and analyzability, are crucial dimensions to consider in the assessment of the quality of software engineering activities and products, and we expect these dimensions to play an important role in the quest for answers to this challenge. Generally, designers and users of aspect-oriented languages and systems must understand the effect on the 'ilities' of any aspect-oriented language, feature, system, tool, style, etc. that they choose to use, from the perspectives of multiple stakeholders, including end users, language designers, and tool providers. Quality in software engineering activities and products is often a question of balancing contradictory forces and ideals. It is therefore also critical to understand these tradeoffs.

This workshop will thus explore issues in designing AOSD languages and systems that promote good software engineering properties. The workshop aims to identify some hard and deep issues and tradeoffs in achieving particular properties in AOSD languages and systems, to make these issues and tradeoffs explicit, and to try to characterize each conflict and, to the extent possible, describe useful solutions.

Suggested paper topics include, but are not restricted to:

  • Experience reports or motivated examples of concrete applications of AOSD languages or tools that document or illustrate connections between choices in the design of languages or systems and specific '-ility' properties or conflicts among them.
  • Analysis of the conditions for detecting and measuring the connection from language or system design to software engineering properties. This could be an analysis of the appropriate scientific method for doing research in this area, a presentation of a specific metric along with arguments for its usefulness, or an analysis of the methods actually used in existing research.
  • Novel aspect languages, language features or tool/system concepts or mechanisms that provide new insights or new approaches to achieving desired '-ility' properties. Properties that normally conflict should be taken into account, e.g., expressability and analyzability, rather than focusing only on the properties that are most likely to benefit from the proposed design.
  • Identification, description, and analysis of some key conflicts among desirable properties of languages and tools for AOSD (the "-ilities"), and their causes and effects.
  • "Patterns" or taxonomies of some of the -ility properties, their interactions, their costs and benefits, and drawbacks or strengths of existing approaches with respect to achieving them.
  • Revisiting earlier work, possibly published at an earlier SPLAT workshop, where more recent experiences have given rise to a significant change in the understanding or treatment of some issue related to the topic area of SPLAT. In other words, "telling the story about how you discovered that you used to be all wrong, but now you got it right". ;-)

Motivation

This workshop will advance the field of AOSD language design, tool support development and software engineering by emphasizing the need to understand the practical consequences of design decisions on the conflicts between desirable software engineering properties of aspect-oriented software. In particular, this years edition will help language designers, tool support developers and software engineering researchers to understand and evaluate the connection between design choices for languages and systems and their effects in terms of software engineering, spanning all the way from the level of case studies to the level of choice of appropriate scientific method.

SPLAT provides a forum for several groups of people to meet and discuss. In particular, aspect language designers, AOSD tool support developers and aspect programmers discuss the software engineering properties of existing and novel AOSD approaches. While these three groups have a common goal of improving the quality of aspect-oriented software, the activities they engage in tend to have different overriding forces in designing approaches to AOSD: When programming aspects, it is very convenient to use novel AOSD approaches providing powerful and flexible base-code adaptation mechanisms. But at the same time it is crucial that the overall code readability and evolvability of the software is maintained in the long run. Language designers would probably often go for powerful abstraction mechanisms or for control mechanisms like type systems, depending on whether they are from one or the other language community. Tool designers and implementers might be able to mitigate this conflict somewhat by improving on sophisticated views of software and by building databases of static information. Previous incarnations of SPLAT and other workshops have shown that these different forces have led to both conflicts and feedback among these activities:

The concept of making aspects oblivious to the base code has led some language designers to consider more expressive pointcut languages. Many people have however expressed objections to the danger that they would no longer being able to foresee where and how an aspect influences the base code. In response, language designers have introduced the notion of limiting the hooks available to an aspect or introducing the notion of explicit pointcut interfaces, while tool support developers have aimed at pointcut analysis tools for assisting the programmer. The question of whether and how the conflicts of expressivity and comprehensibility can be solved and what direction novel AOSD language designers should take is however still unresolved.

Currently AOSD concepts are moving from the realm of Java to being applied to other programming languages as well. The need for integrating these concepts in a clean and orthogonal way with the existing concepts of the language can lead language designers to take novel approaches. In the case of work done on C++ this has led to the use of templates in combination with pointcuts, and work done on Lisp has led to a consideration of dynamic scoping as an alternative means of implementing aspects. There is however the question how this influences readability, evolvability etc.

Designers of tools for aspect refactoring have expressed a desire for novel aspect language features to ease the refactoring process, such as making additional properties on joinpoints available and even including new types of joinpoints. The question however remains what impact such features will have on readability, evolvability etc., and this year's SPLAT puts the focus right there.

At AOSD 2008, the workshops DSAL and SPLAT both deal with AOP languages, but their approach and focus are quite different. SPLAT emphasizes the relationship between language design and software engineering properties, whereas DSAL puts the focus on domain-specific language features and extensions.

Goals

The workshop has the following goals:

  • To bring more depth and detail to the understanding of the connection between language and system design choices and the conditions for doing software engineering using these languages and systems
  • To understand and catalog the key conflicts among '-ilities', e.g., comprehensibility and flexibility, and their projection back into the design considerations for AO languages and systems
  • To identify the underlying issues that cause the key conflicts, and their consequences
  • To identify possible solutions for resolving these conflicts in different contexts, reducing their consequences, or acknowledging when a choice must be made because they are not reconcilable

Format

We intend the format of the workshop to focus attendees' attention on a number of key issues that are of broad interest to the participants, as identified by the workshop organizers based on an analysis of the submitted papers.

The overall format of the workshop is planned to have substantial variation and different forms of interaction, including paper presentations, plenary discussions, as well as group discussions. Further we plan a poster and demo session.

We particularly aim to stimulate and collect the ideas and inspirations that come from the cross-fertilization of people with different backgrounds and experiences, both in group discussions and plenary sessions.

Submission Guidelines

Attendance to the workshop is limited, to facilitate lively discussions and the exchange of ideas. Prospective participants are solicited to submit a 3-6 page position paper as a PDF file, no later than January 21st, 2008, to splat@ewi.utwente.nl. The paper should be formatted in ACM SIG proceedings style. The position papers will be reviewed by the program committee. All accepted papers will be published in the ACM Digital Library.

We have arranged to publish a revised version of selected papers from this workshop in the Journal of Object Technology. Selection of these papers will take place after the workshop, and the publication process will include a second round of revisions and reviews.

Organizing Committee

  • Lodewijk Bergmans (University of Twente, The Netherlands)
  • Erik Ernst (University of Aarhus, Denmark)
  • Kris Gybels (Vrije Universiteit Brussel, Belgium)

SPLAT.08

Instant Feedback