7 research outputs found

    Computational Theology: A Metaobject-Based Implementation of Models of Generalised Trinitarian Logic

    Get PDF
    This paper analyses an amazingly close analogy between models of generalised trinitarin logics on the one hand side and class hierarchies in the field of object-oriented programming on the other, thus linking philosophy of religion and computer science. In order to bring out this analogy as clear and precise as possible, we utilise a metaobject protocol for the actual implementation of the theological models. These formal implementations lead to the insight that the analogy can be pushed even further, and we lay bare and analyse the close relation between the theological notion of subordination of divine persons and precedence in structures of multiple inheritance. The implementation of theoretical godheads finally leads to new metaobject programming techniques, thus underlining the cross-fertilisation between theology and computer science

    Computational Theology : A Metaobject-Based Implementation of Models of Generalised Trinitarian Logic

    Get PDF
    This paper analyses an amazingly close analogy between models of generalised trinitarian logics on the one hand side and class hierarchies in the field of object-oriented programming on the other, thus linking philosophy of religion and computer science. In order to bring out this analogy as clear and precise as possible, we utilise a metaobject protocol for the actual implementation of the theological models. These formal implementations lead to the insight that the analogy can be pushed even further, and we lay bare and analyse the close relation between the theological notion of subordination of divine persons and precedence in structures of multiple inheritance. The implementation of theoretical godheads finally leads to new metaobject programming techniques, thus underlining the cross-fertilisation between theology and computer science.Peer reviewe

    Meta-programming composers in 2nd generation component systems

    Get PDF
    Future component systems will require that components can be composed flexibly. In contrast to current systems which only support a fixed set of composition mechanisms, the component system should provide a composition language in which users can define their own specific composers. It is argued for an object-oriented setting that this will be possible by meta-programming the class-graph. Composers will be based on two important elements. First, they will express coupling by graph-based operators which transform parts of the class-graph (coupling design patterns). Second, during these transformations, elementary meta-operators will be used to transform data and code, rearranging slots and methods of parameter-components. Thus during their reuse, components are queried by introspection and transformed by meta-programming. Composers that use meta-programming generalize connectors in architectural languages. Hence they encapsulate context-dependent aspects of a system, and make components independent of their embedding context. Since meta-programming composers may change behavior of components transparently, meta-programming composers will lead to a nice form of grey-box reuse, which supports embedding of components (and classes) into application contexts in a new and flexible way

    They Will Survive—Again: CLO Resilience Amid the COVID-19 Pandemic

    Get PDF

    Area efficient asynchronous SDM routers using 2-stage Clos switches

    Full text link

    A TUTORIAL ON LISP OBJECT-ORIENTED PROGRAMMING FOR BLACKBOARD COMPUTATION (SOLVING THE RADAR TRACKING PROBLEM)

    Get PDF
    This exposition is a tutorial on how object-oriented programming (OOP) in Lisp can be used for programming a blackboard. Since we have used Common Lisp and the Common Lisp Object System (CLOS), the exposition demonstrates how object classes and the primary, before, and after methods associated with the classes can be used for this purpose. The reader should note that the different approaches to object-oriented programming share considerable similarity and, therefore, the exposition should be helpful to even those who may not wish to use CLOS. We have used the radar tracking problem as a \u27medium\u27 for explaining the concepts underlying blackboard programming. The blackboard database is constructed solely of classes which act as data structures as well as method-bearing objects. Class instances fonn the nodes and the levels of the blackboard. The methods associated with these classes constitute a distributed monitor and support the knowledge sources in modifying the blackboard data. A rule-based planner is used to construct knowledge source activation records from the goals residing in the blackboard. These activation records are enqueued in a cyclic queueing system. A scheduler cycles through the queues and selects knowledge sources to fire

    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
    corecore