Brad Appleton's Object Orientation Links

Last update: Thu Feb 26 16:29:28 CST 1998


Brad Appleton
Software Tools Developer
E-mail: brad@bradapp.net
WWW: www.bradapp.net/

410 links to Object Orientation on the World Wide Web.

Detailed Table of Contents


O-O Resources and Directories

Cetus Links: Object-Orientation
The Object-Oriented Page
Adaptable O-O Software Systems
Cetus Links: O-O Libraries
CHOOSE Home Page
CHOOSE is the Swiss Group for Object-Oriented Systems and Environments, and is a special interest group of the SI (Swiss Informaticians Society). This page offers information concerning CHOOSE and Object-Oriented events inside Switzerland and elsewhere.
Collection of Information on OO Approach
CSG Object-Oriented Technology Resources
Dick Botting's Object Links
Directory of Object Technology
EG3 O-O Internet Resources
Great Object Oriented Links
IBM Application Development and Object Technology
Index to Object-Oriented Information Sources
Lascelle & Associates O-O Links
March - Object Oriented Web Pages
OOISC: O-O Integrated Solutions Center
The OO SoapBox
Object Developers Group
Object Development Gateway
Object Focus' Object Technology Resource
Object Technology Page
Object Technology Sites
Object-Oriented Bootstraps
Object-Oriented Information Sources
Object-Oriented Internet Resources
Object-Oriented Numerics Page
Object-Oriented Programming Resources
ObjectDesigners O-O Links
OOSE Hot Links
Other OO FTP sites
Programmer's Oasis Links
PROG's General OO Page
Quintessoft O-O Links
Silvano's Hot Links
Spool Links
SPOOL is an acronym for Spreading desirable Properties into the design of Object -Oriented Large-Scale System. This page has a cornucopia of links related to this topic.
Taligent Object Technology Resources
Technion, Object Oriented Programming site
Useful O-O links on the WWW

back to Object Orientation


O-O Training and Tutorials

CRC Cards Tutorial, Brian Gonzalez
OOD using Design Patterns Course
ISE O-O Technology papers
CRC Cards Tutorial, Nils Brummond
OOP Transience to Persistence: Architectures & Patterns
Broadening beyond objects to patterns and to other paradigms
Basic Object-Oriented Concepts
Documents/Sources for C++ and OOP
The Essence of OOP
Fundamental Facts about O-O Architecture
Jokes on OO and OOP Home Page
Object-Orientation FAQ
O-O and Graphical Programming
O-O Humor
O-O Practitioner Guides
O-O SW Design & Construction
Object Ideas Tutorial List
Object-Orientation FAQ
Object-Oriented Programming
Object-Oriented Strategies, Cutter Group
OO Design Web Reference Home Page
OO Design, Terms and Definitions
OOP by The Software Doctor
OOSC2: Concurrency, Distribution, Client/Server and the Internet
OOSC2: Finding Classes
OOSC2: Using Inheritance well
Ootips - Object Orientation Tips
OSU OOP Course
Rational Rose OOD Tutorial
Scott Ambler's Online Writings
Taligent Object Technology Glossary
Teaching Object-Oriented Analysis and Design
The Coad Letter Archives
The Object-Oriented Paradigm, Developer's Handbook
What is Object-Oriented Software? An Introduction

back to Object Orientation


O-O Groups and Conferences

BCS OOPS Home Page
Center for O-O Technology & Research
COOTS'95 Papers
COOTS'98
ECOOP'98 Web Site
NSW Branch: Object-Oriented SIG
Object-Orientation Ph.D. Network - Home Page
Object International Homepage
OOPSLA - Index to Conferences
OOPSLA'96 Electronic Information Hotline
OOPSLA'96 Technical Program
OOPSLA '97 - Program
OOPSLA'98 - Call For Participation
TOOLS USA 1997
USENIX Conference Proceedings

back to Object Orientation


O-O Publications

Bibliographies on O-O Programming & Systems
COOTS '97, Advanced Topics Position Papers
CU Arcadia Object Management Papers
DIAMONDS Project
This home page is designed to introduce the ongoing Software Engineering Research project within the CASE Center, called DIAMONDS. This research is aimed at the discovery and construction of software development methods and corresponding software tools (programs) that improve the quality and productivity of object-oriented (OO) software engineering. DIAMONDS is targeted to support computation on heterogeneous distributed systems.
Dirk Riehle
IBM Object Technology References
Icon Computing Articles
Literate Programming and OOP
MPI - The Message Passing Interface Standard
Object Magazine Online
Object Mentor Publications
ObjectSoftware's O-O Testing Papers
OMG Publications
O-O Parallel Programming - Summary of Research
Publications on Object Oriented Programming
Rational's Technical Papers
Taligent Technology & Resources
Theory and Practice of Object Systems
TOA's On-Line Documents
Trends in Object-Oriented Programming
U. Arizona O-O Bibliographies
ZGDV OOP Documents

back to Object Orientation


O-O Systems and Projects

ACE: The Adaptive Communication Environment
The ADAPTIVE Communication Environment is an object-oriented toolkit that implements strategic and tactical design patterns to simplify the development of concurrent, event-driven communication software. ACE provides a rich set of reusable C++ wrappers, class categories, and frameworks that perform common communication software tasks across a range of operating system platforms. The communication software tasks provided by ACE include event demultiplexing and event handler dispatching, service initialization, interprocess communication, shared memory management, message routing, dynamic (re)configuration of distributed services, multi-threading, and concurrency control.
ACT++
ACT++ is a system for concurrent and distributed object-oriented programming in C++. The source code and documentation for the system are freely available as are research papers written about the system.
Apertos: the Reflective O-O OS
Arjuna Project Information
Arjuna is an object-oriented programming system that provides a set of tools for the construction of fault-tolerant distributed applications.
Bast - reliable distributed computing
Bast is an object-oriented framework for building fault-tolerant distributed applications in a modular and easy manner. It also aims at helping in the implementation of distributed protocols, by providing protocol classes, as well as centralized and distributed design patterns.
Cogito Project
The goal of the research is to facilitate software production for applications in advanced scientific computing. In particular, the focus is on methods for solving time-dependent PDE problems, for example in fluid dynamics. Current research issues are (a) object-oriented software tools in this area (implementations in Fortran and C++), and (b) methods for automatic parallelization of computational methods in this area. The aim is to design software tools that make it possible to write codes on a high level of abstraction. One important issue in this context is to decouple various program components (grid, grid function, numerical method, mathematical problem), for easier program composition, modification and maintenance. Another key issue is portability between various computer architectures. In particular, an essential subgoal is to make it easier to program parallel computers.
DASCo
DASCo (Development of Distributed Applications with Separation of Concerns) is a distributed systems development approach based on a "divide and conquer" strategy. This strategy helps to identify minimal domain-specific solutions and how to combine them in different contexts. Moreover, DASCo enforces an incremental development process which incorporates the domain-specific solutions in a stepwise manner and delays implementation in the final target environment. DASCo deals with complexity at both, problem and solution space. Three pattern languages, defining the stepwise development process, are being defined for partitioning, concurrency and robustness concerns at the problem space. The development process is supported by a three-layered object-oriented framework providing design solutions for solution space concerns: concurrency, synchronization, recovery, replication, naming, configuration and communication. Furthermore, the framework also supports multiple concern combinations. For each concern, object-oriented design patterns are being designed such that encapsulation, extensibility, modularity and reusability are qualities present in the solution.
Forest Project
The Forest project is investigating the use of persistent programming systems for the construction of software development environments. We believe that the persistence and tool integration mechanisms of traditional operating systems are a major limiting factor in the development of powerful, multi-user software development environments. Our intent is to replace the use of file systems and ad hoc persistence mechanisms with typed, persistent objects that are defined and manipulated in a standard object-oriented programming language.
The Genesis Project
The Genesis class library solely targets the development of business models in C++. It offers the following features: bullet-proof implementation of attributes and associations; scalable object persistency, ranging from file oriented databases to enterprise sql servers; customizable database interface at different levels of abstraction; reusable design patterns like the subject-observer pattern and smart pointers; high portability due to ANSI C++ compliance.
The GEO Project at Ubilabs
The goal of the project is to devise a component-based software architecture for large-scale distributed object systems. Research is pursued in three related but distinct areas to better understand the different forces which shape viable software architectures. At the conceptual level it makes use of distributed object systems, frameworks, and reflective objects and components.
The Globe Project
n this research we are looking at a powerful unifying paradigm for the construction of large-scale wide area distributed systems: distributed shared objects. In our model, the universe consists of a vast number of shared objects, each of which has some associated methods. Authorized users of an object may invoke an object's methods. A method can return the contents of a Web page, but it can also accept an email or news message, look up a name in a worldwide distributed database, access a file or perform an arbitrary other action.
Gwydion Home Page
In this white paper we present our vision of a software development environment that is optimized for evolutionary program development, in which changes and refinements continue to be made throughout the life cycle of the software. We are now developing such an environment, which we call ``Gwydion''[1]. Gwydion will serve as a prototype to demonstrate the power of evolutionary programming techniques (section [*]). We also believe it will be a popular and widely used tool, both in the research community and in forward-looking companies
The ITHACA Project
ITHACA is an Esprit Technology Integration Project whose aim is to develop an integrated application development and support environment based on the object-oriented programming approach.
Illinois Concert Project (CSAG)
The goal of the Concert project is to develop portable, efficient implementations of concurrent object-oriented languages. Our approach incorporates aggressive whole program compilation, interprocedural optimization, and an efficient runtime system which works in concert with the compiler optimizations. The Concert System is an embodiment of these techniques, providing efficient implementations of object-oriented programs on a variety of platforms.
JACE: Java ACE
Java ACE is a collection of Java packages containing classes that have been converted from the C++ version of the ADAPTIVE Communication Environment (ACE). The C++ version of ACE is a large object-oriented network programming toolkit which contains over 85,000 lines of C++ code and uses advanced C++ features like templates. The goal of converting ACE from C++ to Java is to provide a portable programming toolkit with a similar interface and functionality to the original version of ACE. This allows new and current users of C++ ACE an easy transition to Java and also adds significant value to programming concurrent Java networking applications. Note that applications written using Java ACE can communicate seamlessly over sockets with applications written using C++ ACE.
The UW Cecil/Vortex Project
Vortex is an optimizing compiler infrastructure for object-oriented and other high-level languages. It targets both pure object-oriented languages like Cecil and hybrid object-oriented languages like C++, Modula-3, and Java. Vortex currently incorporates high-level optimizations such as static class analysis, class hierachy analysis, profile-guided receiver class prediction, profile-guided selective procedure specialization, intraprocedural message splitting, automatic inlining, and static closure analyses. It also includes a collection of standard intraprocedural analyses such as common subexpression elimination and dead assignment elimination. The Vortex compiler is written entirely in Cecil.
MagicWand
The Mjolner System
ObjectFarm
Object-oriented systems at UCSB
The UCB O-O Systems and Compilers research group investigates compiler optimizations for object-oriented languages, related implementation aspects (such as dispatch mechanisms or garbage collection), and studies of the instruction-level behavior of object-oriented programs.
Object Systems Group
The Object Systems Group is a research group at the Centre Universitaire d'Informatique of the University of Geneva under the direction of Prof. Dennis Tsichritzis. Current research directions of the OSG include theoretical and practical aspects of object-oriented programming languages, multimedia and electronic publishing.
OODesigner
The OPUS Project
There is currently no commonly accepted formal model for object-oriented programming. The main motivation of the OPUS research project is to design an elementary calculus to express object-orientedness. It should model the crucial features of object-oriented programming in an orthogonal way.
OZ: O-O Distributed Environment
OZ is an objected-oriented distributed systems environment under development to realize worldwide programming environment in which not only data but also services and classes over networks. OZ is implemented on Java.
Pampa Project
The Pampa project aims to contribute to the safe and sound programming of distributed architectures. We suggest this is best achieved by the design of models and tools which link together programming-models with the distributed execution-model. One of our research directions is to use object-oriented technologies in order to build programming models dedicated to a given application domain: the model is then reified into a framework integrating both design and V & V tools.
POOMA - Parallel Object-Oriented Methods and Applications
Renaissance Project
Renaissance is a project to investigate the applicability of object-oriented techniques to the construction of large scale distributed systems. For a complete overview of the system see our overview paper.
The ROOT System Home Page
Just like trees and plants, applications need strong roots to grow and flower. ROOT is a comprehensive object oriented framework that provides a solid foundation on which large scale data analysis applications can be built.
SCG / Zypher
Zypher is an attempt for a cross-fertilization between state of the art object-oriented software engineering and open hypermedia systems.
Sina
Sina is a concurrent object-oriented programming language, and it is the first language to adopt the Composition Filters Object Model (CFOM). The CFOM is an extension to the object-oriented model and can express a number of concepts in a reusable and extensible way. The Sina language has been developed by the TRESE project as an expressive vehicle for the Composition Filters Object Model. The TRESE project (part of the SETI Group at the Computer Science Department of the University of Twente, The Netherlands) performs activities related to research on compositional object technology.
The Spring System.
The Spring Project at Sun Microsystems is investigating new technologies for constructing operating systems and for simplifying distributed programming. As part of this work, we have constructed the Spring distributed operating system. Spring is a highly modular, object-oriented operating system, which is focused around a uniform interface definition language. Spring is intrinsically distributed, with all system interfaces being accessible both locally and remotely.
TAO: The ACE ORB
The TRESE project
The TRESE project aims at performing activities related to research on compositional object technology. This research includes the development of object-oriented frameworks, models, methodologies and supporting tools for creating and maintaining adaptable software.
The Tycoon Project
Tycoon is a polymorphic persistent programming environment for the development of data-intensive applications in open environments. The Tycoon system emphasizes system scalability and interoperability with commercial servers like Ingres, Oracle, ObjectStore, O2, Inquery, SAP R/3, NeWS, StarView, C and C++ libraries, Sun-RPC, DCE-RPC and Kerberos.
The UFO Project
The United Functions and Objects project has developed a programming language which unites functional and Object Oriented Programming techniques. A large subset of UFO is a pure, higher-order functional language incorporating the OO notions of classes, inheritance, and dynamic binding. Another important aspect is the provision of multi-dimensional functional arrays, with integrated loop structures and monolithic operators, which generalise those of SISAL. However, unlike SISAL, UFO is not a pure functional language. It has stateful objects, which allow programs to be written in a concurrent object-oriented style where appropriate. Safeguards are provided, both in the semantics of operations on stateful objects and in the type system, to minimise the problems associated with introducing state.
The Mjolner BETA System Home Page
The Mjolner BETA System is a software development environment and tools set for use with the BETA programming language.
wOrlds: An Open Environment for Support of Collaborative Activities
wOrlds is focused on the development of a next generation computer-supported collaborative work (CSCW) framework. Previous CSCW systems have tended to suffer from several problems - they tend to look at small problems in isolation and provide overly-rigid systems for collaboration support. To a large degree we believe these problems arise from an inadequate theoretical orientation to the issues that arise with collaboration support.

back to Object Orientation


O-O Theory & Research

Foundations of O-O Languages
Luca Cardelli - O-O Theory & Research
Castagna's Publications
Cristina Videira Lopes's WWW Home Page
Fzi Prost's Publications
Konstantin Laufer's publications
MOP and Reflection Related Links
Peter Wegner's Home Page
Ole Agesen's home page
OO Type Theory
Object-Oriented Metrics Publications
OPUS the Next Generation
OOPSLA'96 papers on O-O Metrics
O-O Metrics Discussion
O-O Systems Metrics
POOMA: Parallel O-O Methods & Applications
QMOOD++ - automated Quality Metrics for OOD
SDCR OO Working Group
Strategic Directions in Computing Research O-O Working Group

back to Object Orientation


O-O Frameworks

Frameworks Home Page
Another Frameworks Home Page
Application Framework Laboratory
We observe that there exist three kinds of application building tools today: general-purpose, domain-specific, and component-oriented tools. ApplFLab's aim is to bring these three styles of application building closer together. It enables the user to create his own user interface components that can be reused like any other standard user interface component. In general, self-made user interface components are domain-specific. They contain all the necessary component logic. They only have to be linked with the domain model. This leads to a component-oriented application building style.
Argo - AIV Frameworks Conference Papers
Cetus Links: O-O Frameworks
Developing O-O Software with Patterns and Frameworks
Developing with Taligent Frameworks
DASCo
DASCo (Development of Distributed Applications with Separation of Concerns) is a distributed systems development approach based on a "divide and conquer" strategy. This strategy helps to identify minimal domain-specific solutions and how to combine them in different contexts. Moreover, DASCo enforces an incremental development process which incorporates the domain-specific solutions in a stepwise manner and delays implementation in the final target environment. DASCo deals with complexity at both, problem and solution space. Three pattern languages, defining the stepwise development process, are being defined for partitioning, concurrency and robustness concerns at the problem space. The development process is supported by a three-layered object-oriented framework providing design solutions for solution space concerns: concurrency, synchronization, recovery, replication, naming, configuration and communication. Furthermore, the framework also supports multiple concern combinations. For each concern, object-oriented design patterns are being designed such that encapsulation, extensibility, modularity and reusability are qualities present in the solution.
Dirk Riehle's Frameworks papers
DISCUS Framework
The Data Integration and Synergistic Collateral Usage Study (DISCUS) has developed a framework for the integration of software applications in distributed workstation environments. The DISCUS framework provides an industry standards-compliant approach to integrating commercial off-the-shelf/government off-the-shelf (COTS)/(GOTS) systems and prototypes. The framework enables low-cost integration of prototype technology in pilot operational environments. Cost of integration will be reduced due to the commonalty of interface descriptions and the reusability of interfaces between alternate applications and platforms. New end-user functionality will be provided through increased capabilities for application data interchange and distributed application control. The framework will enhance the extensibility of operational environments, allowing increased use of COTS and leading edge research technologies.
Framework Course
Frameworks - Patrick Steyaert
Framework-Based Software Development in C++
Frameworks and Design Patterns
The GEO Project at Ubilabs
The goal of the project is to devise a component-based software architecture for large-scale distributed object systems. Research is pursued in three related but distinct areas to better understand the different forces which shape viable software architectures. At the conceptual level it makes use of distributed object systems, frameworks, and reflective objects and components.
GUI Toolkit/Framework Page
Huston Frameworks
Jan Bosch's Papers
Language Support for Design Patterns and Frameworks
Leveraging Frameworks
The Object-Oriented Framework Bibliography
The SanFrancisco Project, IBM Shareable Frameworks
Taligent Frameworks Paper's
OOPSLA'96 OT Frameworks papers
Patterns for Framework Evolution
Patterns, Protocols, and Frameworks (Booch)
PSL: Protocols and Pragmatics for Open Systems
TransFrame - Domain-Specific Frameworks
The ROOT System Home Page
Just like trees and plants, applications need strong roots to grow and flower. ROOT is a comprehensive object oriented framework that provides a solid foundation on which large scale data analysis applications can be built.
Workshop on Language Support for Design Patterns and Frameworks
Cetus Links: O-O Libraries
Reuse Contracts
Logical Frameworks
Brian Foote
Joseph Yoder's Framework Page

back to Object Orientation


O-O Methods, Models and Notations

Cetus Links: O-O Methods
Cetus Links: O-O Tools
O-O Methods Comparative Review
O-O Methods: Links, Summaries, Comparisons
Survey of OO A+D Techniques, Martin Fowler
Booch Method Introduction
BON Home Page
BON, the Business Object Notation, is a method and graphical notation for high-level object-oriented analysis and design. BON is based on concepts similar to those of Eiffel but can be used independently of Eiffel, for example by people using another O-O language for implementation. Many people who are attracted by the power and practicality of the concepts start with BON as their first step towards modern, systematic O-O software construction, even if in the short term they must use another implementation language.
Catalysis
Converging on OOAD methodology agreement
A Laboratory For Teaching O-O Thinking
The original paper introducing the CRC card technique
CRC Cards, Ward and Kent's seminal paper
CRC Cards Tutorial, Brian Gonzalez
CRC Cards Tutorial, Nils Brummond
Demeter's WWW Home
Design by Contract
Discovery Home Page
The "Discovery" development method for O-O systems.
Fusion Object-Oriented Development on the Web
Icon Computing Comparison of OOA/D Methods
ION Homepage
Composition Filters Object Model
MOSES Home Page
Object-Oriented Change and Learning
Object-Oriented System Development: HTML Edition
Object Petri Nets, Univ. of Tasmania
Object Petri Nets (OPNs) extend the formalism of Coloured Petri Nets with a complete integration of object-oriented features, including inheritance, polymorphism and dynamic binding. The object-orientation provides powerful structuring primitives allowing the modelling of complex systems, including those with multiple levels of activity.
OCL - Object Constraint Language for UML
OCTOPUS - an OO realtime embedded systems method
OPEN (O-O Process, Environment and Notation)
OOAD Methods Comparative Review
OMT Papers from Rational
OMT++
POOMA - Parallel Object-Oriented Methods and Applications
SCRUM Home Page
Jeff Sutherland's SCRUM Page
Shlaer-Mellor Method
Syntropy
The Unified Modeling Language
UML Dictionary
UML Center, Platinum Technology
UML for Real-Time Systems Design
UOL: Universal Object Language for UML and OML
Quality Software and the UML
Use-Case FAQ
Use-Case Resources Page
Use-Cases Workshop (OOPSLA)
Use-Cases, Alistair Cockburn
Use-Cases adorned with Goals
Use-Cases intro (from UML Distilled)
Using Use-Cases, Paul Beaudry

back to Object Orientation


O-O Software Development

Aspect-Oriented Programming Home Page
Cetus Links: O-O Metrics
Cetus Links: O-O Tools
Cetus Links: Software Reuse
ECOOP '96 Adaptability Workshop
Genitor - Building a Rapid ODE
Genitor is a suite of development tools that assists C/C++ developers in implementing and reusing objects. A graphical editing environment lets developers rapidly construct any kind of class, function, struct, union, or template. Genitor stores objects in one or more shared repositories. Powerful search capabilities help users quickly locate and reuse objects developed by any member of their project team. Genitor generates compiler-ready code as well as printed and online documentation.
Cetus Links: O-O Testing
Design of Object-Oriented Real-time Systems
DesignFest '97 Home Page
DesignLab '96
Issues in Large O-O Systems
Jeff Sutherland's Object Technology Web Site
Law of Demeter
Measures of Goodness
O-O Information Systems
O-O Projects and Teams
O-O Systems & Modeling Labs
Object-Oriented Design Workshop
Object-oriented Paradigm Group
Object-Oriented Programming
Objectifying Information Technology
OSM Lab Home Page
OT, Architectures, and Domain Analysis
A Question of Balance
The Rational Approach
The Rational Development Process
RBSC O-O Testing Papers
Reuse Contracts
Richard T. Due'
Software as a Strategic Weapon

back to Object Orientation


O-O Business Object & Process Engineering

BPR On-Line Learning Center
BPRPatternLanguage
Business Object Design and Implementation
Business Object Design and Implementation II
Business Objects for Corporate Information Systems
Business Object Glossary
Business Object Page
Business Transformation Book Café
Cetus Links: Business Objects
CEBUSNET
CEBUSNET: Collecting, Deriving, Describing, Verifying, Consolidating, and Disseminating Business Best Practices within Business Processes.
Convergent Engineering
Convergent Engineering is he synthesis of business and software engineering into a coherent, unified discipline. The goal of convergent engineering is to produce efficient, effective designs which represent both a business and its supporting software systems. Object technology is the critical enabler for this discipline because it permits the fundamental elements of a business design, such as customers and products, to be represented directly in the form of executable business objects.
DTIC's BPR Help Desk, Home Page
INSTRUMENTS Home Page
Tools and Techniques for Integration of Workflow with Groupware and BPR INSTRUMENTS main objectives are: To provide the mechanisms to choose, use and interoperate in the optimum way workflow systems, groupware environments and BPR decision support tools. To contribute to the improvement of work processes in users' organization, by exploiting workflow, groupware and BPR decision support tools.
Michael Beedle's Home Page
OMG Business Application Architecture
Poly-wha? Business Object Terminology
Information Architecture and Process Innovation
Successfully Performing BPR

back to Object Orientation


O-O Distributed Systems


ORBs - Object Request Brokers

Cetus Links: CORBA
Cetus Links: Object Request Brokers
CORBA
CORBA IDL Design Patterns and Idioms
CORBA and OMG Resources, LANL
CORBA, a brief tutorial
CORBAnet - The ORB Interoperability Showcase
CORBAservices Index
Distributed Object Computing and CORBA Documents
The Electra Object Request Broker
Expersoft's CORBA Programming & Principals
HORB - a free Java ORB
HORB is a freely available object request broker written entirely in Java. It allows Java programs to call other objects on a remote server.
IONA Technologies
JacORB
JacORB is a freely available, CORBA 2.0 compliant ORB written in Java. It is published under the GNU Public License.
Java IDL
JavaTM IDL, Sun's 100% Pure Java Object Request Broker (ORB) system, provides the software foundation necessary to deliver enterprise client/server applications for the Internet. Applications that use Java IDL seamlessly integrate with non-Java programs and programs from other vendors. The Java IDL systems is based on the latest CORBA and IIOP industry standards.
JIDL: The CORBA IDL Compiler for Java
Jorba
Jorba is currently work in progress. When complete, it will be a CORBA 2.0 compliant (almost) Object Request Broker suite implemented in Java.
ObjectDirector ORB HomePage
OmniBroker Home Page
A CORBA-compliant, C++ object request broker
omniORB2
A free, CORBA2 compliant ORB
TAO: The ACE ORB
TeaTime - freeware distributed OODBMS
Voyager - an agent-enhanced Java ORB
Voyager is an agent-enhanced Object Request Broker (ORB) for Java. Voyager allows Java programmers to quickly and easily create sophisticated network applications using both traditional and agent-enhanced distributed programming techniques. Java programmers use regular Java message syntax to construct remote objects, send them messages, and move them between applications. This creates mobile autonomous agents that can roam a network and continue to execute as they move.
Voyager Technical White Papers

back to O-O Distributed Systems

ACT++
ACT++ is a system for concurrent and distributed object-oriented programming in C++. The source code and documentation for the system are freely available as are research papers written about the system.
ANSA Distributed Objects and the WWW
Arachne - CORBA/Component-based Toolkit
Architectural Styles and Design Patterns for Distributed Objects
Bast - reliable distributed computing
Bast is an object-oriented framework for building fault-tolerant distributed applications in a modular and easy manner. It also aims at helping in the implementation of distributed protocols, by providing protocol classes, as well as centralized and distributed design patterns.
Cetus Links: Distributed Objects
C++ Report Columns on DOC
DASCo
DASCo (Development of Distributed Applications with Separation of Concerns) is a distributed systems development approach based on a "divide and conquer" strategy. This strategy helps to identify minimal domain-specific solutions and how to combine them in different contexts. Moreover, DASCo enforces an incremental development process which incorporates the domain-specific solutions in a stepwise manner and delays implementation in the final target environment. DASCo deals with complexity at both, problem and solution space. Three pattern languages, defining the stepwise development process, are being defined for partitioning, concurrency and robustness concerns at the problem space. The development process is supported by a three-layered object-oriented framework providing design solutions for solution space concerns: concurrency, synchronization, recovery, replication, naming, configuration and communication. Furthermore, the framework also supports multiple concern combinations. For each concern, object-oriented design patterns are being designed such that encapsulation, extensibility, modularity and reusability are qualities present in the solution.
DIAMONDS Project
This home page is designed to introduce the ongoing Software Engineering Research project within the CASE Center, called DIAMONDS. This research is aimed at the discovery and construction of software development methods and corresponding software tools (programs) that improve the quality and productivity of object-oriented (OO) software engineering. DIAMONDS is targeted to support computation on heterogeneous distributed systems.
Distributed Computing Research Lab Roster
Distributed O-O Infrastructure Issues
Distributed Object Computing Group
Distributed Object Computing Research Group
Distributed objects and components
Distributed Objects and Systems Group
Distributed Objects and the WWW
Dome: Distributed Object Migration Environment
Expersoft's Distributed Objects Tutorial
The GEO Project at Ubilabs
The goal of the project is to devise a component-based software architecture for large-scale distributed object systems. Research is pursued in three related but distinct areas to better understand the different forces which shape viable software architectures. At the conceptual level it makes use of distributed object systems, frameworks, and reflective objects and components.
The Globe Project
n this research we are looking at a powerful unifying paradigm for the construction of large-scale wide area distributed systems: distributed shared objects. In our model, the universe consists of a vast number of shared objects, each of which has some associated methods. Authorized users of an object may invoke an object's methods. A method can return the contents of a Web page, but it can also accept an email or news message, look up a name in a worldwide distributed database, access a file or perform an arbitrary other action.
HCI Distributed O-O Systems
Java Distributed Systems
MIT Thor System
Thor is a large-scale distributed object oriented database system that provides reliable and highly available persistant storage for objects. Thor makes future applications substantially easier to build by providing a high-level platform for application development. Application programmers need not to be concerned with distribution, caching, disk management, and can focus on providing application services to users. Thor allows application programmers to use their preferred programming language and even to develop applications using a variety of programming languages; the components in the different languages will be able to inter-operate by sharing objects in Thor. The objects in Thor are specified and implemented in Theta, a new programming language developed by the Programming Methodology group.
Note on Distributed Computing, Sun Labs
The Object Management Group
OMG Publications
Orbis Technology - Sapphire/Web White Paper
The goal of Sapphire/Web is to provide the leading "Native Web" Client/Server Application Development Environment for professional developers, end users and the OEM market. Sapphire/Web is designed to simplify application development on the Web, enabling companies to quickly deploy powerful productivity solutions. Sapphire/Web, an advanced 3rd generation tool, is uniquely positioned in the market because of its visual development paradigm, open architecture and robust application production.
OZ: O-O Distributed Environment
OZ is an objected-oriented distributed systems environment under development to realize worldwide programming environment in which not only data but also services and classes over networks. OZ is implemented on Java.
Renaissance Project
Renaissance is a project to investigate the applicability of object-oriented techniques to the construction of large scale distributed systems. For a complete overview of the system see our overview paper.
Ron Resnick's Distributed Objects and High Availability Page
SERL - Distributed OT Research
Solaris NEO
Solaris NEO is Sun's distributed object environment. It enables companies to bring commerce to the Internet by deploying a corporate web of business critical shared services. Once deployed these shared services can be accessed from multiple client platforms throught the enterprise and the Internet.

back to Object Orientation


O-O Databases


O-O Trainers and Consultants

Icon Computing, Inc.
Iconix Home Page
Knowledge Systems Corporation
Luke Hohmann
The Object Agency, Inc.
Object Mentor Inc.
Platinum technology Home Page
Project Technology, Inc.

back to Object Orientation


back to Brad Appleton's WWW Links

back to Brad Appleton's Home Page