Prose

Project Rank in Aspect-oriented Programming:   7

PROSE (PROgrammable extenSions of sErvices) allows Java programs modification at run-time. To modify a program, it is first necessary to identify where to change the program. Potential points of interest may be, e.g., incoming and outgoing calls or variable access. Once a set of such points is identified, it is necessary to establish what additional actions are needed at those points. After this step, each time the execution reaches one of the points of interest, the execution is intercepted, and an additional piece of code is executed. All this information (where to change a program and what additional code to execute) is encapsulated into a single unit of software called aspect, like in other AOP systems. Typical examples of aspects are:

  • Invoke the additional code txBegin before entering any method matching "*transaction*".
  • Invoke the additional code updateDBTable whenever a variable belonging to "*EntityBean*" classes is written.

Run-time adaptation is done by inserting (or weaving) aspects into applications. Aspects can also be withdrawn, leaving the program as if no insertion ever took place. Inserting and removing aspects allows treating adaptations that affect a large number of points as a single modification operation.


PROSE allows inserting aspects in running Java applications. PROSE aspects are regular JAVA objects that can be sent to and be received from computers on the network. Signatures can be used to guarantee their integrity. Once an aspect has been inserted in a JVM, any occurrence of the events of interest results in the execution of the corresponding aspect advice. If an aspect is withdrawn from the JVM, the aspect code is discarded and the corresponding interception(s) will no longer take place.



See Other Best Aspect-oriented Programming Projects in Java:

List of Companies, Suppliers, Distributors, Importers & Exporters
Add to favorites | Contact US | Java Example Source Code | Sitemap Generator
Copyright © 2007 - 2008 exampleshow.com