@ARTICLE{Klein07a,
  author = {Jacques Klein and Franck Fleurey and Jean Marc Jézéquel},
  title = {Weaving Multiple Aspects in Sequence Diagrams},
  journal = {Transactions on Aspect-Oriented Software Development (TAOSD)},
  year = {2007},
  volume = {LNCS 4620},
  pages = {167-199},
  eid = {Springer-Verlag},
  abstract = {Handling aspects within models looks promising for managing crosscutting
	concerns early in the software life-cycle, up from programming to
	design, analysis and even requirements. At the modeling level, even
	complex behavioral aspects can easily be described for instance as
	pairs of sequence diagrams: one for the pointcut specifying the behavior
	to detect, and the second one for an advice representing the wanted
	behavior at the join point. While this is fine for informal documentation
	purposes, or even intuitive enough when a single aspect has to be
	woven, a more precise semantics of both join point detection and
	advice weaving is needed for using these modeling artifacts for Model
	Driven Engineering activities such as code generation or test synthesis.
	This paper proposes various interpretations for pointcuts that allow
	multiple behavioral aspects to be statically woven. The idea is to
	allow join points to match a pointcut even when some extra-messages
	occur in between. However, with this new way of specifying join points,
	the composition of the advice with the detected part cannot any longer
	be just a replacement of the detected part by the advice. We have
	to consider the events (or the messages) of the join point, but also
	the events which occur between them, and merge them with the behavior
	specified within the advice. We thus also propose a formal definition
	of a new merge operator, and describe its implementation on the Kermeta
	platform.},
  comment = {use_kermeta, en},
  url = {http://www.irisa.fr/triskell/publis/2007/Klein07a.pdf},
  x-editorial-board = {yes},
  x-international-audience = {yes}
}


