CFP:
|
|
Reload frames |
A one-day workshop to be held in conjunction with the
Fourth International Conference on Aspect-Oriented Software Development (AOSD 2005), March 14–18, 2005, Chicago, Illinois, USA http://aosd.net/conference OverviewThe so-called '-ilities' are crucial yardsticks for the assessment of the quality of software engineering activities and products, e.g., modularity, comprehensibility, evolvability, and analyzability. Hence, 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. Most aspect-related capabilities provide some benefits, but they also incur some disadvantages. Such a tradeoff arises, for example, when considering the expressiveness property versus the analyzability property—more expressiveness usually implies less analyzability, and vice versa. Similarly, the "obliviousness" feature improves software adaptability via non-invasive extensions, but it may well lead to poor designs that expose too many join points to enable obliviousness, thus permitting changes that the software is not designed to handle. This has led to numerous proposals for tool and linguistic mechanisms to restrict or control the set of available join points, to explicitly define adaptation interfaces, or to show developers explicitly the join points that will be affected and enable them to eliminate unintended ones. This reduces obliviousness in favor of predictability and analyzability, and it reduces the potential for design errors. Quality in software engineering activities and products is often a question of balancing contradictory forces and ideals. It is, therefore, critical to understand these tradeoffs. This workshop will explore issues in designing AOSD languages and systems that promote good software engineering properties, for example, with respect to analyzability, predictability, expressiveness, evolvability, and semantic interactions. It 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 potential resolutions, if any. Topics
MotivationThis workshop will advance the field of AOSD language design and software engineering by emphasizing the need to understand the practical consequences of language design decisions on the conflicts between desirable software engineering properties of aspect-oriented software. In particular, it will help language designers and software engineering researchers understand and evaluate the tradeoffs entailed by aspect language features, and address the need for consistent language design to improve the management of the deep conflicts among desirable properties of AOSD software activies and products. 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 aspectualized 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 type system like control mechanisms, 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 lead to both conflicts and feedback among these activities:
FormatThe format of the workshop will incorporate structured group discussions and panel discussions/debates of selected topics and submissions. These venues will enable attendees to understand and thoroughly analyze these key issues, towards the goal of producing a catalog of "patterns" of -ility properties, benefits, costs, interactions, forces, and tradeoffs. During structured group discussions, each group member will give a short presentation about their submission. From then on participants will be asked to play a certain role during the discussion. Certain roles will be used to first establish a common group understanding of the submission by having the roles of summarizer and someone to find relationships with the previously discussed submissions. Other roles will be used to specifically structure the discussion towards software engineering properties: participants will be asked to play the role of analyzer for a certain software engineering property and give their view of the possible impact of the submission's suggested approach.Panel discussions/debates will focus on highly controversial topics, such as the desirability of the "obliviousness" property. Submission GuidelinesAttendance to the workshop is limited to facilitate lively discussions and the exchange of ideas. Prospective participants will be solicited to submit a 4-8 page position paper in PDF format, no later than January 24, 2005, by email to splat05@cs.utwente.nl (NB: this deadline has been delayed because the early registration date for the conference has been delayed). Please use the ACM Conference Proceedings Templates (http://www.acm.org/sigs/pubs/proceed/template.html), and do not forget to include page numbers. Important DatesNB: Because of a delay in the early registration date for the conference, deadlines have been pushed back similarly.
Organizers
Previous Workshops |