Demeter Seminar Monday 10am - 12 noon 149 Cullinane Hall April 7, 2003 Topic: XAspects by M. Shonle and A. Shah Presentation by Karl Lieberherr http://www.ccs.neu.edu/research/demeter/xaspects/ The vision behind XAspects is that each major application domain needs both a set of cooperating domain-specific languages and a set of cooperating aspect-specific languages to optimally express the programs in that domain. XAspects provides infrastructure to define multiple class dictionaries that share classes to define multiple views using domain-specific languages and, more importantly, it defines infrastructure to define new aspect-specific languages. It could be argued that it is not feasible to introduce many little aspect languages that the programmers have to work with. But the inherent complexity of a project probably requires that the programmers address the issues of composition of aspect languages anyway so why not do that through a conscious language design that addresses the aspect composition issues systematically. Without such an approach, the programmers will have to do this at the lower level of a general purpose aspect language. XAspects translates all class dictionaries and aspect-specific languages to AspectJ and uses AspectJ as the weaving engine. Currently, XAspects builds heavily on DAJ http://daj.sourceforge.net/ and supports the Class Dictionary aspect (.cd) and the Traversal aspect (.trv) for programming traversal-related concerns. The synchronization aspect (COOL) has also been added in projects and a design for marshalling and remote invocation (RIDL) has been done. The purpose of this meeting is to discuss the advantages and disadvantages of XAspects and to identify topics that need to be addressed to make XAspects more useful. -- Karl PS. I like this work because it is a further development of DemeterJ where we have a small number of aspect languages, including COOL and RIDL.