Demeter Seminar Monday 10-12 in 149 CN Demeter Seminar Monday 10am - 12 noon 149 Cullinane Hall April 7, 2003 ======================================================================= Topic: XAspects by M. Shonle and A. Shah and K. Lieberherr Presentation by K. 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 April 14, 2003 ======================================================================= Several Topics: 1. What is the goal of PL research? The goal of PL research is to provide compact semantic and syntactic units with which to program the concerns of interest. The units should be shy of each other so that a change in one unit is absorbed and does not have a ripple effect on many other units. Or: PL Research is is about providing language constructs that are a good match with the concepts and concerns that a programmer is trying to work with. 2. The spectrum from Obliviousness through Information-hiding to Shyness. 3. Why do we need XAspects and how is this related to statically executable advice (our AOSD 2003 paper) 4. Issues in weaving graphs (TOPLAS paper) http://www.ccs.neu.edu/research/demeter/biblio/strategies.html April 21 ======================================================================= Johan Ovlinger: Topics in Aspectual Collaborations (Own thesis work, Caesar, Object Teams, etc.) April 28 ======================================================================= David Lorenz: ICSE 2003 paper: Pluggable Reflection Pengcheng Wu: Progress on Statically Executable Advice (work on journal version of paper) May 5 ======================================================================= Theo Skotiniotis: Topics in Dynamic Aspects. http://www.ccs.neu.edu/research/demeter/abb/collab/ and other work. May 12 ======================================================================= Sergei Kojarski: Interesting Separation of Concerns in Web Services (Work Sergei did in Russia) No Seminar: May 19 and May 26 June 2 ======================================================================= Macneil Shonle: Synthesizing Objects K. Czarnecki and U. Eisenecker. Synthesizing Objects. In Journal of Concurrency: Practice & Experience , Vol. 12, No. 14, John Wiley & Sons, Ltd., 10 Dec. 2000, pp. 1345-1377 (An earlier, shorter version was published in Proceedings of ECOOP'99 - Object-Oriented Programming, LNCS 1628, Springer-Verlag, 1999, pp. 18-42). This paper describes how to generate class hierarchies using the template facilities available in C++. It also provides a solution to typing generated recursive class structures. The paper was selected as one of the four best ECOOP'99 papers and suggested for publication in the Journal of Concurrency: Practice & Experience. This is work related to Xaspects http://www.ccs.neu.edu/research/demeter/xaspects/