<<

The Network as a Global Database: Challenges of Interoperability, Proactivity, Interactiveness, Legacy

Peter C. Lockemann, Ulrike Kijlsch, Arne Koschel, Ralf Kramer, Ralf Nikolai, Mechtild Wallrath, Hans-Dirk Walter {lockemannJkoelsch~koschel~kramer~nikolai~wallrath}~fzi.de

Fakultat fur Informatik Forschungszentrum Informatik (FZI) Universitat Karlsruhe Haid-und-Neu-Str. lo-14 D-76128 Karlsruhe, Germany D-76131 Karlsruhe, Germany

1 Introduction Abstract Modern information and technology is The current integrated developments in net- the driving force behind the future highly intercon- work and computing give rise to a technical in- nected society. This raises high challenges to those frastructure for the information society which that are entrusted with t.he technical infrastructure for one may variously circumscribe by terms such society, and it places high responsibilities on them. To as ubiquitous computing, telepresence and the meet these, one should start from a global view on network as one giant global database. The pa- this infrastructure. To develop a consensus on such per applies to the network the metaphor of views the use of metaphors is commonplace. For the global database, and subsumes the aspects of networked infrastructure three metaphors are usually ubiquity and telepresence under it. It should mentioned, each corresponding to a different angle on then be possible to preserve many of the ex- it. One is ubiquitous computing which refers to the isting database techniques and to concentrate utilization of computing power of whatever kind when- on adjusting these to the network information ever and wherever the need arises. Another is telepres- infrastructure. ence (or in the extreme, omnipresence) - the ability to The paper explores four challenges for ad- be present anyplace without physically moving there, justment: interoperability due to heteroge- and to be at several places simultaneously. Telepres- neous data repositories, proactivity due to ence is based on that is no longer autonomy of data sources, interactiveness due point-to-point and person-to-person, but may involve to the need of short-term and task-specific person-to-group or group-to-group relationships which interaction and cooperation, and legacy due open up many new avenues of creative collaboration to the fitting of old systems to the net- and problem-solving. A third angle is the view of the worked environment. Based on several appli- network as one giant global database indicating that cation projects and exemplary solutions, the information becomes a shared commodity with equal paper claims as its experiences that object- access by many or all, instant reading and posting of orientation provides a natural framework for items from anywhere by anyone. meeting the challenges, but must also draw All three angles appear equally proper and, hence, on the combined resources of databases, data seem to indicate that only an interdisciplinary ap- , and engineering. proach will ultimately be able to meet the challenges of

Permission to copy without fee all or part of this material is the network information infrastructure. On the other granted provided that the copies are not made OP distributed for hand, in any given situation one will have to emphasize direct commercial advantage, the VLDB copyright notice and one of them which will then determine the predomi- the title of the publication and its date appear, and notice is nant technology under which one plans to strike out given that copying is by permission of the Very Large Data Base Endowment. To copy otherwise, or to republish, requires a fee at the technical and organizational problems for the and/or special permission from the Endowment. network. Proceedings of the 23rd VLDB Conference This paper chooses the metaphor of global database Athens, Greece, 1997 as its primary perspective. For one, this seems a natu-

567 ral choice because databases pervade the entire fabric which originated from distributed Artificial Intelli- of an organization, as they do in industry, commerce, gence but has another more technical root in telecom- and public administration. For another, it seems a munications. Agents are software components that technically sound choice because databases can be con- seem to assume a life of their own, respond to requests sidered a mature and reliable technology, though not in some autonomous fashion that includes decision- necssarily in a network of thousands of loosely cou- making capabilities, become proactive by initiating ac- pled, heterogeneous nodes. The purpose of the paper tions seemingly without outside intervention, adapt is to explore, on the basis of a number of case studies to their environment by exhibiting learning capabil- for practical applications, whether the choice is indeed ities, enter into contracts with one another if there is a a productive and constructive one, and if so, what ad- need to interact, and may even move through the net- justments are needed to the traditional database tech- work to where the action is [CCWB94, Pog95, WJ95]. niques, with which well-understood techniques from All these are properties that we must expect from other disciplines they should be amalgamated and how the nodes in the network. There are indications that this is to be done. objects are a promising implementation concept for Such an exploration requires a framework on which agents [BGK+95, GKT95]. In particular, if one en- all the disciplines involved can agree. We claim that capsulates within each object its own process one ob- object-orientation is such a framework (Section 2). We tains a basis for the desired autonomous, proactive then examine a number of challenges to database and and interactive capabilities. Hence, whereas in the tra- other technologies. One has to do with the technical, ditional approaches to object orientation objects and semantic and pragmatic heterogeneity of data reposi- processes are treated as orthogonal notions, the two tories which must be overcome by suitable means for become tightly interconnected in a networked world. interoperability (Section 3). Another has to do with Since independent processes may run concurrently, co- the autonomy of data sources which suggests that operation between objects in a network implies coop- databases no longer just respond when a particular eration among processes. service is requested from them but become active on In summary, object-orientation seems a particularly their own, requesting services from other network com- useful technical framework for the network infrastruc- ponents. The paper illustrates how proactivity can be ture for modern society. At the same time, since added to a system of distributed databases (Section object-orientation is also a concept underlying many 4). A third challenge is how to exploit the potential modern developments in datatabases, particularly in for collaborative behavior by providing the means for the form of object-oriented database systems, it pro- concerted action of database nodes in order to solve vides a suitable foundation for the view of the network common tasks (Section 5). Section 6 addresses the as a global database. challenge of how to preserve earlier investments and nonetheless fit legacy systems to the networked envi- 3 Interoperability ronment . Interoperability refers to the capability of indepen- 2 Object orientation dently developed objects to productively interact across a network of heterogeneous platforms and ser- Object-orientation is a technical framework that gives vices. Interoperability has three aspects: cohesion to a wide range of information technological disciplines and, hence, appears as an ideal framework l Platform interoperability overcomes the hetero- to meet the interdisciplinary challenges of the infras- geneity of the hardware and system software in tructure for the networked society. The reasons are the nodes of the network, and of the services that manifold. Objects allow any measure of compartmen- transport messages between the nodes. talization and, together with encapsulation, the con- centration of functionality along a service-oriented ra- l Notational interoperability surmounts disagree- tionale and of information along a need-to-know prin- ments among the objects (application programs, ciple. Objects interact by exchanging messages. Ob- tools, databases) on the structure, representation jects may adapt their responsiveness without chang- or interpretation of the data (denotation) they ing their interface to the surrounding world. Objects wish to exchange, which often reflect differences may be replaced by “better” objects without disturb- in universes of discourse, perceptions, attitudes, ing their surroundings as long as their interface re- and goals (connotation). Typical effects are dif- mains the same. ferent or even incompatible functional interfaces, A more recent rationale for object-orientation is its data models, data types, database schemas, ter- closeness to the technical metaphor of society of agents minologies, and data formats.

568 I I Information Services Data Services

Figure 1: Architecture of a CORBA-integrated federated information system

l Coordinational interoperability imposes discipline database. Consequently, the user interface should be on the interaction between objects, and is usually uniform and hide all aspects of distribution. expressed by common policies, contracts and pro- Figure 1 depicts a high-level view of the system ar- tocols to which the objects subject their activities. chitecture [KKN+96]. For platform interoperability it uses today’s standard solution of an integration layer All these characteristics strongly suggest a central for heterogeneous distributed systems, so-called mid- role for database technology, particularly its exten- dleware [OHE96]. Under our premise of Section 2, the sions to distributed and federated databases. Other natural choice is a layer which provides a homogeneous disciplines that should be drawn in are network oper- object-oriented view of the sources. Consequently, we ating systems, high-level communications or even dis- utilize the Object Management Group’s (OMG) in- tributed workflows. dustrial standard of the Object Management Architec- We give an example how approaches to all three ture (OMA), with the Object Request Broker (ORB) aspects of interoperability are combined into a single for exchanging requests and responses as its backbone. coherent solution for the information infrastructure. The different EIS services are integrated as objects via A federated environmental information system (EIS) wrappers (stubs and adapters for, e.g., DBMS access). draws on a number of heterogeneous, geographically The CORBA Services provide the basic functions to dispersed data sources which are mostly online accessi- realize all the mechanisms on behalf of a client such as ble and include geographic information systems, mea- locating the source object implementation, preparing surement databases, environmental reports and regu- it to receive the request and communicating the data lations, limit value databases, expert systems and the [Obj95, Sig96]. like. These database systems are based on a variety of database models, e.g., relational, pre-relational, and Existing approaches to notational interoperability object-oriented. Users are environmental specialists are in the form of data exchange standards, wrap- in industry and public administration who interrogate pers for adjusting object interfaces to some global the data for regulations and facts in order to deter- data model, or mediators for bridging differences in mine how to meet environmental protection concerns, structure, terminology and interpretation of schemas. or who have to take spontaneous actions in case ex- We deal with it by the information services of Figure ceptional situations have arisen. For them the distri- 1. Connotational interoperability together with the bution of data across systems and locations is mostly needed selectivity is achieved with the help of one or irrelevant, they prefer to view the network as a single more environmental data catalogues UDK. Each UDK

569 contains which identify the data sources by where the EIS should on its own become aware of what availability, contents, purpose, circumstances of acqui- is happening around it, and react properly and sponta- sition, reliability, statistical significance, preprocess- neously, e.g., by automatically notifying a public offi- ing, and the like. Differing terminologies are the re- cer. Active database management systems (ADBMS) sponsibility of a terminological, multilingual thesaurus are a response by the database community to the need as known from information retrieval. Since differ- for proactivity [Con96]. ADBMS technically base their ent domains may require different thesauri, we ex- behaviour on the event-condition-(re-)action paradigm tended our architecture to integrate multiple, multi- which reduces all interactions with the system environ- and monolingual, distributed and heterogeneous the- ment to the notion of an observed event that causes a saurus databases [KN96]. Denotational interoperabil- condition to be satisfied which then gives rise to an ac- ity is provided in the form of a library of mediators, tion being taken. Event-condition-action (ECA) rules most of which support visualization and digital image appear also an ideal means to support a wide a variety processing of maps and diagrams in connection with of coordination protocols and, hence, coordinational GIS or provide for conversions between standard raster interoperability. image formats. The challenge is to take ADBMS from a mono- The user-level services of Figure 1 are supposed to lithic systems approach to a networked approach which give the user the visual appearance of a homogeneous facilitates orderly interaction and collaboration be- database. Because a user request will often require tween widely dispersed, loosely coupled, autonomous the combination of several system-level services into data-intensive systems. For example, event handling a single visualization service, user-level services must must be able to observe and deal with spatially and include some form of coordinational interoperability. temporally distributed events; to combine them into For visualization uniformity across a network a solu- complex events despite temporal uncertainties due to tion based on World-Wide Web suggests itself. Al- lack of global time; to overcome unreliabilities due to though almost each metadata and data source provides loss of events or connections; and to prevail over un- WWW tools, using these directly would not hide the predictabilities due to autonomous decisions of event distribution from the user who would face a separate providers and consumers, such as non-acceptance or WWW page for each source. Coordination requires non-responsiveness. Condition checking and action ex- that a user is provided with a single HTML page per ecution may also be distributed. request. This is done by combining contributions from All these challenges are compounded by the hetero- different distributed sources. The collection of the con- geneity of the data and event sources and the action tributions follows some script which dynamically pre- providers. Consequently, not only must ADBMS tech- pares the corresponding HTML pages, in some general nology draw on techniques drawn from communica- or user-specific fashion, using the inputs from the var- tions, distributed systems, and system reliability, but ious data sources [KKN+96, KNK+97]. We foresee it faces all three aspects of interoperability. Not sur- several CORBA clients, one each for encapsulating a prisingly, then, we solve platform interoperability by script for a specific type of request. An end user, then, means of CORBA. submits his request via a browser to a WWW server So far CORBA provides only limited support in the which calls, via the common gateway interface (CGI), form of a basic event transmission service via event the appropriate CORBA client, which in turn accesses channels across a distributed environment. Notational several system-level services according to the script. and coordinational interoperability, for example in the Because the HTT protocol is stateless, coordination form of a rule management facility, must be provided lacks the reliability of a transaction service. Conse- as add-on services. Starting from standard centralized quently, we have more recently substituted a driver ADBMS techniques we have been able to identify a based on the Java Database Connectivity (JDBC) number of smaller event service units which are candi- standard for it. Java applets assume the role of the dates for distributed event processing [BKK96]. Fig- CORBA clients and use the Internet Interorb Protocol ure 1 indicates the integration of the ECA rule service (IIOP) to communicate with their server counterparts. into the overall architecture, Figure 2 the detailed, still partly centralized solution. The wrapper of each dis- 4 Proactivity tributed source of events, e.g., a data source, must be capable of signalling primitive events which the cen- In a network of autonomous nodes each object may tral event processor receives either by polling or no- take an initiative. Consequently, from the perspective tification from event detectors. Events are first col- of each node the global database is an active database. lected into a persistent event storage in order to cap- Take our environmental information system. There ture them reliably and to derive complex events from are many situations, such as pollution monitoring, them. Global ordering of events is achieved within

570 _-__------_---_---- Object msg Object ------_------___ b b cnf(msg) ind(msg)

w(msg) Wmsg) T Alliance

Figure 3: Alliances as a protocol metaphor Figure 2: Distributed ECA rule service using CORBA enced by factors such as choice among several options the limits of well-known techniques, e.g., those of the on whether and how to react to incoming messages, CORBA Time Service. Notational interoperability is reordering of responses with respect to the messages, achieved for events by categorization of event sources. erroneous and malicious responses, unexpected initia- The event storage passes the detected events as an tives. Further, the interaction is exposed to the va- “output stream” to an expert system shell providing garies of the underlying communication network. production rules. The events are mapped to facts for A declarative specification of norms is commonly the rule system. If such a fact together with a con- referred to as a protocol. Since we take a network dition defined over it gives rise to the application of view, the communication channel as the mechanism a rule, the associated action is initiated at one of the for encapsulating a protocol in data communication distributed objects attached to the ORB - for example suggests an approach to object technology whereby an a data source or WWW client - by a CORBA method explicit construct, the alliance, is added for encapsu- call. Both synchronous and asynchronous decoupled lating multi-object constraints [LW95]. Figure 3 con- processing of events and action execution are possible. veys the idea. Likewise one may choose among different strategies A (un-)acknowledged message exchange between for event consumption, rule orderings or parallelism two objects raises corresponding events with the al- of rule execution. liance. The cooperating objects remain unaware of the alliance, they still have the impression of message 5 Interactiveness exchange directly with other objects. On the other hand, no message exchange escapes the attention of Interactiveness refers to the need for, and capabil- the alliance. It can now control the communication in ity of autonomous and active objects to enter into a many ways, e.g., simply transport messages, accumu- temporary and task-specific collaboration. Technically late messages before delivery, ignore unexpected mes- speaking, interactiveness deals with the cooperation of sages for the protection of objects, schedule deliveries, independent processes subject to certain constraints or employ timeout mechanisms to cope with situations norms. Consequently, in a world of active objects we where expected messages do not arrive, provide cer- must deal with constraints that span several objects. tain guarantees such as fault tolerance by guaranteed Transaction processing in database technology em- delivery of possibly incomplete responses, temporal or- phasizes coordinational norms. Only more recent de- dering of messages, error compensation. velopments such as cooperating transactions [Elm921 As is common for data communication protocols, or scripts superimposed on transactions [WR92] deal the specification of an alliance takes the form of a (se- with collaboration. Classical object orientation reg- quential) automaton. Consequently, the specification ulates the behavior of individual objects but does consists of a description of states and their initializa- little to support multi-object constraints that are tions, and of the transitions between states. The lat- spread across several object implementations. Again, ter is in terms of ECA rules. Each rule identifies the a few recent extensions try to rectify the situation event it reacts to, an optional condition which guards [AGP95, HHGSO, LM92, LW95]. the action, and an action. Events may be external Constraints allow a nondeterministic evolution of requests in the form of a message (perhaps param- the message exchanges among objects. In other words, eterized) and a role name to denote the originator, they tolerate a wide range of unexpected situations as a response, an internal event for spontaneous transi- long as they fall within a given solution space. In a tions, or a clock alarm to realize timeout mechanisms. network of autonomous databases, even though these Alliances extend traditional automata in an important have a well-defined functionality, the evolution is influ- way, though, by drawing on role models for object sys-

571 terns [RTLSl, KM94]. A role states the part an object ties of interoperability, proactivity and interactiveness, plays in the cooperation, and is declared in terms of the they must be reengineered into societies of more fo- messages such an object must be able to receive and to cussed objects [IJ93]. Consequently, reengineering of send. Hence, roles constrain the types of objects that legacy information systems is an important issue for can be bound to it. An object may dynamically be the global database. bound to a role any time on explicit request by it, and Traditional software reengineering methods tend disconnected on request by either, object or alliance. to place priority on legacy programs, database de- Alliances match beautifully with the ECA mecha- sign methods on database structure. Modern object- nism of Section 4. Consequently, alliances are services oriented analysis and design methods such as OMT to be placed above the ORB in Figure 1 where they [RBP+Sl] take an equal and integral view of object assume a role similar to the CORBA clients and could structure, object functionality and dynamics within use the CORBA services including the event mecha- and between objects. Hence by choosing OMT, reengi- nism of Section 4. They could also be considered as a neering and database design methods can be fused, value added to the event mechanism to deal with the and one would still entirely stay within an object- uncertainties and unreliabilities of that mechanism. oriented framework. Equally important, because of Alliances have also been used for controlling the distri- the integral view one should be able to describe the bution and migration of participating objects within a entire transition from the old functional to the new network [CKW96]. object world within the same framework. The close kinship to data communication protocols Our basic philosophy as database people is to start suggests implementation options that range from a from a data-oriented perspective. We motivate this by centralized solution within an single and special al- the observation that data form the backbone of every liance object that runs in its own process, all the information system, with their structure undergoing way to fully distributed algorithms where a local al- only slow changes whereas system functionality is con- liance algorithm is part of the protocol tower of each stantly adapted to new requirements. Our goal is to participating object that is itself connected to the identify semantic units in the sense of complex appli- ORB[LW95]. Take Figure 1 where most of the data cation or business objects. This philosophy results in and information services already show a local connec- a reengineering strategy with three clearly identifiable tion to the event mechanisms. These connections could steps [UK97]. 1. In a first step we design an object- be augmented by the alliance algorithms. oriented model of the intended (target) system. The Alliances may then play a useful role in the environ- completeness of the model depends on the information mental information system. Just consider that emis- available at the time. In the best case, an enterprise sions of a power plant are measured and, when these model exists from prior business process reengineer- exceed a predefined level, data sources with limit val- ing. In the worst case, one can only draw on the engi- ues, legal regulations, air dispersion models, and con- neers’ applications knowledge. In general, the target tingency plans collaborate to determine which actions model will describe the system at a high level of ab- to recommend to an official in charge who may him- straction, e.g., in terms of business objects, processes self interact by submitting various scenarios. So far and functions. 2. In the next step, a description of alliances have been used in support of interleaved en- the existing system is developed, mainly by examining gineering and manufacturing processes. the inner structures of the information system. Al- though highly detailed, this implementation-oriented 6 Legacy description (the state model) can neither be expected to be complete nor correct because of deficits in the One of the hopes for object-orientation is that it results existing documentation and inadequacy of the analy- in the design of systems whose components have well- sis tools. 3. By now two descriptions at different levels defined, well-focussed and, hence, well-circumscribed of abstraction - target and state - have been created. functionalities. In our previous example the compo- In the last step, the state data sources and the ap- nent objects are complete systems such as as database plication programs are analyzed in order to find one systems, geographic information systems, catalogues, or an aggregation of equivalen target data structures thesauri. This is still better than the old monolithic that represent the target objects. If the engineer re- and gigantic information systems. However, since jects the analysis, the target objects can be changed these provide essential information processing services or the step abandoned altogether. Otherwise the tar- which rely on huge information repositories, they can- get equivalent in the state model is inspected in more not simply be discarded. On the other hand, if we detail, and a variety of software engineering methods wish to incorporate them into the global network and and tools are used to delineate the corresponding part treat them as part of the global database, with proper- of the legacy system and, in particular, to identify can-

572 didates for methods of the object [SN95]. On this ba- egy for attacking a number of challenges, and that sis converters are constructed that substitute object- object-orientation seems an ideal framework for glu- oriented code for the old one. ing various technologies together. We could further The three steps do not form a linear process. Sys- show that the necessary extensions to database tech- tem size is too large to be manageable in one piece and nology do not so much affect the local data sources must be divided into smaller units. Past experiences in the individual nodes than suggest separate facili- will affect the state and target models. Converters ties which could be considered add-on values to be may fail to be found or to work. Hence, the overall placed within the network infrastructure. By relying reengineering process is broken down into a number on object-orientation one should also be able to incor- of smaller processes called microprocesses. They are porate other promising developments such as higher managed by a large process called the macroprocess protocol levels in wirebound and wireless, mobile data which controls and guides the microprocesses and re- communication [Kot95], or data security techniques acts flexibly to all changes and re-planning require- [Gro95, Sig96]. ments. The macroprocess will iterate until the state The practical application scenarios were taken from and target models converge sufficiently well. a widely used public environmental information sys- Even within a microprocess the steps are not nec- tem (interoperability and proactivity), an integrated essarily followed in a linear fashion. Indeed, it is the platform for controlling the entire engineering and strength of OMT that it allows to analyze and trans- manufacturing process chain for mechanical parts form the business objects, the business processes, and (proactivity and interactiveness), and the reengineer- the functionality of applications in parallel and to ex- ing of information systems of a public utility (legacy). ploit the interdependencies between these submodels, and to create, automatically or on the engineer’s sug- References gestions, new ones on the next higher level of abstrac- [AGP95] J.-M. Andreoli, H. Gallaire, and R. Pareschi. tion or reorganize, by appropriate changes, the current Rule-Based Object Coordination. In Object- level [PH95]. Based Models and Languages for Concurrent Our reengineering methodology bears a strong sem- Systems, number 924 in LNCS, pp. l-13, 1995. blance to the software engineering methodology of the [BGK+95] J. Bailey, M. Georgeff, D.B. Kemp, D. Kinny, spiral model of Boehm [Boe88a, Boe88b]. The com- and K. Ramamohanarao. Active Databases bination of this methodology with a uniform OMT- and Agent Systems - A Comparison. In T. Sel- based framework, and a well-organized, data-centered lis, editor, Rules in Database Systems, number process model appear rather novel. It can easily be 985 in LNCS, pp. 342-356. Springer, 1995. extended to a collection of macroprocesses when the [BKK96] G.v. Biiltzingsloewen, A. Koschel, and R. Kra- system is large but has clearly identifiable subsys- mer. Active Information Delivery in a tems. A workflow environment supports the reengi- CORBA-based Distributed Information Sys- neer by mediating between him, the knowledge about tem. In Proc. 1st Int. Conf. on Cooperative the legacy system, the reengineering process and the Information Systems (CoopIS96), pp. 218-227, applicable engineering methods. Also an integral part 1996. of the methodology is a repository which contains a [Boe88a] B.W. Boehm. A Spiral Model of Software De- meta model of the reengineering process and follows velopment and Enhancement. IEEE Computer an object-oriented data model as well. 2f, (5):61-72, 1988.

[Boe88b] B.W. Boehm. Anchoring the Software Process. 7 Conclusions IEEE Software 13, (4):73-82, 1988.

The thesis of this paper was that the view of network [CCWB94] P.R. Cohen, A. Cheyer, M. Wang, and information systems as one giant global database is not S.C. Baeg. An open agent architecture. In only a natural one to users but also suggests a frame- Proc. AAAI Spring Symp. on Software Agents, work within which much of existing database technol- pp. 1-8, March 1994. ogy could be carried forward to networking. It identi- [CKW96] 0. Ciupke, D. Kottmann, and H.-D. Wal- fied four challenges - interoperability, proactivity, in- ter. Object Migration in Non-Monolithic Dis- teractiveness and legacy -, and explored in the context tributed Applications. In Proc. 16th Int. Conf. of several application scenarios how database technol- on Distributed Computing, pp. 529-536, 1996. ogy had to be extended, and how it could be com- [Con961 The ACT-NET Consortium. The Active bined with other information technologies to provide Database Management System Manifesto: A viable solutions. We could demonstrate that the view Rulebase of ADBMS Features. ACM SIGMOD of global database seems indeed a productive strat- Record, pp. 40-49, September 1996.

573 [Elm921 A. Elmagarmid, editor. Database Transaction [LW95] P.C. Lockemann and H.-D. Walter. Object- Models. Morgan Kaufmann, 1992. Oriented Protocol Hierarchies for Distributed Workflow-Systems. In Theory and Practice [GKT95] A. Geppert, M. Kradolfer, and D. Tom- bros. Realization of Cooperative Agents Us- of Object Systems (TAPOS) 1:4, pp. 281-300, ing an Active Object-Oriented Database Man- 1995. agement System. In T. Sellis, editor, Rules in [Obj95] Object Management Group. The Common Ob- Database Systems, number 985 in LNCS, pp. ject Request Broker: Architecture and Spec- 327-341. Springer, 1995. ification. Object Management Group, Inc. (oMG), 1995. Version 2.0. [Gro95] Object Management Group. CORBA Security. Technical report, Object Management Group, [OHE96] R. Orfali, D. Harkey, and J. Edwards. The Inc, 1995. Essential Distributed Objects Survival Guide. John Wiley & Sons, 1996. [HHGSO] R. Helm, I.M. Holland, and D. Gangopad- hyay. Contracts: Specifying Behavioral Com- [PH95] G. Pernul and H. Hasenauer. Combining Re- positions in Object-Oriented Systems. In Proc. verse with Forward Database Engineering. A ECOOP/OOPSLA, pp. 169-180, 1990. Step Forward to Solve the Legacy System Dilemma. In Proc. Znt. Conf. on Database [IJ93] F.Lindstrom, and LJacobson. Re-engineering and Expert Systems Appl. (DEXA), LNCS. of Old Systems to an Object-Oriented Ar- Springer, 1995. chitecture. In R.S. Arnold, editor, Software Reengineering, IEEE Comp. Sot. Press, pp. Pog951 A. Poggi. DAISY: an object-oriented system 564-581, 1993. for distributed artificial intelligence. In Zntelli- gent Agents - Theories, Architectures and Lan- [KKB+97] A. Koschel, R. Kramer, G.v. Biiltzingsloewen, guages, LNAI. Springer, 1995. T. Bleibel, P. Krumlinde, S. Schmuck, and C. Weinand. Configurable Active Function- [RBP+Sl] J. Rumbaugh, M. Blaha, W. Premerlani, ality for CORBA. In ECOOP’97 Workshop F. Eddy, and W. Lorensen. Object-Oriented - CORBA: Implementation, Use and Eualua- Modeling and Design. Prentice-Hall, 1991. tion, Jyvsskula, Finnland, June 1997. [RTLSl] R.K. Raj, E. Tempero, and H.K. Levy. Emer- [KKN+96] A. Koschel, R. Kramer, R. Nikolai, W. Haag, ald: A General-Purpose Programming Lan- J. Wiesel, and H. Jacobs. A Federation Archi- guage. In Software - Practice and Experience tecture for an Environmental Information Sys- 21:f, pp. 91-118, 1991. tem incorporating GIS, the , [Sig96] J. Sigel. CORBA Fundamentals and Program- and CORBA. In 3rd Int. Conj./Workshop ming. John Wiley & Sons, 1996. Integrating GIS and Environmental Modeling (NCGIA ‘96), 1996. [SN95] H.M. Sneed and E. Nyary. Extracting Object- Oriented Specification from Procedurally Ori- [KM941 A. Kemper and G. Moerkotte. Object-Oriented ented Programs. In Proc. IEEE-TCSE ACM- Database Management. Prentice-Hall, 1994. SIGSOFT Working Conj. on Reverse Engi- [KN96] R. Kramer and R. Nikolai. Accessing neering. IEEE Comp. Sot. Press, 1995. Multilingual, Heterogeneous Data Sources in [UK971 M. Wallrath U. Kijlsch. A Process Model Wide Area Networks - Requirements and Ap- for Controlling and Performing Reengineering proach. In Proc. Workshop on Flexible Query- Tasks. In Proc. First Euromicro Working Conj. Answering Systems, pp. 255-264. Roskilde on Software Maintenance and Reengineering, Universitetscenter, Denmark, 1996. pp. 20-23. IEEE Comp. Sot. Press, 1997. [KNK+97] R. Kramer, R. Nikolai, A. Koschel, C. Rolker, [WJ95] M. Wooldridge and N. Jennings. Agent The- P. Lockemann, A. Keitel, R. Legat, and ories, Languages and Architectures. In Agent K. Zirm. WWW-UDK: A Web-based Environ- Theories, Languages and Architectures, LNAI, mental Metainformation System. ACM SIG- pp. l-39. Springer, 1995. MOD Record 26, (1):16-21, 1997. [WR92] H. Wachter and A. Reuter. The ConTract [Kot95] D.A. Kottmann. Serializing Operations into Model. In Elmagarmid [Elm92], pp. 219-264. the Past and Future: A Paradigm for Discon- nected Operations on Replicated Objects. In Proc. ECOOP’95 Workshop on Mobility and Replication, 1995. [LM92] L. Liu and R. Meersman. Activity Model: De- clarative Approach for Capturing Communica- tion Behavior in Object-Oriented Databases. In Proc. 18th Int. Conj. on Very Large Data Bases, pp. 481-493, 1992.

574