131 research outputs found

    Persistence is hard, then you die! or compiler and runtime support for a persistent common Lisp.

    Get PDF
    Journal ArticleIntegrating persistence into an existing programming language is a serious undertaking. Preserving the essence of t h e existing language, adequately supporting persistence, and maintaining efficiency require low-level support from the compiler and runtime systems. Pervasive, low-level changes were made to a Lisp compiler and runtime system to introduce persistence. The result is an efficient language which is worthy of the name Persistent Lisp.

    The PSN tribe

    Get PDF
    AbstractThe paper reviews the history, premises, research results and applications of the Procedural Semantic Network (hereafter PSN) formalism and two of its descendants, Taxis and Telos. The primary goal for the PSN project was to develop a knowledge representation formalism which combined gracefully semantic networks and procedural representations. After an initial proposal which set out a framework for the integration of these two types of representations [1], a number of features were investigated, including the treatment of contexts, the declarative representation of slots and procedures and several others. In parallel, attempts were made to apply some of the representation ideas embodied in PSN to the task of developing suitable languages for the early stages of information system design. During these stages, the designer is concerned with understanding the problem at hand and then proceeding with the specification of an initial conceptual design of an information system that meets stated requirements. Taxis and Telos were the result of this effort. Their features are outlined, along with a rationale for the differences between the three formalisms

    Entwurf und Implementierung effizienter Objektsysteme für funktionale und imperative Programmiersprachen am Beispiel von Lisp

    Get PDF
    Bisherige Objektsysteme funktionaler und imperativer Programmiersprachen weisen eine Lücke auf. Aus der funktionalen Tradition wurde das ausdrucksstärkste Objektsystem CLOS entwickelt, das insbesondere durch sein Metaobjektprotokoll hervorsticht, dessen Performanz aber zu wünschen übrig läßt. Auf der anderen Seite zeichnet sich C++ als besonders effizient aus, unterstützt aber zentrale Konzepte objektorientierter Programmierung wie Spezialisieren und Generalisieren von Objektklassen nur unzureichend, was abgeschwächt auch für Java gilt. In dieser Arbeit wird am Beispiel von Lisp gezeigt, wie man effiziente Objektsysteme unter Berücksichtigung des Verursacherprinzips so entwirft und implementiert, daß einfache Konstrukte keinen Overhead durch die Präsenz aufwendiger Konzepte, wie des Metaobjektprotokolls oder des Redefinierens von Klassen, mittragen müssen. Entgegen bisherigen Annahmen wird hier erstmals nachgewiesen, daß diese Konzepte auch ohne Quellcodeinterpretation bzw. -kompilation zur Laufzeit realisiert und somit auch in traditionellen, compiler-orientierten Programmiersprachen, wie Ada, Pascal, Eiffel, C++ und natürlich Java, unterstützt werden können.Up to now a gap is evident in object systems of functional and procedural programming languages. The most expressive object system developed in the family of functional languages is CLOS with its outstanding metaobject protocol. Its performance, however, does not meet the users' needs. In the family of procedural languages the most efficient object system developed is C++. But its support of central concepts of object-oriented programming, such as specialization and generalization of object classes, is not sufficient. This also applies in some degree for Java. Using Lisp as an example this thesis shows how efficient object systems can be designed and implemented so that simple constructs have no overhead because of the presence of complex concepts such as the metaobject protocol or the redefinition of classes. In contrast to former assumptions, this thesis proofs for the first time that the above mentioned concepts can be realized without embedding an interpreter or an incremental compiler in the run-time environment. Therefore, they can also be supported in traditional compileroriented programming languages such as Ada, Pascal, Eiffel, C++, and Java

    Parallel persistent object-oriented simulation with applications

    Get PDF

    Designing web-based adaptive learning environment : distils as an example

    Get PDF
    In this study, two components are developed for the Web-based adaptive learning: an online Intelligent Tutoring Tool (ITT) and an Adaptive Lecture Guidance (ALG). The ITT provides students timely problem-solving help in a dynamic Web environment. The ALG prevents students from being disoriented when a new domain is presented using Web technology. A prototype, Distributed Intelligent Learning System (DISTILS), has been implemented in a general chemistry laboratory domain. In DISTILS, students interact with the ITT through a Web browser. When a student selects a problem, the problem is formatted and displayed in the user interface for the student to solve. On the other side, the ITT begins to solve the problem simultaneously. The student can then request help from the ITT through the interface. The ITT interacts with the student, verifying those solution activities in an ascending order of the student knowledge status. In DISTILS, a Web page is associated with a HTML Learning Model (HLM) to describe its knowledge content. The ALG extracts the HLM, collects the status of students\u27 knowledge in HLM, and presents a knowledge map illustrating where the student is, how much proficiency he/she already has and where he/she is encouraged to explore. In this way, the ALG helps students to navigate the Web-based course material, protecting them from being disoriented and giving them guidance in need. Both the ITT and ALG components are developed under a generic Common Object Request Broker Architecture (CORBA)-driven framework. Under this framework, knowledge objects model domain expertise, a student modeler assesses student\u27s knowledge progress, an instruction engine includes two tutoring components, such as the ITT and the ALG, and the CORBA-compatible middleware serves as the communication infrastructure. The advantage of such a framework is that it promotes the development of modular and reusable intelligent educational objects. In DISTILS, a collection of knowledge objects were developed under CORBA to model general chemistry laboratory domain expertise. It was shown that these objects can be easily assembled in a plug-and-play manner to produce several exercises for different laboratory experiments. Given the platform independence of CORBA, tutoring objects developed under such a framework have the potential to be easily reused in different applications. Preliminary results showed that DISTILS effectively enhanced learning in Web environment. Three high school students and twenty-two NJIT students participated in the evaluation of DISTILS. In the final quiz of seven questions, the average correct answers of the students who studied in a Web environment with DISTILS (DISTILS Group) was 5.3, and the average correct answers of those who studied in the same Web environment without DISTILS (NoDISTILS Group) was 2.75. A t-test conducted on this small sample showed that the DISTILS group students significantly scored better than the NoDISTILS group students

    Experience in Using RDF in Agent-Mediated Knowledge Architectures

    Full text link
    We report on experience with using RDF to provide a rich content language for use with FIPA agent toolkits, and on RDFS as a metadata language. We emphasise their utility for programmers working in agent applica-tions and their value in Agent-Oriented Software En-gineering. Agent applications covered include Intelli-gent Information Agents, and agents forming Virtual Organisations. We believe our experience vindicates more direct use of RDF, including use of RDF triples, in programming knowledge architectures for a variety of applications

    Entwicklung und Implementierung eines modellgestützten Datenrepositories : das KBS Hyperbook System

    Get PDF
    [no abstract
    corecore