From beringer@DB.Stanford.EDU Wed Aug 12 20:20:07 1998 Received: from db.stanford.edu (Seaotter.Stanford.EDU [171.64.75.89]) by DB.Stanford.EDU (8.8.8/8.8.8) with ESMTP id UAA06119 for ; Wed, 12 Aug 1998 20:20:05 -0700 Message-ID: <35D25BC0.AC19A22A@db.stanford.edu> Date: Wed, 12 Aug 1998 20:21:36 -0700 From: Dorothea Beringer X-Mailer: Mozilla 4.05 [en] (Win95; I) MIME-Version: 1.0 To: chaims@DB.Stanford.EDU Subject: minutes weekly meeting Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mozilla-Status: 0001 Content-Length: 5351 Minutes weekly meeting 8/12/98 ****************************** KQML: ----- http://www.umbc.edu/kqml Differences to CHAIMS: - KQML deals with having different ontologies - KQML is just a transport protocol, something like a fancy TCP/IP, or totally asynchronous SQL allowing advertising and having symetric PUT and GET - KQML could be used in CHAIMS for transporting funny stuff - so far mainly for research systems.... Overview Protocols: ------------------- - CPAM instead of PAM - reformulate paragraph about data flow - volume as third parameter: already now, of type integer, bytes as unit - estimates are trusted - replacing busy-wait loop by: more clever quering strategies, using estimates for sporadic polling, exponential back-off - order of primitives: to be added - explain asynchronous nature of protocol - replacing busy-wait loop by call-back, post-mechanism: would change whole architecture and basic concepts - contracts: there was a thesis already done by Read Smith; could be expored later on Local megamodules: ------------------ Helper megamodules: is a fuzzy term of remote and local megamodules that offer services that just have a utility nature. Local megamodules in contrast to remote megamodules are in the same process and adress-space, are instantiated by the megamodule and there is one local megamodule per megaprogram. Acronyms for schedulers: ------------------------ PreOps (pre optimazing scheduler) ConOps (concurrent optimazing scheduler Adaptive Workflow Systems ------------------------- Chaims could be used as a means to implement an adaptive workflow system in heterogeneous systems. Adaptivity: - choosing by estimate function - rather using CHAIMS than C++ - can deal with asynchrony - can deal with heterogeneity Summary of HADAS: +++++++++++++++++ Who[ I. Ben-Shaul, et.al. Title[ HADAS: A Network-Centric Framework for Interoperability Programming Published[ International Journal of Cooperative Informaion Systems, 1997 Keywords[ heterogeneity, RMI, HADAS, coordination language, Comment[ Very interesting approach. More focused on roaming agents. Summary[ Challenge: Compose, configure and execute network-centric applicatins made up of widely-distributed components. Major problem: global interoperability Examples: active, intelligent information agents; inter-organization collaborative workflow systems, e-commerce, large-scale concurrent computations Main ideas of HADAS (=heterogeneous autonomous distributed abstraction system): - autonomy of objects: administrative autonomy (==> evolving over time), design autonomy (heterogeneity) - network centric framework - no central agent like a broker, fully decentralized (==> possible by using RMI) - dynamic and programmable approach to interoperability, peer-to-peer configuration agreement - ISL as coordination lanague Approch: - a (reflective and mobile object model abstracting components - a Java-based framework in which components live and communicate - a higher-order interpreted coordination language that manipulates components Basic architecture: The comonponents are distributed object managers. These not only implement various ilities like security and unique id and persistence, they also contain or wrapp the effective behaviour offered by this component. These objects communicate with each other mainly over RMI. They could also use ftp, http or amp. The whole HADAS system is written in Java. Access to legacy components is by wrappers - these wrappers, written mainly in Java, e.g. access CORBA-components etc. If necessary, they also use native code. As all of HADAS is Java, data is communicated in Java format. For type-mismatches, peer-to-peer dynamic wrappers exist that transform data. Levels of interoperability in Hadas: - interconnectivity infrastructure (in Java), reflective object model supporting mutability and mobility - integration : who can access whom? - configuration: dynamic agreemant between sites over use of comonents - coordination: control and dataflow between components, ISL Configuration: The operation to be called is link. What link does is: it copies a suitable ambassador objects to the other site. These ambassador objects then act like stubs. Ambassadors for the same siteobjects on various sites may have different dynamic parts in them. Each object supports methods like: add, remove (a method dynamically), invoke (a method with given parameters), describe (the offered methods). Ambassadors: - not just stubs, they have HADAS methods (install, update) - they have dynamic transformers (wrappers) and can evolve dynamically by interacting with hosting environment Reflective object model: - objects can answer questions about itself (given by Java) - object can change itself (addDataItem, addMethod, setMethod), trivial in Java - security specifications per method (probably all from Java) Wrappers: - dynamic linking to Java components - accessing C++ code with JNI - CORBA-HADAS, static wrapping - HTTP/CGI out and in transformer, dynamic wrapping Coordination, ISL: The language used is Scheme, implemented in Java. It supports weak typing and allows to encode higher-order procedures. http://www.dsg.technion.ac.il -- Dorothea Beringer Stanford University beringer@db.stanford.edu http://www-db.stanford.edu/people/beringer.html --