User: Password:
   Keep me logged in.
Register  |  I forgot my password

Login  |  Register

Efficient Java Tools  - Listing Details
Statisticsw
  • Active Links: 58
  • Pending Links: 1
  • Todays Links: 0
  • Active Articles: 6
  • Pending Articles: 1
  • Todays Articles: 0
  • Total Categories: 33
  • Sub Categories: 20

ID:23
Title:EAOP tool
Pagerank:3
Short Description:
Listing Thumbnail
EAOP means Event-based Aspect-Oriented Programming and it is used for Java. The EAOP software provides a Java testable for the definition of expressive aspect languages. It enables weaving of aspect behavior during program execution based on relations between execution events. It supports the definition of expressive aspect languages and a general notion of dynamic aspect composition.
Description:

EAOP 1.0 realizes the EAOP model through the following characteristics:

  •  Dynamic aspect management: Aspects may be instantiated, composed and destroyed at runtime.
  •  Expressive crosscuts: execution points can be represented by events and crosscuts can be expressed which denote arbitrary relations between events.
  •  Aspects of aspects: Aspects may be applied to other aspects.
  •  Explicit aspect composition: Aspects may be combined using a (extensible) set of aspect composition operators.

Definition of expressive aspect languages is a major research issue of AOP. However, none of the common approaches to AOP allows for the flexible and powerful definition of new language constructs.

That’s why the Event-based Aspect-Oriented Programming model (EAOP) is developed and as a general-purpose, well-defined support for AOP with the following characteristics:

  • Execution events (e.g., method calls) represent points of interest of an application. Crosscuts, defined as sequences of events, explicitly represent relationships between points of interest.
  • Two aspects interact when two actions are triggered at the same point of interest. In order to support conflict resolution, EOAP model makes composition explicit through a tree whose nodes are composition operators and leaves are aspects. Such operators realize aspect compositions by controlling event propagation in the tree of aspects.

EAOP supports an arbitrary number of aspect instances at run time. Aspect instances may be created and composed dynamically. Composition operators are responsible for dynamically creating aspects and inserting (i.e., composing) them in the aspect tree.

Aspects may be applied to other aspects and not only the base program: the monitor is re-entrant. In this case, composition operators can filter events to be propagated and thus define scope of aspects.

It is implemented in Java the EAOP tool as a testable for the definition of expressive aspect languages. Aspect composition can be performed in EAOP by means of expressive and powerful composition operators. In particular, composition operators can be used for resolution of aspect interactions, for aspect instantiation, and for definition of aspects of.

The base program to be woven by our EAOP tool can be either Java source code (by instrumentation with the transformation tool GV Re-coder or Java byte code (by instrumentation using Reflex). Conceptually, aspects run in parallel with the base program. Already has investigated two implementations: a general one based on threads and an optimized one based on continuations (implemented by B. Lewis). The distribution of the EAOP tool is publicly available at http://www.emn.fr/x-info/eaop

EAOP is used for master lectures at EMN. Besides The Early Academic Outreach Program (EAOP) serves thousands participants from schools in Sacramento, Yolo and Solano Counties. The EAOP visits each school site to provide students with educational, career, academic and personal counseling.

The tool provides a testable experimentation of aspect languages. As such, it does not provide specialized languages for point cuts and advice (such as AspectJ) but offers a framework for the definition of arbitrary aspects.
Note that version 1.0 provides EAOP support for non-distributed applications.

The (GPL-licensed) distribution is available and free. It contains the complete source code, several examples and rudimentary documentation.

Category:AOP
Link Owner:alex
Date Added:November 07, 2009 08:57:52 PM
Number Hits:8
URL:    http://www.emn.fr/x-info/eaop/tool.html
Ratings
You must be logged in to leave a rating.
Average rating: (0 votes)
Reviews

No Reviews Yet.


You must be logged in to leave a Comment.
 
Bookmark Me
Latest articles
Java Licensing with Agilis
Agilis provides secure, flexible Java protection solutions to software vendors worldwide. Capabilities include Internet-based product activation on connected and disconnected systems, intranet or Internet-based floating licensing, node-locked licensing, named-user licensing, feature configuration, custom licensing, server licensing, trial licensing, subscription licensing, usage-based licensing, licensing via resellers or OEMs, revocable licensing, license reporting, user compliance management, backoffice integration and more.

FireStorm/DAO: What is DAO Design Pattern?
The Data Access Object (DAO) design pattern provides a technique for separating object persistence and data access logic from any particular persistence mechanism or API. There are clear benefits to this approach from an architectural perspective.

CA Plex: what is it?
Today’s business climate requires organizations to have business applications that help improve customer service, reduce costs, increase profits, get to market faster and respond more rapidly to competitive challenges. CA Plex provides a single, integrated environment that enables both traditional and SOA-based solutions for development. CA Plex uses building blocks known as patterns to help your development teams create and maintain large-scale business applications for multiple platforms — Windows/.NET, Java/J2EE or the IBM Power Systems/IBM i.

JCover Code Coverage: important to understand!
Why is coverage analysis important? Coverage analysis has the following benefits: * We can determine if our test suite is adequate. A test suite that achieves 65% statement coverage is hardly adequate. We cannot be confident of our product's quality with this much coverage. This figure prompts us to enhance the test suite. * We can identify redundant test cases that are not useful either in increasing code coverage or in finding new bugs. Fine tuning a test suite has immense benefits during regression testing. * We can find out if there are regions of code that cannot be exercised at all, and hence can be cleaned up. We sometimes find that an application has code to support a feature that was discontinued in an earlier release of the product! Although test cases are normally generated from the specification, coverage analysis helps us in identifying areas that require further test focus.

Codign CoView: JUnit Test Generation
Unit testing and coding go together like peanut butter and jelly. Each good by themself, but together? Now that's a good sandwich! Now you can benefit by easily creating the right JUnit test the first time. CoView provides a solution that makes sense, is unique and completely understandable. And it only takes 3 steps to have a complete set of JUnit tests for each of your classes.