IBM Banner
FindNewsProductSupportBusiness solutionsInside IBMInterest Groups
blank space
CME Logo
 
Home
Vision
Papers
Tools
Components
HyperJ
Guestbook
Send us mail

Concern Manipulation Environment Tools

The Concern Manipulation Environment (CME) includes a collection of end-user tools, which aid developers in performing full-lifecycle aspect-oriented software engineering. These tools are customized for particular tasks (e.g., creating a variant or adding a feature), lifecycle stages or artifacts (e.g., design or code, using UML, Java source, or Java byte codes), AOSD paradigms (e.g., AspectJ, Hyper/J, DJ, Composition Filters), and environments (e.g., Eclipse, Stellation).

The CME currently supports a small set of initial tools, and more will be added in the future. Brief descriptions of the available and still-to-come tools are given below. Note that some of these descriptions are elaborated upon in the CME handout.

The tools discussed here correspond to the Tools layer of the CME architecture.

Concern Explorer for Eclipse: An Eclipse-based tool that supports the creation and manipulation of concern models and composition over Java software using Hyper/J2. This tool is provided an Eclipse plug-in, and it is well-integrated into the Eclipse Java Development Toolkit. Developers can use the Concern Explorer for Eclipse at any stage of Java development. It works with standard Java source code, as well as with Java byte codes.

Concern Modeller: Support for concern modeling is provided at present through the Concern Explorer for Eclipse; eventually, it will be supported independently, as concern modeling spans all stages of the software lifecycle. Users can create concern models that reflect the structure of all of the concerns in their software, not solely the one reflected by the software's class structure, and concerns may overlap (i.e., two concerns can contain the same pieces of software) or cross-cut (i.e., the structure of one concern is defined in terms of the structure of another). The concern model can include concerns, which contain units (pieces of software artifacts) and/or other concerns (aspects are special kinds of concerns); relationships among concerns and among units; constraints that govern the behavior of collections of concerns or units; contexts, which are collections of elements (units or concerns) with relationships and/or constraints that apply to the elements within that context; and compositions, which are contexts that support composition or weaving. Concerns and other concern model elements can be identified at any stage of the software lifecycle, including on existing software.

Hyper/J2: This is a stand-alone compositor tool that supports Hyper/J-style concern definition and composition.

Hyper/J2 is only one compositor tool, which supports one particular AOSD paradigm. Other compositor or weaver tools, which support other languages and/or AOSD paradigms (e.g., AspectJ), may also be usable from within the CME in the future.

HyperProbe: HyperProbe facilitates the insertion of probes into existing software to aid in the task of problem determination. The probes are defined as separate aspects, and are composed into existing Java binaries. HyperProbe has been used successfully in industrial settings.

Design Development Tool: The Design Development Tool will support aspect-oriented software design in UML.

Extend: A common activity in software engineering is to develop extensions or variants of existing software. The Extend tool will specifically facilitate this activity.

Extract: A concern model is an abstract, virtual view of a collection of software artifacts and artifact fragments. The Extract tool takes one or more concerns from a concern model and generates usable, correct software artifacts that are structured based on that concern model.


Research Footer