IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Java technology  >  

HyperJ

Make extensions to existing Java programs, integrate Java programs, and remodularize Java programs without having to modify, or even have, source code.


Date Posted: January 7, 2000
OverviewRequirements Download FAQs Forum Reviews

Update: July 8, 2003

Simplified control files, support for different bracketing of the same method for different call sites, additional composition relationships, and more.

What is HyperJ?

HyperJ is a tool that supports advanced, "multi-dimensional" separation and integration of concerns in standard JavaTM software. This support facilitates improved modularization, adaptation, composition, integration, and even non-invasive remodularization of Java software components.

How does it work?

With HyperJ, a program can be decomposed according to unencapsulted concerns as well as classes. New separate modules can be created, in standard Java, that encapsulate these concerns from scratch, without modifying the rest of the program or interfering with the work of other developers; or such modules can be extracted from existing Java programs. Selections of these modules can then be integrated to yield programs that are executable on standard JVMs. Multiple system decompositions can even be created simultaneously and new decompositions added at any stage of the software development lifecycle. HyperJ helps in managing the interactions across different decompositions. HyperJ also provides a powerful composition capability, which can be used to combine separated concerns selectively into an integrated program or component.

HyperJ is written in standard Java and is released as a standard JAR file. It has no known operating system or virtual machine dependencies. Please see the FAQ for details about updates to HyperJ.

HyperJ has evolved into a new, broader technology called the Concern Manipulation Environment (CME), which is available as an open-source project at www.eclipse.org/cme.


About the technology author(s):
Peri Tarr is a research staff member at IBM's Thomas J. Watson Research Center. She co-invented, and conducts research in, multi-dimensional separation of concerns (MDSOC). Ms. Tarr leads the HyperJ development effort, provides MDSOC support for Java, and has been exploring issues in multi-dimensional separation of concerns throughout the software lifecycle.

Harold Ossher is a research staff member at IBM's Thomas J. Watson Research Center. He co-invented subject-oriented programming in 1993 and multi-dimensional separation of concerns and hyperspaces in 1998-99. Mr. Ossher manages a group that conducts research in and provides tool support for MDSOC and applies the composition concepts and tools to other domains.

Vincent Kruskal is a research staff member at IBM's Thomas J. Watson Research Center. He has been involved in tools for enabling multi-dimensional programming since the early 1980s, when he invented and led a group that created P-EDIT, a VM/CMS multi-dimenional text editor. Since the mid 1990s, Mr. Kruskal has been a member of the Software By Composition group and has played key roles in the design and implementation of HyperJ and its predecessor, Subject-Oriented Programming.

Matthew Kaplan joined Watson in 1991 and has developed technology for compositional programming in its various forms. Mr. Kaplan is a co-inventor of the Matching and Reconciliation technique used in HyperJ and its Subject-Oriented Programming predecessor, and he also investigates the use of automated composition techniques for content integration and transformation.

Download now Download now

Related technologies

For platform(s):
All Java Platforms

For topics:
integration, Java technology


 

    About IBM Privacy Contact