% File: dl.bib % Author: Claudia Niederee, Gerald Schroeder, Florian Matthes % Date: 01-oct-1996 % Purpose: Literature database for DL paper, requires 'dl-macros.bib' % Copyright: duplicaton & distribution only by permission of % - Florian Matthes, % for parts copied from 'florian-macros.bib' and 'florian.bib' % - Claudia Niederee, Gerald Schroeder, % for the whole file @techreport{MaSc92a, key= {MaSc92a}, author= {Matthes, F. and Schmidt, J.W.}, title= {Definition of the {Tycoon} Language {TL} -- A Preliminary Report}, institution= hbg-info, type= {Informatik Fachbericht}, number= {FBI-HH-B-160/92}, year= {1992}, month= nov, documentdirectory= {1992/MaSc92a}, keywords= {Tycoon, type operators, recursive types, recursive type operators, higher-order polymorphism, extensible records, exceptions, library management, imperative programming}, abstract= { This document defines the language TL that is used as the application and system programming language in the Tycoon database environment. The Tycoon project follows an add-on approach to generic database programming that emphasizes type-safe system scalability and extensibility. \\ TL is a polymorphic second-order functional language with imperative features and inductively defined subtyping rules over types and type operator, extended by language constructs motivated by the needs of database programming.} } @incollection{MSS95, key= {MSS95}, author= {Matthes, F. and Schr{\"o}der, G. and Schmidt, J.W.}, title= {{Tycoon}: A Scalable and Interoperable Persistent System Environment}, editor= f2editor, booktitle= f2booktitle, year= {1995}, publisher= f2publisher, documentdirectory= {1995/MSS95}, abstract= {We describe the Tycoon persistent system architecture that achieves a high degree of scalability and interoperability through a full integration of persistent data, programs and threads while maintaining a strict separation of storage, manipulation, modeling and representation tasks into well-defined system layers. For several of these layers alternative implementations with distinct operational support are provided that can be configured dynamically to match best the requirements of a given application. Moreover, we present Tycoon's architectural contributions to enable interoperability with existing generic services like databases, user interface toolkits and C++ program libraries.}} @inproceedings {Hou95, author = {Van House, N.A.}, title = {User Needs Assessment and Evaluation for the UC Berkeley Electronic Environmental Library Project: a Preliminary Report }, booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {School of Library and Information Studies University of California Berkeley, CA 94720-4600, USA }, month = {June}, organization = {}, publisher = {}, note = {Austin, Texas, USA}, owner = {}, reg-date = {}, abstract = {The UC Berkeley Electronic Environmental Library is a massive, distributed, electronic, work-centered library of information in a variety of formats supporting environmental planning. The goals of the user needs assessment and evaluation component of this project is to maximize usability by means of user- centered system design and evaluation, and to explore how the methods of user-centered system design, usability testing, and library evaluation can be applied to digital libraries. The digital library combines the characteristics of libraries, electronic information retrieval systems, and computer systems that support work to create new and interesting problems of design and evaluation which require new methods for design and evaluation. }, keywords = {Digital libraries, user-centered system design, evaluation, needs assessment}, directory = {}, key = {}, comment = {} } @inproceedings {McNSmiWit+96, author = {McNab, R.J. and Smith, L.A. and Witten, I.H. and Henderson, C.L.}, title = {Towards the Music Library: {T}une Retrieval from Acoustic Input}, booktitle = {Digital Libraries '96, 1st ACM International Conference on Digital Libraries}, year = {1996}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {multi-media}, comment = {} } @inproceedings {LiGauGau+96, author = {Li, W. and Gauch, S. and Gauch, J. and Pua, K.M.}, title = {VISION: A Digital Video Library}, booktitle = {Digital Libraries '96, 1st ACM International Conference on Digital Libraries}, year = {1996}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {multi-media}, comment = {} } @article {RoeWinPae95, author = {R{\"o}scheisen, M. and Winograd, T. and Paepcke, A.}, title = {Content Ratings and Other Third-Party Value-Added Information - Defining an Enabling Platform}, journal = {D-Lib Magazine}, year = {1995}, volume = {}, number = {}, pages = {}, month = {August}, note = {http://ukoln.bath.ac.uk/dlib/dlib/august95}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {}, comment = {} } @article {HamMcL93, author = {Hammer, J. and McLeod, D.}, title = {An approach to resolving semantic heterogeneity in a federation of autonomous heterogeneous database systems}, journal = {International Journal of Intelligent and Cooperative Information Systems}, year = {1993}, volume = {2}, number = {1}, pages = {51 - 83}, month = {March}, note = {5}, owner = {}, reg-date = {Dec96}, abstract = {}, keywords = {}, directory = {}, key = {}, comment = {} } @inproceedings {GarHamIre+95, author = {Garcia-Molina, H. and Hammer, J. and Ireland, K. and Papakonstantinou, Y. and Ullman, J. and Widom, J.}, title = {Integrating and Accessing Heterogeneous Information Sources in TSIMMIS}, booktitle = {Proceedings of the AAAI Symposium on Information Gathering}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {61 -64}, address = {Stanford, California}, month = {March}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {}, comment = {} } @techreport {RoeMogWin94, author = {R{\"o}scheisen, M. and Mogensen, C. and Winograd, T.}, title = {Shared Web Annotations As A Platform for Third-Party Value-Added Information Providers: Architecture, Protocols, and Usage Examples}, institution = {Computer Science Department, Stanford University}, year = {1994}, type = {Technical Report}, number = {CSDTR/DLTR }, address = {Stanford, CA 94305, U.S.A.}, month = {November}, note = {http://www-pcd.stanford.edu/COMMENTOR}, owner = {}, reg-date = {}, abstract = {In this paper, we present an architecture, called "ComMentor", which provides a platform for third-party providers of lightweight super-structures to material provided by conventional content providers. It enables people to share structured in-place annotations about arbitrary on-line documents. The system is part of a general "virtual document" architecture ("PCD BRIO") in which--with the help of lightweight distributed meta information--documents are dynamically synthesized from distributed sources depending on the user context and the meta-information which has been attached to them. The meta-information is managed independently of the documents themselves on separate meta-information servers, both in terms of storage and authority. A wide range of useful scenarios can be readily realized on this platform. We give examples of how a more personalized content presentation can be achieved by leveraging the database storage of the uniform meta-information and generating documents dynamically for a particular user perspective. These include structured discussion about paper drafts, collaborative filtering, seals of approval, tours, shared "hotlists" with section-based visibility control, usage indicators, co-presence, and value-added trails. Our object model and request interface for the prototype implementation are defined in technical detail in the appendix.}, keywords = {Virtual Documents, Meta-Information, World-Wide Web, Group Annotations, SOAPs, Collaborative Filtering, Shared Workspaces, CSCW, Workgroups}, directory = {}, key = {}, comment = {} } @inproceedings {Gra95, author = {Graham, P.S.}, title = {The Digital Research Library: {T}asks and Commitments}, booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {June}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {A Digital Research Library is a collection of electronic information organized for use in the long term. To meet user needs, the founders of a DRL must accomplish two general tasks: establishing the repository of electronic scholarly materials, and implementing the tools to use it. More important, long-term commitments are needed if scholarly information is to be available over periods longer than human life: organizational commitments, fiscal commitments and institutional commitments. }, keywords = {Digital libraries, research libraries, integrity, preservation, fiscal commitment, institutional commitment, longevity}, directory = {}, key = {}, comment = {} } @inproceedings {CouKetPae+95, author = {Cousins, S. and Ketchpel, S. and Paepcke, A. and Garcia-Molina, H. and Hassan, S. and R{\"o}scheisen, M.}, title = {InterPay: Managing Multiple Payment Mechanisms in Digital Libraries }, booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {We propose an architecture called InterPay for managing financial interactions with for-pay digital library services. The approach accommodates multiple payment mechanisms, interaction models, and charging policies. Key components of our model are payment agents and payment capabilities that encapsulate payment policy and the details of payment on behalf of the user. Collection agents and collection capabilities provide similar encapsulation for the service provider. The architecture supports interactions ranging from individual users directly interacting with the service provider to institutional users accessing information brokers via a corporate library. We also describe a prototype system that implements the InterPay architecture, allowing access to real services under varying payment policies. }, keywords = {internet commerce, payment mechanisms, payment agent, collection agent, interoperability, distributed objects, object-oriented programing, CORBA, charging protocols, charging policies, digital libraries}, directory = {}, key = {}, comment = {} } @article {Pae96, author = {Paepcke, A.}, title = {Digital Libraries: Searching Is Not Enough}, journal = {D-Lib Magazine}, year = {1996}, volume = {}, number = {}, pages = {}, month = {May}, note = {http://ukoln.bath.ac.uk/dlib/dlib/may96}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {}, comment = {} } @article{MABD90, key= {MABD90}, author= {Morrison, R. and Atkinson, M.P. and Brown, A.L. and Dearle, A.}, title= {On the Classification of Binding Mechanisms}, journal= {Infomation Processing Letters}, year= {1990}, volume= {34}, number= {2}, pages= {51--55}, keywords= {Binding, L-Value, R-Value, Mutability} } @article {BoeRak94, author = {B{\"o}hm, K. and Rakow, T.C.}, title = {Metadata for Multimedia Documents}, journal = {Sigmod Record}, year = {1994}, volume = {23}, number = {4}, pages = {21--26}, month = {December}, note = {}, owner = {}, reg-date = {June 1996}, abstract = {}, keywords = {metadata, multimedia}, directory = {}, key = {}, comment = {classification of metadata for multimedia} } @incollection {KasShaShe96, author = {Kashyap, V. and Shah, K. and Sheth, A.}, editor = {Subrahmenian, V.S. and Jajodia, S.}, title = {Metadata for Building the MutiMedia Patchquilt}, booktitle = {Multimedia Database Systems}, chapter = {}, pages = {297--319}, publisher = {Springer}, year = {1996}, volume = {}, number = {}, series = {}, type = {}, address = {}, edition = {}, month = {}, note = {}, owner = {}, reg-date = {June 1996}, abstract = {}, keywords = {metadata, mulimedia, ontology}, directory = {}, key = {}, comment = {classification of metadata for multimedia} } @inproceedings {NueFurLeg+95, author = {N{\"u}rnberg, P.J. and Furuta, R. and Leggett, J.L. and Marshall, C.C. and Shipman III, F.M.}, title = {Digital Libraries: Issues and Architectures}, booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {June}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {The research field of digital libraries must be viewed as a union of subfields from a variety of domains combined with new research issues in order to realize its full potential. A clear exposition of the research issues involved has notyet been given. Most approaches to building digital library systems have thus far been limited to addressing specific digital library problems as variations of problems from other fields. This paper presents a taxonomy of digital library elements. Consideration of the elements in this taxonomy helps suggest a variety of issues. Example elements and some issues they suggest are used to populate the taxonomy. The paper continues by presenting a general digital library system architecture. Issues suggested by the taxonomy are shown to have implications at many levels of digital library system architectures for both design and implementation. This is illustrated by considering the implications of one issue (personalizing presentations) at several architectural levels and in the context of a set of current technologies.}, keywords = {digital library issues, digital library architecture, databases, physical libraries, World Wide Web }, directory = {}, key = {}, comment = {} } @inproceedings{Schm77a, key= {Schm77a}, author= {Schmidt, J.W.}, title= {Some High Level Language Constructs for Data of Type Relation}, booktitle= sigmod77, month= aug, year= {1977}, keywords= {Pascal/R}, } @inproceedings {AckFie95, author = {Ackerman, M.S. and Fielding, R.T.}, title = {Collection Maintenance in the Digital Library}, booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {June}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {Maintenance will be critical to digital libraries, especially those that promote broad access to diverse, informal materials. If ignored, maintenance issues within the digital library -- especially those relating to its materials -- will threaten its usefulness and even its long-term viability. We perceive the maintenance problem to be both technical and institutional, and this paper considers the maintenance of the digital library as both institution and technology. The paper examines collection maintenance from several vantage points, including software architecture and the type of collection, arguing that digital libraries that contain informal and dynamic material will have substantially greater maintenance problems. The paper ends with an examination of potential technical solutions. }, keywords = {digital library, collection, maintenance, World Wide Web, organizational memory, usability }, directory = {}, key = {}, comment = {} } @techreport {Cam94, author = {Cameron, R.D.}, title = {To Link or To Copy? {F}our Principles for Materials Acquisition in Internet Electronic Libraries}, institution = {School of Computing Science, Simon Fraser University}, year = {1994}, type = {Technical Report}, number = {CMPT TR 94-08}, address = {}, month = {December}, note = {}, owner = {}, reg-date = {}, abstract = {Many of the early experiments in internet electronic libraries have used rather ad hoc approaches to material acquisition. Four principles are suggested as a starting point for an internet material acquisition policy. It is argued that systematic application of these principles will allow internet librarians to provide their patrons with authoritative, up-to-date, reliable and useful access to internet materials. }, keywords = {}, directory = {}, key = {}, comment = {} } @inproceedings {ShiGar96, author = {Shivakumar, N. and Garcia-Molina, H.}, title = {Building a Scalable and Accurate Copy Detection Mechanism}, booktitle = {Digital Libraries '96, 1st ACM International Conference on Digital Libraries}, year = {1996}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {multi-media}, comment = {} } @inproceedings{Dea89, key= {Dea89}, author= {Dearle, A.}, title= {Environments: a flexible binding mechanism to support system evolution}, booktitle= {Proc. HICSS-22, Hawaii}, volume= {II}, month= jan, year= {1989}, pages= {46--55}, keywords= {Napier Type System, environment, dynamic binding, dynamic typing} } @inproceedings {Bir95, author = {Birmingham, W.P.}, title = {An Agent-Based Architecture for Digital Libraries}, booktitle = {Proceedings of the Second Annual Conference on the Theory and Practice of Digital Libraries}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {June}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {}, comment = {} } @inproceedings {BalSho95, author = {Balabanovic, M. and Shoham, Y.}, title = {Learning Inforamtion Retrieval Agents: Experiments with Automated Web Browsing}, booktitle = {Proceedings of the AAAI Spring Symposium on Information Gathering from Heterogeneous, Distributed Resources}, year = {1995}, editor = {}, volume = {}, number = {}, series = {}, pages = {}, address = {}, month = {March}, organization = {}, publisher = {}, note = {}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {multi-media}, comment = {} } @Misc{Tyco92X, key= {Tycoon}, title= {{WWW} Home Page for the {Tycoon} Project}, howpublished= {http://\-idom-www.\-informatik.\-uni-hamburg.de/\-Projects/\-Tycoon/\-entry.html}, year= {1992}, keywords= {Tycoon, WWW, Home Page} } @inproceedings{MaSc91b, key= {MaSc91b}, author= {Matthes, F. and Schmidt, J.W.}, title= {Bulk Types: Built-In or Add-On?}, booktitle= dbpl91, publisher= kaufmann, month= sep, year= {1991}, documentdirectory= {1991/MaSc91b}, keywords= {bulk types, iterators, libraries, Tycoon, DBPL}, abstract= {Bulk structures play a central r\^ole in data-intensive application programming. The issues of {\em bulk type} definition and implementation as well as their integration into database programming languages are, therefore, key topics in current DBPL research. \\ In this paper we raise a more general language design and implementation issue by asking whether there should be at all built-in bulk types in DBPLs. Instead, one could argue that bulk types should be realized exclusively as user-definable add-ons to unbiased core languages with appropriate primitives and abstraction facilities. \\ In searching for an answer we first distinguish two substantially different levels on which bulk types are supported. {\em Elementary Bulk} essentially copes with persistent storage of mass data, their identification and update. {\em Advanced Bulk} provides additional support required for data-intensive applications such as optimized associative queries and integrity support under concurrency and failure. \\ Our long-term experience with bulk types in the DBPL language and system clearly shows the limitation of the built-in approach: built-in {\em Advanced Bulk}, as elaborate as it may be, frequently does not cover the whole range of demands of a fully-fledged application and often does not provide a decent pay-off for its implementation effort. On the other hand, restriction to built-in {\em Elementary Bulk} gives too little user-support for most data-intensive applications. \\ We report our current work on open database application systems which favours DBPLs with bulk types as add-ons, and outline some of the technological requirements for highly reusable implementations of languages with advanced user-provided bulk type definitions.} } @inproceedings{SMV93, key= {SMV93}, author= {Schmidt, J.W. and Matthes, F. and Valduriez, P.}, title= {Building Persistent Application Systems in Fully Integrated Data Environments: Modularization, Abstraction and Interoperability}, booktitle= {Proceedings of Euro-Arch'93 Congress}, publisher= springer, month= oct, year= {1993}, pages= {270--287}, documentdirectory= {1993/SMV93}, abstract= {Research and development in the FIDE project on Fully Integrated Data Environments has led to the concept of Persistent Object Systems (POS) which generalize database systems by re-interpreting schemas as type definitions and databases as typed variables in addition to treating lifetime as a type-independent property. Furthermore, FIDE develops uniform linguistic interfaces for data modelling, computation and communication, and extends database, programming and communication technology to enable integrated application development based on interoperating POSs.\\ As a consequence of such an integrated view, formerly disjoint concepts such as databases, program and module libraries, files or repositories can now be treated uniformly as POSs differentiated essentially by the types of objects they contain and by the operational abstractions they provide. \\ Based on state-of-the-art database technology, this paper outlines FIDE results in extending databases and providing the integrated technology considered necessary for the construction and maintenance of Persistent Application Systems. Since our main goal is to improve substantially a system's capability of persisting successfully over time in changing environments, particular emphasis will be placed on systems scalability and its consequences for POS interoperability.} } @inproceedings{MaSc93b, key= {MaSc93b}, author= {Matthes, F. and Schmidt, J.W.}, editor= {Spies, P.P.}, title= {System Construction in the {Tycoon} Environment: Architectures, Interfaces and Gateways}, booktitle= {Proceedings of Euro-Arch'93 Congress}, publisher= springer, month= oct, year= {1993}, pages= {301--317}, documentdirectory= {1993/MaSc93b}, comments= {Suitable as brief Tycoon introduction / overview}, abstract= {This paper outlines the basic concepts and the system architecture of the Tycoon environment. Tycoon is designed for the construction of persistent object systems intended to be available on multiple software and hardware platforms.\\ Tycoon's contribution to system portability and scalability is achieved by strictly separating concerns of data modelling, data manipulation, and data storage into three distinct system layers each of which is based on state-of-the-art system technology (polymorphic programming languages, portable code representations, persistent object stores). Much emphasis is being placed on supporting interoperability between Tycoon applications and off-the-shelf tools and systems, such as database systems, user interface managers, and optimizing code generators.\\ We illustrate how higher-order functions, polymorphic typing and transparent persistence management reduce the amount of repetitive and type-unsafe programming in typical persistent object systems.} } @inproceedings{MMS96a, key= {MMS96a}, author= {Matthes, F. and M{\"u}ller, R. and Schmidt, J.W.}, title= {Towards a Unified Model of Untyped Object Stores: Experience with the {Tycoon} Store Protocol}, booktitle= {Advances in Databases and Information Systems (ADBIS'96), Proceedings of the Third International Workshop of the Moscow ACM SIGMOD Chapter}, year= {1996}, documentdirectory= {1996/MMS96a}, abstract= { The Tycoon Store Protocol (TSP) specifies a clean interface between the frontend and the backend of fully integrated persistent environments. In contrast to high-level relational or object-oriented database languages, TSP is based on a low level, untyped, but highly flexible tagged store model that is particularly well-suited for the implementation of higher-order persistent polymorphic languages. We describe the TSP operations in some detail and give insight into TSP's design rationale. We also report on the existing set of TSP-compliant backends including TSP adaptors to commercial object stores. A TSP client can choose dynamically between these backends and it is possible to exchange complex object graphs between all TSP-compliant stores via a platform-independent external data representation.}} @unpublished{MMS96b, key= {MMS96b}, author= {Mathiske, B. and Matthes, F. and Schmidt, J.W.}, title= {On Migrating Threads}, note= {To appear in the Journal of Intelligent Information Systems}, year= 1996, documentdirectory= {1996/MMS96b}, abstract= { Based on the notion of persistent threads in Tycoon, we investigate thread migration as a programming construct for building activity-oriented distributed applications. We first show how a straight-forward extension of a higher-order persistent language can be used to define activities that span multiple (semi-) autonomous nodes in heterogeneous networks. In particular, we discuss the intricate binding issues that arise in systems where threads are first-class language citizens that may access local and remote, mobile and immobile resources. \\ We also describe how our system model can be understood as a promising generalization of the more static architecture of first-order and higher-order distributed object systems. Finally, we give some insight into the implementation of persistent and migrating threads and we explain how to represent bindings to ubiquitous resources present at each node visited by a migrating thread on the network to avoid excessive communication or storage costs.} } @inproceedings{MMS95a, author= {Mathiske, B. and Matthes, F. and Schmidt, J.W.}, title= {On Migrating Threads}, booktitle= {Proceedings of the Second International Workshop on Next Generation Information Technologies and Systems, Naharia, Israel}, year= {1995}, note= {(Also appeared as TR FIDE/95/136)}, documentdirectory= {1995/MMS95a}, month= jun, keywords= {Migrating Threads, distributed programming, object models, object migration, activity modeling, workflow, scripts, Tycoon}, abstract={Based on the notion of persistent threads in Tycoon, we investigate thread migration as a programming construct for building activity-oriented distributed applications. We first show how astraight-forward extension of a higher-order persistent language can be used to define activities that span multiple (semi-) autonomous nodes in heterogeneous networks. In particular, we discuss the intricate binding issues that arise in systems where threads are first-class language citizens that may access local and remote, mobile and immobile resources. \\ We also describe how our system model can be understood as a promising generalization of the more static architecture of first-order and higher-order distributed object systems. Finally, we give some insight into the implementation of persistent and migrating threads and we explain how to represent bindings to ubiquitous resources present at each node visited by a migrating thread on the network to avoid excessive communication or storage costs. }} @inproceedings{MMS95b, key= {MMS95b}, author= {Mathiske, B. and Matthes, F. and Schmidt, J.W.}, title= {Scaling Database Languages to Higher-Order Distributed Programming}, booktitle= dbpl95, year= {1995}, month= sep, documentdirectory= {1995/MMS95b}, publisher= springer, keywords= {Migrating Threads, remote execution engines, remote procedure call, higher-order functions, distributed programming, object models, object migration, activity modeling, workflow, scripts, Tycoon}, note= {(Also appeared as TR FIDE/95/137)}, abstract= {We describe the Tycoon approach to scale the successful notion of a uniform, type-safe persistent object store to communication-intensive applications and applications where long-term activities are allowed to span multiple autonomous network sites. Exploiting stream-based data, code and thread exchange primitives we present several distributed programming idioms in Tycoon. These programming patterns range from client-server communication based on polymorphic higher-order remote procedure calls to migrating autonomous agents that are bound dynamically to networkresources present at individual network nodes. Following Tycoon's add-on approach, these idioms are not cast into built-in syntactic forms, but are expressed by characteristic programming patterns exploiting communication primitives encapsulated by library functions. Moreover, we present a novel form of binding support for ubiquitous resources which drastically reduces communication traffic for modular distributed applications. }} @inproceedings{MaSc94, key= {MaSc94}, author= {Matthes, F. and Schmidt, J.W.}, title= {Persistent Threads}, year= 1994, month= sep, booktitle= {Proceedings of the Twentieth International Conference on Very Large Data Bases, VLDB}, pages= {403--414}, address= {Santiago, Chile}, documentdirectory= {1994/MaSc94}, abstract= {Persistent threads are a database programming concept particularly well-suited for applications that manage long-term, distributed or cooperative activities. We introduce persistent threads as a novel form of bindings from data in persistent object stores to activated code and relate them to existing binding concepts found in database programming. We also describe the integration of persistent threads into a polymorphically-typed database language and its supporting layered system architecture with particular emphasis on abstractly-defined thread representations which support thread analysis, optimization and portability.}} @TechReport{GMcG95, author= {Gosling, J. and {McG}ilton, H.}, title= {The {Java} Language Environment --- {A} Whitepaper}, month= oct, institution = {Sun Microsystems}, keywords= {java, object oriented, interpreter, virtual machine}, year= {1995}, } @techreport{MBC*94, key= {MBC*94}, author= {Morrison, R. and Brown, A.L. and Connor, R.C.H. and Cutts, Q.J. and Dearle, A. and Kirby, G.N.C. and Munro, D.S.}, title= {The {Napier88} Reference Manual (Release 2.0)}, institution= fidecoord, type= fiderep, number= {FIDE/94/104}, year= {1994}, keywords= {persistence, type completeness, higher-order procedures, parametric polymorphism, abstract data types, collections of bindings (environments), persistent store, graphical data types, threads, semaphores and transactions, reflective programming} } @book{Matt93, key= {Matt93}, author= {Matthes, F.}, title= {Persistente Objektsysteme: Integrierte Datenbankentwicklung und Programmerstellung}, year= {1993}, publisher= springer, note= {(In German)}, abstract= { Unter dem Begriff der Persistenten Objektsysteme werden komplexe Anwendungen zusammengefa\ss t, die aufgrund ihrer langen Lebensdauer, ihrer N\"ahe zu Endbenutzern und ihrer Sicherheitsanforderungen auf ein hohes Ma\ss \ an Unterst\"utzung durch externe Diensterbringer angewiesen sind. Beispiele kommerzieller Diensterbringer sind Objekt\-speicher, Transaktionsmonitore, Datenbanksysteme, Generatoren f\"ur graphische Benutzerschnittstellen oder generische Dienste zur Kommunikation zwischen verteilten Objekten. Bislang sind derartige Diensterbringer weitgehend unabh\"angig voneinander entwickelt worden und k\"onnen nur \"uber historisch gewachsene, schmale Schnittstellen miteinander kommunizieren.\\ Die Qualit\"at zuk\"unftiger persistenter Objektsysteme wird jedoch entscheidend durch die Flexibilit\"at, Effizienz und Korrektheit im Zusammenspiel der Objekte dieser verschiedenartigen generischen Dienste und weniger durch die Leistungsf\"ahigkeit einzelner isolierter Systemkomponenten bestimmt.\\ In diesem Buch wird im Detail die persistente polymorphe Programmierumgebung Tycoon (Typed communicating objects in open environments) beschrieben, die eine Verbesserung der Qualit\"at persistenter Objektsysteme dadurch erreicht, da\ss \ der Anteil der stereotypen, untypisierten Programmiert\"atigkeiten erheblich reduziert werden kann (verglichen etwa mit C, Modula-2 oder C++ L\"osungen).\\ Konkret bietet das Tycoon System spezielle sprachliche und architekturelle Unterst\"utzung f\"ur die vollst\"andig transparente Verwaltung langlebiger Daten- und Programmobjekte, die mengen\-orien\-tierte Verarbeitung (benutzerdefinierter) Kollektionen, die Implementierung ge\-ne\-ri\-scher Bibliotheken und die typsichere Anbindung externer Systemsoftware (z.B. SQL Datenbanken oder Fenstersysteme).\\ Das Buch beschreibt die zentralen Komponenten des Tycoon Systems nicht nur aus der Sicht des programmierenden Anwenders, sondern vermittelt auch Einblicke in die interne Systemarchitektur sowie die Algorithmen und Formalismen zur Analyse und \"Ubersetzung generischer persistenter Programme. Schlie\ss lich enth\"alt der Text substantielle Beispiele f\"ur die Konstruktion generischer Bibliotheken und Beispiele objekt-orientierter, funktionaler und relationaler Programmiertechniken in Tycoon.} } @techreport{Card89, key= {Card89}, author= {Cardelli, L.}, title= {Typeful Programming}, institution= src, number= 45, month= may, year= {1989}, keywords= {Quest language report, second-order type system} } @article{ScMa94, key= {ScMa94}, author= {Schmidt, J.W. and Matthes, F.}, title= {The {DBPL} Project: Advances in Modular Database Programming}, journal= {Information Systems}, volume= {19}, number= {2}, pages= {121--140}, year= 1994, documentdirectory= {1994/ScMa94}, abstract= {In the DBPL project we tackled the problem of supporting data-intensive applications in a single framework, clean and simple in its conceptual foundation and free of technical mismatches. Conceptually, we based the DBPL language on Modula-2 with three built-in extensions which, at that time, were considered necessary (and sufficient) for data-intensive applications: \begin{itemize} \item a parametric bulk type constructor for ``keyed sets'' or relations; \item a module concept which supports sharing across programs and implies persistence; \item a procedure concept with transactional semantics, i.e., serializability and recovery. \end{itemize} In implementing the DBPL system we adopted a rather strict approach by aiming for \begin{itemize} \item full orthogonality in our relationally extended type space; \item type-complete persistence, i.e. longevity of data from Booleans to relations; \item functional abstraction for relational expressions including recursion. \end{itemize} As a consequence, the DBPL project covers in a quite natural way approaches otherwise considered disjoint as, for example, complex objects, multibases and data deduction.\\ In this paper, besides reporting on project achievements and spin-offs, we also present our insight in good-quality project design and its dependency on conceptual simplicity and implementational strictness. This also includes early recognition of the essential project ``terminator'' which, in our project, was Modula-2's monomorphic type system and its intrinsic restrictions on systems extensibility.\\ The DBPL project results in a mature product for modular database application programming and a follow-up project based on polymorphic types and other higher-order concepts}} @inproceedings{RMS95, author= {Rudloff, A. and Matthes, F. and Schmidt, J.W.}, title= {Security as an Add-On Quality in Persistent Object Systems}, booktitle= {Second International East/West Database Workshop, Klagenfurt, Austria}, series= {Workshops in Computing}, publisher= springer, year= 1995, pages= {90--108}, note= {(Also appeared as TR FIDE/95/138)}, keywords= {Tycoon, authorization, authentication, security}, documentdirectory= {1995/RMS95}, abstract= {System security services like authentication, access control and auditing are becoming increasingly critical for information systems particularly in distributed heterogeneous environments. Since information system architectures are moving rapidly from centralized, grand unifying architectures towards open, service-oriented and communication-based environments (``Persistent Object Systems'') constructed with well-organized component technologies it is essential that such structural changes are reflected adequately in the architecture of system security services.\\ In this paper we present an open, library-based approach to the security of Persistent Object Systems which generalizes and unifies the protection mechanisms that traditionally come bundled with database, communication or operating system services. More specifically, we illustrate how polymorphic typing can be exploited to abstract from particular commercially available security services, such as Kerberos, and how higher-order functions allow the user to add value to existing security services. Furthermore, we demonstrate how higher-order functions, first-class modules and reflection provide a technical framework for the realization of domain-specific security policies and for the systematic construction of security-enhanced activities.} } @inproceedings{cch92, author = "Callan, J.P. and Croft, W.B. and Harding, S.M.", title = "The {I}nquery Retrieval System", booktitle = "Proceedings of the Third International Conference on Database and Expert Systems", year = 1991 } @inproceedings{bcc94, author = "Broglio, J. and Callan, J.P. and Croft, W.B.", title = "Inquery System Overview", booktitle = "Proceedings of the TIPSTER Text Programm (Phase 1)", year = 1994, publisher = kaufmann, pages = "47--67" } @inproceedings{SMA91, key= {SMA91}, author= {Stemple, D. and Morrison, R. and Atkinson M.}, title= {Type-safe Linguistic Reflection}, booktitle= dbpl91, publisher= kaufmann, year= {1991}, pages= {357--362} } @inproceedings{SSF92, key= {SSF92}, author= {Stemple, D. and Sheard, T. and Fegaras, L.}, title= {Linguistic Reflection: A Bridge from Programming to Database Languages}, booktitle= hicss92, year= {1992}, pages= {46--55}, keywords= {TRPL, Macros, Optimizing Queries, natural join, compile-time reflection} } @techreport{KCMS96, author= {Kirby, G.N.C. and Connor, R.C.H. and Morrison, R. and Stemple, D.}, institution= {University of St.~Andrews}, number= {CS/96/10}, title= {Using Reflection to Support Type-Safe Evolution in Persistent Systems}, year= {1996}, } @article {MNS96, author = {C. Nieder\'ee and C. Hattendorf and S. M\"u{\ss}ig and M. Warnke and J.W. Schmidt}, title = {Warburg Electronic Library: Eine digitale {B}ibliothek f\"ur die {P}olitische {I}konographie}, journal = {unihh forschung}, year = {1996}, volume = {XXXI}, number = {}, pages = {}, month = {}, note = {}, owner = {}, reg-date = {}, abstract = {}, keywords = {}, directory = {}, key = {}, comment = {} } @article{Meyer90, key= {Meyer90}, author= {Meyer, B.}, title= {Lessons from the Design of the {Eiffel} Libraries}, journal= cacm, volume= 33, number= 9, month= sep, year= {1990}, pages= {69--88}, keywords= {Classes, Clusters, Invariants, Assertions, Naming, Uniformity of Interfaces, Classifying Data Structures, Bulk Data Structures (Access, Traversal, Storage), Browsing, Evolution of Libraries} } @book{Meyer94, key= {Meyer94}, author= {Meyer, B.}, title= {The Base Object-oriented Component Libraries}, publisher= prentice, year= {1994} } @inproceedings{ScMa93, key= {ScMa93}, title= {Lean Languages and Models: Towards an Interoperable Kernel for Persistent Object Systems}, author= {Schmidt, J.W. and Matthes, F.}, year= {1993}, booktitle= {Proceedings of the IEEE International Workshop on Research Issues in Data Engineering}, pages= {2--16}, month= apr, keywords= {Tycoon, DBPL, Modules, Signatures, Bindings, Gateway}, documentdirectory= {1993/ScMa93}, abstract= {Reliable interoperation between independently developed systems frequently requires type-safe access to persistent data objects and generic services while today's system architectures and interoperation tools still focus primarily on store-level access to volatile data and simple monomorphic or untyped services. \\ In this paper, we summarize our experience gained in a long-term project that provides persistence abstractions and generic database support in a strongly typed database environment which includes optimizing gateways to commercial relational database servers and module-based distributed programming tools. To keep the presentation focussed, we make use of a uniform language model based on higher-order polymorphic types to capture the essential interoperation semantics including classical cross-language calling mechanisms, remote procedure call models as well as relational and object-based database gateways. \\ This uniform language model is also the conceptual core of the Tycoon database environment being developed at Hamburg University. Tycoon lifts Persistent Object System interoperability to a higher level of genericity and precision while further reducing overall system complexity by a lean approach to languages and models for data, execution and storage. \\ Since it is central to the concept of lean production to substantially reduce production penetration by importing and reusing external services, interoperability is crucial to our approach.} }