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.
Clustering isn't just for databases anymore; builders of scalable, reliable and high-performance applications must implement a strong clustering strategy.
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.
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.
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.
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.
While waiting for the proverbial "killer app," IT developers can start work on an architecture for linking back-room systems with wireless devices.
IT can best e-enable legacy systems by building reusable "eaiComponents" and an Enterprise Integration Middleware platform using a slew of available tools.
Forward-compatibility and componentization have finally brought the long-ignored testing tenet "test early, test often"closer to reality. Expanded testing realm is providing "an honorable career" for testers.