| Davison, A. 1989.Polka: a Parlog object-oriented language. PhD thesis, Imperial College, November. |
....the update state of the object as arguments in the recursire call. The identity of the object is the name of an input stream argument of the process. Works in this direction are principally based on making OO extensions to concurrent logic languages. Within this approach some proposals are: Polka [4], L21 IO2 [14] and A UM [19] Although some implementation aspects are common, our motivation is to generate automatically a concurrent logic program corresponding to an OASIS conceptual model. 3.1 Objects and classes in concurrent logic programming Now we will sketch the essential features that ....
A. Davison. Polka: A Parlog object-oriented language, Ph.D. thesis, Department of Computer Science, Imperial College London, 1989.
....applied to a coloured 2 dimensional point like the one encoded in the following atom: point(In,5,7,red,Out) In fact, unification is not possible between this atom and the head of the clause. To cope with this problem one can simulate delegation [22] or even add it as a primitive to the language [15, 7], but here we have in mind a more static, albeit fully flexible, solution. 2.2 The Principle of Organizational Inheritance As should be clear, objects in Horn based concurrent languages do not really qualify for the title of organizations : for, as much as they are capable of evolving through ....
....by delegating to the simpler ones via stream communication. But, as distinguished from Actor languages (like Act1 [16] where it is a built in mechanism, here delegation has to be simulated by the programmer; higher level languages built on top of Horn based ones like Vulcan [15] and Polka [7] avoid this problem but have to introduce mechanisms like class declarations, which fix the structure of objects. Actually, Vulcan has also class declarations which support classical fixed structure inheritance. A more recent solution, known as logic programming with implicit variables [14, 21] ....
A. Davison. POLKA: a parlog object oriented language. Technical report, DOC, Imperial College, London, U.K., 1988.
....namely the search tree. However, such a view of objects as processes is not as satisfactory on the static aspects of object oriented programming, i.e. knowledge structuring. Truly, one can use stream communication to implement delegation, a dynamic form of knowledge sharing (see for example [11, 19, 30]) but many useful forms of knowledge structuring fall without this schema, like, for instance, subtyping with complex types as characterized in [2] The main innovation of LO with respect to Prolog will be in allowing program formulae with multiple heads , i.e. having the form (Head 1 : ....
....(IV) any method which can be used for 2 dimensional points can also be used for colored 2 dimensional points. Thus, the inclusion hierarchy between contexts is here the basis for inheritance. This is the crucial difference between LO and the usual approach to knowledge sharing based on delegation [11, 19, 30]. Indeed, in LO, there is only one (structured) process for each object, while delegation requires creating as many delegate processes as there are classes to which the object belongs (directly or indirectly) Furthermore, all these delegates need to communicate with each other and this implies a ....
[Article contains additional citation context not shown here]
A. Davison. POLKA: a parlog object oriented language. Technical report, DOC, Imperial College, London, U.K., 1988.
....tree. However, such a view of objects as processes is not as satisfactory on the static aspects of object oriented programming, i.e. knowledge structuring. Truly, one can use stream communication to implement a form of inheritance (known as delegation) among classes of objects (see for example [6, 14, 23]) but many useful forms of knowledge structuring fall without this schema, like, for instance, subtyping with complex types as characterized in [1] The main innovation of LO with respect to Prolog will be in allowing program clauses with multiple heads , i.e. having the form (Head 1 : ....
....rule (IV) any method which can be used for 2 dimensional points can also be used for coloured 2 dimensional points. Thus, the inclusion hierarchy between contexts is here the basis for inheritance. This is the crucial difference between LO and the usual approach to inheritance based on delegation [6, 14, 23]. Indeed, in LO, there is only one (structured) process for each object, while delegation requires creating as many delegate processes as there are classes to which the object belongs (directly or indirectly) Furthermore, all these delegates need to communicate with each other and this implies a ....
[Article contains additional citation context not shown here]
A. Davison. POLKA: a parlog object oriented language. Technical report, DOC, Imperial College, London, U.K., 1988.
....according to whether they enforce active objects and mutual exclusion. ISSUES IN OBJECT ORIENTED LANGUAGE DESIGN 13 mutual exclusion enforced no yes Smalltalk Eiffel [Mey93] Emerald [BHJL86] Maude [Mes93] CEiffel [L oh93] no Java ABCL Eiffeljj [Car93] active objects enforced yes Polka [Dav89] POOL T [Ame87] For an overview of concurrent object oriented languages consider [AWY93, Con93] As varied as the approaches of concurrent object oriented languages towards mutual exclusion and activeness are the synchronization mechanisms. The main means of synchronization of most languages is ....
....proceed. Arguably the most elegant synchronization mechanism in concurrent programming is provided by the logic variable. Synchronization is simply achieved through availability of information. Object oriented extensions of concurrent logic languages like Vulcan [KTMB87] A UM [YC88] and Polka [Dav89] use the logic variable as central synchronization concept. 1.4 Further Issues Multiple Inheritance So far, we assumed that a class can inherit only from at most one other class. We call this single inheritance. Many object oriented programming languages allow to inherit from and thus merge ....
Andrew Davison. Polka: A Parlog Object-Oriented Language. PhD thesis, Imperial College, London, 1989.
....computation ability of the Concurrent Logic Programming(CLP) languages, the knowledge representation and problem solving ability of Prolog, both enriched with the program and knowledge structuring capabilities of Object Oriented programming. DK Parlog was inspired by Davison s Polka [Davison 1989] OO extension of Parlog [Clark and Gregory 1986 ] and McCabe s L O [McCabe 1992] extension of Prolog. Crudely characterized, it is a significantly modified and distributed version of Polka relatively seemlessly integrated with an extended and distributed version of L O. Classes and servers The ....
....use a modification [Wang and Clark] of the concurrent OO implementation method of Shapiro and Takeuchi [Shapiro and Takeuchi 1983] The major difference is that all the instance methods, whether inherited or not, become the clauses of a single Parlog process definition. Shapiro and Takeuchi, and Davison [Davison 1989], have a separate process definition for the instance methods at each level in the hierarchy. 3 The dynamic knowledge methods are the analogue of the dynamic clauses of Prolog. They are represented as such. message M , sees the dynamic knowledge that results from all and only the knowledge ....
Davison, A., "Polka:A Parlog Object Oriented Language", PhD thesis, Imperial College, 1989.
....call. The identity of the object is the name of an input stream argument of the process into which all messages for the object are merged. The works in this direction are principally based on making OO extensions to concurrent logic languages. Within this approach some proposals are: Polka [5] and L2 O2 [11] based on Parlog, and A UM [19] based on GHC [18] The main motivation in the proposals of integration between CLP and the OO model has been to provide OO qualities for a concurrent logic language in order to take advantage of the benefits of OO methods for systems development. ....
Davison A., Polka: A Parlog ObjectOriented Language, Tesis Doctoral, Depto. Computer Science, Imperial Collegue Londres, 1989.
....component of such languages is Prolog, although other logic programming languages have been considered. These logic programming based object oriented languages have been applied to a variety of areas including graphics [McCabe 88] operating systems [Chikayama 84] and management systems [Davison 89] Different views on how to combine logic programming and object oriented programming have been investigated (see [Davison 93] for a detailed survey) Following [Davison 93] logic programming based object oriented languages can be classified into four groups according to their view for ....
....a query (event T4(I) to print a file and prints it (event C4(I) The print procedure is assumed to be built in. 7. A graphics example This application consists of the specification of three classes which enable the user to produce graphics on a screen using Ascii characters. It is inspired by [Davison 89] where a similar application has been programmed using Polka. These classes allow the drawing, moving, and deletion of lines, squares and circles. It illustrates some of the object oriented features of Tempo , such as encapsulation and inheritance. The classes are hierarchically organised as ....
Davison, A. 1989. Polka: a Parlog object-oriented language. PhD thesis, Imperial College, November.
....r 5 and s 6 and the state variable z are only accessible to class c. Methods p 3 and q 4 and state variables x and y are accessible to classes c and d but not e. Our way of specifying access control of methods and state variables is more general than those in some other integrated languages [8, 11, 12, 26]. In these languages, there are only two levels of access control: public and private. The implementation part contains the definitions of all methods declared previously in the world part, the family part and the personal part. If the class being defined is of type logic, then the methods are ....
A. Davison. Polka: A Parlog object oriented language. Internal report, Dept. of Computing, Imperial College, London 1988.
....constraint programming ( 17] can be used to model and support the synchronisation A Multimedia Programming Model Based on TCCP George A. Papadopoulos 3 requirements of multimedia objects; this is then combined with already existing techniques supporting object oriented programming ([4,6,12]) This work should be seen as a step towards the design and implementation of a high level multimedia programming framework based on declarative programming. To the best of our knowledge this is the first time that an attempt is made to use declarative programming (and, in particular, concurrent ....
....The next two sections discuss some of the issues related to multimedia object modelling and synchronisation and argue about the benefits of our approach. This is followed by a brief introduction to OO TCCP, a combination of timed concurrent constraint programming ( 18] with the object oriented ([4,12]) and inheritance facilities ( 6] that have been developed for logic programs. The fifth section presents a universal set of primitives for multimedia programming and discusses their implementation in OO TCCP, thus showing the capabilities of the model in handling the requirements imposed by ....
[Article contains additional citation context not shown here]
A. Davison, POLKA: A Parlog Object-oriented Language, Ph.D. Thesis, Department of Computing, Imperial College, London, May 1989.
....It needs to know that the pattern abstraction it will send will be applied to a skill entry record. 6 Influences and related languages Many of the features presented in April are taken from other languages; in particular much is owed to Parlog [4] and its object oriented extension Polka [6], and to PCN [9] CSP [11] Guarded Commands [8] LISP [17] Prolog [5] and APL[12] 6.1 The actor paradigm The process style of programming in April, and the pattern matching on messages, comes from the Parlog family; although clearly there is a close similarity with the actors concept [1] We ....
A. Davison. Polka: a parlog object oriented language. Internal report, Dept. of Computing, Imperial College, London, 1988.
....This integrity of state is a consequence of the fact that methods are compiled into clauses of concurrent logic programs. They are compiled into Parlog programs (Clark and Gregory, 1986) using a modification of the method of representing objects as processes of Shapiro and Takeuchi, 1983 and Davison, 1988. If objects only had methods, DK Parlog would just be an actor style language with inheritance and an extra reply mechanism using answer variables in messages. What makes the language much more powerful, and much more suited to the task of enterprise modelling, is that in addition to ....
A. Davison. Polka: a parlog object oriented language. Internal report, Dept. of Computing, Imperial College, London, London, 1988.
.... [McC92] We have chosen L O for a number of reason: It is available because it is an extension of standard Prolog, it has powerful features, and there is an excellent textbook for the language [McC92] Other choices for logic programming languages enhanced by object oriented features are Polka [Dav88] Hoops [Con88] Life [AK91] or Oz [SHW93] Applications of object oriented concepts in the context of deductive databases are studied in the approaches for IQL [AK89] OIL [Zan90] F Logic [KL89] and LOCO [STVV91] 2 A Brief Look at TROLL light TROLL light is a language for describing static and ....
A. Davison. Polka: A Parlog Object-Oriented Language. Internal Report, Imperial College, London, 1988.
....clause, and once a message has been forwarded to a particular object, the choice is fixed. One answer is to broadcast the same message to all the inherited objects, but this makes it possible for a variable in the message to be bound more than once, causing one or more of the objects to fail. In [41], broadcasting primitives exist which automatically make unique copies of a message for each inherited object. Even so, problems still remain about what to do if more than one copy of the message is successfully processed, or if all the copies fail to deal with. Another important feature in OOP is ....
....term will contain the name of the initially invoked object, and then if a self message is necessary, the corresponding goal will use this name to invoke this object. In concurrent logic programming, self reference is normally implemented by adding an extra (output) message stream to every object [41, 79]. Self streams can exist throughout the lifetime of the objects, but an alternative is to only set them up for the duration of the computation of the forwarded messages, as in [79] In [63] self messages can be given priority over external communication. In Prolog , there is a myself message ....
[Article contains additional citation context not shown here]
Davison A., Polka: A Parlog Object Oriented Language, Ph. D. thesis, Department of Computing, Imperial College of Science, Technology and Medicine, 1989.
....programming. More to the point, we show how the timed version of concurrent constraint programming ( 7] can be used to model and support the synchronisation requirements of multimedia objects; this is then combined with already existing techniques supporting object oriented programming (such as [2,3]) This work should be seen as the first step towards the design and implementation of a high level multimedia programming framework based on declarative programming. To the best of our knowledge this is the first time that an attempt is made to use declarative programming (and, in particular, ....
....The rest of the paper is organised as follows: The next two sections discuss some of the issues related to multimedia object modelling and synchronisation. This is followed by a brief introduction to OO TCCP, a combination of timed concurrent constraint programming ( 7] with the object oriented ([2]) and inheritance facilities ( 3] that have been developed for logic programs. The fourth section presents the development of a complete non trivial programming example using OO TCCP, thus showing the capabilities of the model in handling the requirements imposed by multimedia object modelling ....
[Article contains additional citation context not shown here]
A. Davison, "POLKA: A Parlog Object-oriented Language", Ph.D. Thesis, Department of Computing, Imperial College, London, May 1989.
....from a method call, in order to preserve completeness. As examples of languages combining logic programming, object oriented programming and parallelism we mention Vulcan, an object oriented extension of Concurrent Prolog [Kahn et al., 1986] and Polka, an object oriented extension of Parlog [Davison, 1989]. A serious drawback of these two languages is that backtracking over multiple answers is not allowed, which may be directly attributed to their heritage to respectively Concurrent Prolog and Parlog. As another example we mention MultiLog, a multitasking object oriented extension of Prolog that ....
A. Davison, Polka: A Parlog object oriented language, Ph.D. thesis, Dept. of Computing, Imperial College, London (1989)
....with records framework provides the required mechanism needed for object encapsulation and representation and acts as the basis for modelling various forms of inheritance. In general, there are a number of ways to achieve encapsulation (and hence inheritance) either in a (concurrent) logic ([6,13,27,28]) or a functional ( 4,17,18,31] framework. Here we concentrate on those techniques that use records as first class objects. Object Oriented Term Graph Rewriting George A. Papadopoulos 18 We use as an example the unavoidable 2 and 3 dimensional point with a number of elementary methods ....
....introduced record based object oriented functionality is an intermediate representation and an associated compiler target language into which other programming (at the user level) languages compile. These languages (among the many existing we mention some well known typical representatives such as [6,13,17,18,23,25,27,28]) advocate different approaches in dealing with object encapsulation, inheritance, etc. which vary with respect to issues such as degree of declarativeness , support for concurrent method invocation, the exact functionality of the inheritance or delegation (see Object Oriented Term Graph ....
[Article contains additional citation context not shown here]
Davison A., POLKA: A Parlog Object-Oriented Language, Ph.D. Thesis, Department of Computing, Imperial College, London, UK, 1989.
....mixing freely objects and other data structures provided in concurrent logic programming languages. We regard objects for concurrent logic programming languages as processes, as first proposed by Shapiro and Takeuchi [16] and later extended and refined in systems such as Vulcan, A UM, and Polka [11, 20, 3] (Figure 1) Some of these systems are embedded languages that make restricted use of the underlying language. We are interested in full strength combinations of the underlying language with an expressive concurrent object oriented extension, with all the problems and opportunities this entails. ....
....termination, by reference counting of objects implemented in the host language, and solves the transparent message distributor problem by restricting all components of a message to be streams to other objects. This, of course, restricts the language. Polka is a language extension of Parlog [3]. It does apparently allow arbitrary mixtures of objects and terms, in a style not entirely unlike what we are aiming for, but it does not solve any of the problems of stream merging. 3 Ports We propose ports as a solution to the problems with previously proposed communication media. 3.1 Ports ....
Andrew Davison. POLKA: A Parlog Object-Oriented Language. PhD thesis, Department of Computing, Imperial College, London, May 1989.
.... knows about other objects if it is given their IDs a situation somewhat similar to acquaintances in Actor languages [Agha 1986] A notable object oriented feature missing from BeBOP is inheritance. Experience of supporting inheritance in object oriented concurrent LP languages (c.f. Polka [Davison 1989]) shows that inheritance is difficult to use when an object exhibits concurrency. However, much of the functionality of inheritance can be obtained by using a mixture of delegation (message forwarding between objects) and shared data. 3 Language Description The BeBOP class structure is summarised ....
Davison, A. 1989. `Polka: A Parlog Object Oriented Language', PhD Thesis, Dept.
.... knows about other objects if it is given their IDs a situation somewhat similar to acquaintances in Actor languages [Agha 1986] A notable object oriented feature missing from BeBOP is inheritance. Experience of supporting inheritance in object oriented concurrent LP languages (c.f. Polka [Davison 1989]) shows that inheritance is difficult to use when an object exhibits concurrency. However, much of the functionality of inheritance can be obtained by using a mixture of delegation (message forwarding between objects) and shared data. This claim is supported by the object oriented database example ....
Davison, A. 1989. `Polka: A Parlog Object Oriented Language', PhD Thesis, Dept. of Computing, Imperial College, London, September.
....only knows about other objects if it is given their IDs a situation somewhat similar to acquaintances in Actor languages [Agh86] A notable object oriented feature missing from BeBOP is inheritance. Experience of supporting inheritance in object oriented concurrent LP languages (c.f. Polka [Dav89]) shows that inheritance is difficult to use when an object exhibits concurrency. However, much of the functionality of inheritance can be obtained by using a mixture of delegation (message forwarding between objects) and shared data. 3 Language Description The BeBOP class structure is summarized ....
Andrew Davison. Polka: A Parlog Object Oriented Language. PhD thesis, Dept. of Computing, Imperial College, London, September 1989.
No context found.
Davison, A. 1989.Polka: a Parlog object-oriented language. PhD thesis, Imperial College, November.
No context found.
Andrew Davison. Polka : A Parlog Object Oriented Language. PhD thesis, Imperial College, Dept. of Computer Science, 1989.
No context found.
Davison (1989). Polka: A parlog object oriented language. Technical report, Dept. of Computing, Imperial College, London, UK.
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