| Prolog ++: The Power of Object-Oriented and Logic Programming, International Series in Logic Programming, Addison-Wesley Publishers Ltd., 1994 Luhman, N. |
....fruit in logic programming. We find that using explicit state is important for fundamental reasons related to program modularity (see Chapter 4 of [122] There exist tools to use state in Prolog while keeping a logical semantics when possible. See for example SICStus Objects [12] Prolog [73], and the Logical State Threads package [58] An ancestor of the latter was used to help write the Aquarius Prolog compiler [117, 121] Functional programmers have also incorporated state into functional languages, e.g. by means of set operations in LISP Scheme [110, 1] references in ML [72] ....
....threading, it has di#culties when integrated with concurrency. See [122] for a discussion of the relative merits of the state threading approach versus the location approach. Within the logic paradigm, there have been many attempts to add an object system [29] Prominent examples are Prolog [73] and SICStus Objects [12] These approaches use locations as primitives, much like the functional approach. Functions have been added in several ways to logic languages. A first approach is LIFE, which provides functions as a kind of relation that is called by entailment, i.e, the function call ....
Chris Moss. Prolog++: The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....of our system is the concept of representational independence: while the conceptual and representational constructs can combined in a customizable way in the modeling environment, they are implemented separately. The use of a declarative and intuitive language like Prolog (e.g. CM84, 5 Bra86, Mos94] for completely building our CASE environment is then essential to our approach. First, the nature of Prolog o#ers, of course, several well known advantages over conventional programming languages such as clarity, modularity, conciseness, and legibility. As a result, programs are much closer to ....
C. Moss. Prolog++: The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....be constructed once the narrative has been translated. Description logics do not have class methods or explicit time, both of which are essential in the work presented here. The approach presented in this chapter bears more resemblance to objectoriented programming languages such as Prolog [14], C or Java. In these languages, a method is a sequence of code that is procedurally executed when the method is invoked. In our approach, however, a method is a set of rules that have to be satisfied whenever the method is invoked. The fact that delays 4 McCarthy uses the term surgery for ....
C. Moss. Prolog++, The power of object-oriented and logic programming. Addison-Wesley, 1994.
....scenarios, model execution and the model revision are carried out in mutual exclusion of one another. Changes are made at the level of the modeling environment. Thus we have a clear separation of the declarative and procedural parts of a constrained object. Logic and Objects. The Prolog language [Mos94] adds to logic programming by allowing storage and modi cation of the state of a system by providing constructs for classes, methods and assignment. Another approach to integrating logic with object oriented programming is the Object Logic Integration (OLI) design methodology [LP97] which allows ....
C. Moss. Prolog++: The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....new construct is the class schema that captures the object oriented notion of a class. Object Z allows inheritance to be modeled, but it lacks tool support for automatically analyzing speci cations. Objects and inheritance have also been added to declarative languages. For example, Prolog [17] extends Prolog. OOLP [2] aims to integrate objectoriented paradigm with logic programming by translating OOLP code into Prolog without meta interpretation. Keidar et al. 10] add inheritance to the IOA language [13] for modeling state machines, which enables reusing simulation proofs between ....
Chris Moss. Prolog++ The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....new construct is the class schema that captures the object oriented notion of a class. Object Z allows inheritance to be modeled, but it lacks tool support for automatically analyzing speci cations. Objects and inheritance have also been added to declarative languages. For example, Prolog [13] extends Prolog. OOLP [1] aims to integrate objectoriented paradigm with logic programming by translating OOLP code into Prolog without meta interpretation. Keidar et al. 8] add inheritance to the IOA language [11] for modeling state machines, which enables reusing simulation proofs between ....
Chris Moss. Prolog++ The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....be constructed once the narrative has been translated. Also, description logics do not use methods or explicit time, both of which are essential in the work presented here. The approach presented in this chapter bears more resemblance to object oriented programming languages such as Prolog [19], C or Java. In most such languages, however, a method is a sequence of code that is procedurally executed when the method is invoked. In our approach, a method is a set of rules that must be satisfied whenever the method is invoked. Since delays can be modeled in TAL, methods can be invoked ....
C. Moss. Prolog++, The power of object-oriented and logic programming. Addison-Wesley, 1994.
....logic programming, state must be faced as well. This issue has been addressed within the context of Prolog. In addition to the heavy machinery of assert retract, there exist tools to use state in Prolog while keeping a semblance of logical semantics. See for example SICStus Objects [8] Prolog [53], and the Logical State Threads package [38] An ancestor of the latter was used to help write the Aquarius Prolog compiler [86, 89] 5.1 Explicit state creation In Oz, as in its ancestor AKL, state is an explicit part of the basic execution model. There are many equivalent ways to add state to ....
Chris Moss. Prolog++: The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....(built in) predicates like call, clause, assert, retract, etc. for a comprehensive list and a discussion on their use for metaprogramming, see [180] Example: It is easy to write a metaprogram that interprets Prolog programs and records their proofs. The following example is taken by [140]. We represent the program to be interpreted as a set of clauses and the goal as a list [G1, Gn] where every Gi is either a system(Goal) or a user(Goal) system goals correspond to built in Prolog predicates. a Prolog metainterpreter which records the proof of a goal ....
.... behavior (i.e. the proof) of a goal, or to measure some property of the execution, e.g. the number of inferences necessary to obtain a result [76, 48] Example: 10 It is easy to write a metaprogram which pretty prints the execution generated by the metainterpreter in the above example [140]. a metaprogram which pretty prints the proof of a goal printProof(X) printP(X,0) nl,nl. printP(system(true) write( fact ) printP(system(A) D) nl,tab(D) write(A) write( system ) printP( A: Pb) D) nl, tab(D) write(A) write( D1 is D 3,printP(Pb,D1) printP( Pa,Pb) D) ....
[Article contains additional citation context not shown here]
C. Moss. Prolog++. The Power of ObjectOriented and Logic Programming. Addison-Wesley, 1994.
....logic programming, state must be faced as well. This issue has been addressed within the context of Prolog. In addition to the heavy machinery of assert retract, there exist tools to use state in Prolog while keeping a semblance of logical semantics. See for example SICStus Objects [8] Prolog [50], and the Logical State Threads package [37] An ancestor of the latter was used to help write the Aquarius Prolog compiler [81, 84] 5.1 Explicit state creation In Oz, as in its ancestor AKL, state is an explicit part of the basic execution model. There are many equivalent ways to add state to ....
Chris Moss. Prolog++: The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....Collaborations diagrams indicate how activities in given objects change other objects or the given object. This way collaborations diagrams can be used to show system behaviors. By means of annotations collaborations diagrams can even be used to show sets of system behaviors. Schaschinger Erlach [1994] have carried out a comparison of the use of metamodels in different object oriented methods. It should be noted that there are still a lot of object oriented methods on the market that are devoted to the information engineering approach. In this approach a system is viewed as an information ....
....carried out on behalf of an object o k . We expect it to deliver an even more modular representation of agent generalization. Namely we expect delegation to be able to move the condition (5) out of the rules into a dispatcher code. Delegation can be formalized to some extent. See for example Moss [1994]. The problem here is to formalize delegation and change at the same time. As we have pointed out, we do not support the distinction between activity owner and objects that are occupied by an activity and the transfer of activities. For an exposition of this concept see for example Francez, ....
[Article contains additional citation context not shown here]
Prolog ++: The Power of Object-Oriented and Logic Programming, International Series in Logic Programming, Addison-Wesley Publishers Ltd., 1994 Luhman, N.
.... approach has led to creation of a number of logic languages of complex objects [7, 10, 12, 13, 15] Some of them have well defined semantics as, for example, F logic [12, 13] The other languages are extensions to already existent logical languages, for example, Prolog as an extension to Prolog [18]. In many cases, such an integration of concepts from the two paradigms results to the new language including corresponding syntactic constructs and semantics. Nevertheless, there exists also another approach to the integration of these different paradigms: the usage of transformations. In the ....
C. Moss, Prolog++. The Power of Object-Oriented and Logic Programming, Addison-Wesley, 1994.
....consuming. 3.1 Incorporating rules into objects It is argued in [Wong 90] that it is undesirable to implement objects within rule based programming, since rule based programming is not as portable as OO programming. One way to get round this is to implement rules within objects. In Prolog [Moss 94] for example, an object layer is designed as an emcompassing layer for Prolog rules. In this paradigm, objects can call Prolog rules without any special annotation, and if a Prolog predicate is redefined within the Prolog class hierarchy, the definition will be taken by default. Rules can be ....
C. Moss, Prolog++: The Power of ObjectOriented and Logic Programming, AddisonWesley, 1994.
....view which do not necessarily agree with the object model [5] as subscribed by the object oriented programming paradigm in programming design. In addition, extra logical constructs are employed to model state changes. More recently, a number of vanilla preprocessors, e.g. L O [14] and PROLOG [17] have been developed to reinstate the object model of objectoriented design. However, problems with the semantics of the translated programs still remain. Moreover, the motivation of L O and PROLOG is to extend the logic programming paradigm with features from the object oriented paradigm in ....
C.D.S. Moss. Prolog++: The Power of Object-Oriented and Logic Programming. AddisonWesley, 1994.
....design process. Programs written using languages and systems based on the above two approaches are usually verbose and vulnerable to subtle bugs. In order to provide a better linguistic support for objectoriented programming, a number of vanilla preprocessors, e.g. L O [16] and Prolog [17], have been developed. These preprocessors translate programs written in a syntax capturing the cliches used for object oriented programming into native logic programming languages syntax. Although this approach helps to reinstate the analysis role of the object oriented programming paradigm in ....
C.D.S. Moss. Prolog++: The Power of Object-Oriented and Logic Programming. AddisonWesley, 1994.
....features (classes, identity, complex objects and inheritance) IQL had a major impact on many later DOOD languages. There is also a substantial amount of work on concepts and techniques for extending logic programming with object oriented features for a comprehensive overview see [McC92, Mos94] A brief summary of how the main object oriented concepts can be mapped into the logic programming world is shown in Table 2. Logic Programming Object Orientation complex terms complex values object theories or classes predicate extensions OIDs in predicate extensions object identity labels in ....
C. Moss. Prolog++ The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
....as the basis and implement rules which describe relationships of objects on the top of them. Domain expertise always relates to inter relationships between objects, therefore a declarative query language for expressing these inter relationships is very useful in integrated systems. In Prolog [Moss 1994], for example, an object layer is designed as an encompassing layer for Prolog rules. In this paradigm, objects can call Prolog rules without any special annotation, and if a Prolog predicate is redefined within the Prolog class hierarchy, the definition will be taken by default. Rules can be ....
C. Moss. 1994. Prolog++: The Power of Object-Oriented and Logic Programming. Addison-Wesley Publishing Company.
....In this aspect O LOLA is related to L O (McCabe, 1992) which also uses the object as theory model. But O LOLA uses the deductive mechanisms of LOLA and evaluates, similar to CORAL and Noodle, bottomup. This is a major difference to all PROLOG based object oriented systems, like PROLOG (Moss, 1994), L O and OL(P) Fromherz, 1993) which evaluate top down and one tuple at a time . Like Peplom d and Coral , O LOLA can hold persistent data. Similar to the Prolog based systems L O and OL(P) O LOLA is implemented as a preprocessor, too. We adapted this proposal to deductive database based ....
Moss, C. (1994). Prolog++; The power of object-oriented and logic programming, Addison-Wesley.
....view which do not necessarily agree with the analysis role played by the object oriented programming paradigm in programming design. In addition, extra logical constructs are employed to model state changes. More recently, a number of vanilla preprocessors, e.g. L O (McCabe 1992) and Prolog (Moss 1994) have been developed to reinstate the analysis role of the object oriented programming paradigm. However, problems with the semantics of the translated programs still remain. Moreover, the motivation of L O and Prolog seems just to extend the logic programming paradigm with features from the ....
Moss, C. (1994). Prolog++: The Power of Object-Oriented and Logic Programming.
.... to study how the advantages of both approaches could be combined, perhaps through the vehicle of object oriented (Parameterised) Open) Open) Module = Framework Programs # # # (Generic) Polymorphic) Open) Class = ADT Methods Figure 3: Generic classes logic programming languages such as [11, 13]. ....
C.D.S. Moss. Prolog++: The Power of Object-Oriented and Logic Programming . Addison Wesley, 1994.
No context found.
Prolog ++: The Power of Object-Oriented and Logic Programming, International Series in Logic Programming, Addison-Wesley Publishers Ltd., 1994 Luhman, N.
No context found.
Chris Moss. Prolog++: The Power of Object-Oriented and Logic Programming. Addison-Wesley Longman Publishing Co., Inc., 1994.
No context found.
Chris Moss. Prolog++ The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
No context found.
C. Moss. Prolog++ The Power of Object-Oriented and Logic Programming. Addison-Wesley, 1994.
No context found.
Moss, C. Prolog ++ The Power of Object-oriented and Logic Programming. Addison --Wesley, 1994.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC