Book ChapterDOI
Stateful aspects in JAsCo
Reads0
Chats0
TLDR
This paper proposes an extension of the JAsCo aspect-oriented programming language for declaratively specifying a protocol fragment and presents a case study in the context of reaction business rules.Abstract:
Aspects that trigger on a sequence of join points instead of on a single join point are not explicitly supported in current Aspect-Oriented approaches. Explicit protocols are however frequently employed in Component-Based Software Development and business processes and are as such valid targets for aspect application. In this paper, we propose an extension of the JAsCo aspect-oriented programming language for declaratively specifying a protocol fragment. The proposed pointcut language is equivalent to a finite state machine. Advices can be attached to every transition specified in the pointcut protocol. Furthermore, the complement of a protocol can also be used for triggering aspects. The JAsCo tools support the stateful aspects language and implement it very efficiently by employing the JAsCo run-time weaver. As a validation of the approach, we present a case study in the context of reaction business rules.read more
Citations
More filters
Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
Proceedings ArticleDOI
Adding trace matching with free variables to AspectJ
Chris Allan,Pavel Avgustinov,Aske Simon Christensen,Laurie Hendren,Sascha Kuzins,Ondřej Lhoták,Oege de Moor,Damien Sereni,Ganesh Sittampalam,Julian Tibble +9 more
TL;DR: A new history-based language feature called tracematches is presented that enables the programmer to trigger the execution of extra code by specifying a regular pattern of events in a computation trace by exploiting the introduction of free variables in the matching patterns.
Proceedings ArticleDOI
Explicitly distributed AOP using AWED
TL;DR: This work proposes AWED, a new aspect language with explicit distributed programming mechanisms, which provides a notion of distributed advice with support for asynchronous and synchronous execution and shows several concrete examples how AWED can be used to modularly implement and extend replicated cache implementations.
Proceedings ArticleDOI
An expressive aspect language for system applications with Arachne
Rémi Douence,Thomas Fritz,Nicolas Loriant,Jean-Marc Menaud,Marc Ségura-Devillechaise,Mario Südholt +5 more
TL;DR: A new aspect system is presented to provide a solution to the problem of how to modularize the replacement of network protocols and prevent buffer overflows and an implementation of the language as an extension of Arachne, a dynamic weaver for C applications is presented.
Book ChapterDOI
Verify Your Runs
Klaus Havelund,Allen Goldberg +1 more
TL;DR: In this paper it is argued that regular economic use of program verification of arbitrary properties to be fully achieved within the 15 year time horizon of the challenge is not expected.
References
More filters
Book
Introduction to Automata Theory, Languages, and Computation
TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
Journal ArticleDOI
Aspect-oriented programming
TL;DR: This work proposes to use aspect-orientation to automate the calculation of statistics for database optimization and shows how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries.
Book
Business process execution language for web services
TL;DR: This book focuses on executable processes and comes back to abstract processes in Chapter 4, which can be used to replace sets of rules usually expressed in natural language, which is often ambiguous.
Book ChapterDOI
Aspect-Oriented Programming
TL;DR: An analysis of why certain design decisions have been so difficult to clearly capture in actual code is presented, and the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects.
Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.