A Reactive Approach to Comprehensive Global Garbage Detection


Book Description

Comprehensive global garbage detection (GGD) in object-oriented distributed systems, i.e., GGD intrinsically able to detect distributed cycles of garbage, has mostly been addressed via graph tracing algorithms. Graph tracing algorithms must account for every live object in the system before any resource can actually be reclaimed which compromises both their scalability and robustness in a distributed environment. Alternative non-comprehensive approaches trade-off comprehensiveness for scalability and robustness under the assumptions that distributed cycles of garbage are rare and that all comprehensive algorithms are necessarily unscalable. This thesis contends instead that distributed cycles of garbage are as likely to occur as local cycles and that a comprehensive alternative to graph tracing GGD is possible. From the GGD perspective, the combined effects of the application processes and local garbage collectors fulfill the role of a global mutator. A subset of events of this global mutator's computation, called log-keeping events, reflect either the creation, or the destruction, of inter-site paths in the global object graph. The causal history of a log-keeping event corresponds to the set of events responsible for the creation of all the paths ever created that are incident to an object. The path history of this event is defined as a subset of its causal history and contains only those events responsible for the creation of the extant paths to this object. This dissertation presents a novel approach to comprehensive GGD that entails computing dependency vectors which characterize the path history of log-keeping events that reflect the destruction of a path. These dependency vectors can be computed by propagating increasingly accurate approximations of these vectors along the paths of the global object graph. In effect, this algorithm reacts to events that may result in the creation of garbage and identifies garbage without requiring a complete scan of the whole object graph. In conjunction with a lazy log-keeping mechanism, it can therefore be shown to be both scalable and robust despite being comprehensive.




Foundations of Intelligent Systems


Book Description

This book constitutes the refereed proceedings of the 9th International Symposium on Methodologies for Intelligent Systems, ISMIS '96, held in Zakopane, Poland, in June 1996. The 53 revised full papers presented were selected from a total of 124 submissions; also included are 10 invited papers by leading experts surveying the state of the art in the area. The volume covers the following areas: approximate reasoning, evolutionary computation, intelligent information systems, knowledge representation and integration, learning and knowledge discovery, and AI logics.




Fundamental Approaches to Software Engineering


Book Description

This book constitutes the refereed proceedings of the 9th International Conference on Fundamental Approaches to Software Engineering, FASE 2006, held in Vienna, Austria in March 2006 as part of ETAPS. The 27 revised full papers, two tool papers presented together with two invited papers were carefully reviewed and selected from 166 submissions. The papers are organized in topical sections.




Building Tightly Integrated Software Development Environments: The IPSEN Approach


Book Description

This coherently written book is the final report on the IPSEN project on Integrated Software Project Support Environments devoted to the integration of tools for the development and maintenance of large software systems. The theoretical and application-oriented findings of this comprehensive project are presented in the following chapters: Overview: introduction, classification, and global approach; The outside perspective: tools, environments, their integration, and user interface; Internal conceptual modeling: graph grammar specifications; Realization: derivation of efficient tools, Current and future work, open problems; Conclusion: summary, evaluation, and vision. Also included is a comprehensive bibliography listing more than 1300 entries and a detailed index.




Modular Programming Languages


Book Description

This book constitutes the refereed proceedings of the Joint Modular Languages Conference, JMLC'97, held in Linz, Austria, in March 1997. The 24 revised full papers presented were carefully selected from a total of 55 submissions; also included are full papers of two invited presentations. The book is devoted to languages, techniques, and tools for the development of modular, extensible, and type-safe software systems. Among the programming languages covered are Modula, Oberon, Ada95, Eiffel, Salher, Java, and others. The issues addressed include compiler technology, persistence, data structures, typing, distribution, active objects, real-time programming, inheritance, reflection, languages, etc.




Efficient Polymorphic Calls


Book Description

The implementation of object-oriented languages has been an active topic of research since the 1960s when the first Simula compiler was written. The topic received renewed interest in the early 1980s with the growing popularity of object-oriented programming languages such as c++ and Smalltalk, and got another boost with the advent of Java. Polymorphic calls are at the heart of object-oriented languages, and even the first implementation of Simula-67 contained their classic implementation via virtual function tables. In fact, virtual function tables predate even Simula-for example, Ivan Sutherland's Sketchpad drawing editor employed very similar structures in 1960. Similarly, during the 1970s and 1980s the implementers of Smalltalk systems spent considerable efforts on implementing polymorphic calls for this dynamically typed language where virtual function tables could not be used. Given this long history of research into the implementation of polymorphic calls, and the relatively mature standing it achieved over time, why, one might ask, should there be a new book in this field? The answer is simple. Both software and hardware have changed considerably in recent years, to the point where many assumptions underlying the original work in this field are no longer true. In particular, virtual function tables are no longer sufficient to implement polymorphic calls even for statically typed languages; for example, Java's interface calls cannot be implemented this way. Furthermore, today's processors are deeply pipelined and can execute instructions out-of order, making it difficult to predict the execution time of even simple code sequences.




Object Technologies for Advanced Software


Book Description

This volume constitutes the proceedings of the First International Symposiumorganized by the Japan Society for Software Science and Technology. The symposium was held in Kanazawa, Japan, November 4-6, 1993 and attracted many researchers from academia and industry as well as ambitioned practitioners. Object technologies, in particular object-oriented programming, object-oriented databases, and software object bases, currently attract much attention and hold a great promise of future research and development in diverse areas of advanced software. The volume contains besides 6 invited presentations by renown researchers and 25 contributed papers carefully selected by an internationalprogram committee from a total of 92 submissions.




Algebra of Communicating Processes


Book Description

ACP, the Algebra of Communicating Processes, is an algebraic approach to the study of concurrent processes, initiated by Jan Bergstra and Jan Will em Klop in the early eighties. These proceedings comprise the contributions to ACP94, the first workshop devoted to ACP. The work shop was held at Utrecht University, 16-17 May 1994. These proceedings are meant to provide an overview of current research in the area of ACP. They contain fifteen contributions. The first one is a classical paper on ACP by J.A. Bergstra and J.W. Klop: The Algebra of Recursively Defined Processes and the Algebra of Regular Processes, Report IW 235/83, Mathematical Centre, Amsterdam, 1983. It serves as an introduction to the remainder of the proceedings and, indeed, as a general introduction to ACP. An extended abstract of this paper is published under the same title in the ICALP' 84 proceedings. Of the re maining contributions, three were submitted by the invited speakers and the others were selected by the programme committee. As for the presentations, Jos Baeten, Rob van Glabbeek, Jan Friso Groote, and Frits Vaandrager were each invited to deliver a lecture. A paper relating to Frits Vaandrager's lecture has already been submitted for publication elsewhere and is not, therefore, included in these pro ceedings. Gabriel Ciobanu, one of our guests, gave an impression of his work in an extra lecture. Furthermore, ten presentations were given on the basis of selected papers.




East/West Database Workshop


Book Description

This volume results from the four-day scientific Second International East/West Database Workshop which took place 25th-28th September 1994, in Klagenfurt, Austria, continuing a series of workshops started in Kiev in 1990 (Lecture Notes in Computer Science No. 504, Springer, "Next Generation Information System Technology"). The aims of this workshop are twofold: first, to provide a forum for the presentation and in-depth discussion of scientific achievements in the field of advanced databases that will effectively improve the building and use of future information systems; second, to establish and increase communication between research communities which were formerly separated and, therefore, had only rare opportunities to interact. It should establish contacts between researchers from the East and from the West to make exchange of ideas possible and to trigger collaborations. However, it is not only political borders which change their perviousness as a result of -or giving rise to -new autonomies or new possibilities for interaction and collaboration. The same happens with the borders between scientific areas, in particular in the dynamically evolving areas of computer science. Databases and programming languages are integrated in object oriented databases, database and information retrieval technology form together the basis for modern (multimedia) information systems. Furthermore, the borders between different information systems change and allow various forms of collaboration while maintaining different degrees of autonomy. Heterogeneous and distributed databases are enabling technologies for these systems.




Functional Programming, Glasgow 1994


Book Description

This is the proceedings of the seventh annual workshop held by the Glasgow Functional Programming Group. The purpose of the workshop is to provide a focus for new research, to foster research contacts with other functional language researchers, and to provide a platform for research students to develop their presentation skills. As in previous years, we spent three days closeted together in a pleasant seaside town, isolated from normal work commitments. We were joined by colleagues from other universities (both UK and abroad) and from industry. Workshop participants presented a short talk about their current research work, and produced a paper which appeared in a draft proceedings. These papers were then reviewed and revised in the light of discussions at the workshop and the referees' comments. A selection of those revised papers (the majority of those presented at the workshop) appears here in the published proceedings. The papers themselves cover a wide span, from theoretical work on algebras and bisimilarity to experience with a real-world medical applica tion. Unsurprisingly, given Glasgow's track record, there is a strong emphasis on compilation techniques and optimisations, and there are also several papers on concurrency and parallelism.