In-Depth Features


Integrating Extension and Specialization Inheritance

Extension and specialization inheritance are two viewpoints of inheritance that are usually at odds; i.e., to fully support extension inheritance one should sacrifice specialization inheritance and vice-versa. We present a new approach to integrate the two views of inheritance in an OO language. Our approach to the integration enhances the use of inheritance both as a code reuse tool and as a modeling tool. The integration uses a new abstraction mechanism called the component. We use two separate language constructs to distinguish between the two perspectives of inheritance.

How legacy can meet wireless

While waiting for the proverbial "killer app," IT developers can start work on an architecture for linking back-room systems with wireless devices.

Gaining New Fields of Application for OOP: the Parallel Evolutionary Algorithm Case

Object-Oriented Programming (OOP) is continuously gaining new domains of application. We'll study several important design and implementation issues in one new domain: parallel evolutionary algorithms (PEAs). These algorithms are heuristics aimed at performing search, optimization, and machine learning tasks. We identify the potential and actual advantages of using OOP in such a field of application, as well as propose a class design for solving complex real-world problems with PEAs. Besides the methodological and practical outcomes, some results showing the efficiency and flexibility of the resulting OOP-PEA systems are offered herein. We conclude that OOP allows quick PEA prototyping, integration of new techniques within the PEA, and easy cooperation with other techniques in parallel, all of this without reducing the efficiency of the resulting PEA.

The new world of clustering

Clustering isn't just for databases anymore; builders of scalable, reliable and high-performance applications must implement a strong clustering strategy.

Renew, don't rewrite, legacy systems

IT can best e-enable legacy systems by building reusable "eaiComponents" and an Enterprise Integration Middleware platform using a slew of available tools.

Java & .NET can live together

Even Microsoft concedes its highly touted .NET platform won't purge IT units of Java tools and technologies. Tools to ease the process of linking Java and .NET technologies are emerging quickly.

The changing face of repositories

Emerging industry standards are making distributed repositories a reality; the failed centralized model gives way to a more realistic strategy of using multiple smaller stores for specific functions.

Tooling the MDA framework: a new software maintenance and evolution scheme proposal

The Object Management Group is rapidly moving from its previous Object Management Architecture vision (OMA) to the newest Model-Driven Architecture (MDA). At the center of this framework, the so-called four-level meta-modeling architecture provides the foundations for building a variety of automatic and semi-automatic model-transformation and code-generation tools. The most important will be platform targeted code-generation tools but there are plenty of other possibilities that we can expect to become available in the near future. As an example, this paper shows how modern meta-modeling and meta-programming techniques may be combined to implement a new generation of software maintenance tools. The proposal deals with the future maintenance of software written in the C# programming language, supported by the DotNet platform and uses all support available in the MDA framework (UML, MOF, XMI). In addition to this, we take advantage of the introspection properties of C#. A similar approach could also be used with other modern programming languages like Smalltalk or, to a lesser extent, Java.

ROI: Data mining's bottom line

Easier-to-use and embeddable data mining tools carrying shrinking price tags enable many more IT organizations to sift through complex data for kernels of gold.