Abstract
Object-oriented programming and blackboard systems have proven to be two of the most successful approaches to the construction of complex software systems. Both of them rely upon the ability of maintaining either a distributed or a centralised state. On the other hand, logic programming has proven to be one of the most sophisticated and semantically well defined paradigms for declarative programming. We show how logic programming and state management can be reconciled, and how object-oriented and blackboard based systems can stand on this ground. The main instrument of the construction is a suitable form of metalogic, which takes into account a collection of logic programs and an operator for their dynamic composition.
Preview
Unable to display preview. Download preview PDF.
References
K.R. Apt. Logic programming. In J.van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 493–574. Elsevier, 1990. Vol. B.
K.A. Bowen and R.A. Kowalski. Amalgamating Language and Metalanguage in Logic Programming. In K.L. Clark and S.A. Tarnlund, editors, Logic Programming, pages 153–173. Academic Press, 1982.
K.A. Bowen and T. Weinberg. A Meta-Level Extension of Prolog. In J. Cohen and J. Conery, editors, Proceedings of IEEE Symposium on Logic Programming, pages 48–53. IEEE Computer Society Press, 1985.
A. Brogi and P. Ciancarini. The Concurrent Language Shared Prolog. ACM Transactions on Programming Languages and Systems, 1(1):99–123, 1991.
A. Brogi, P. Mancarella, D. Pedreschi, and F. Turini. Composition Operators for Logic Theories. In J.W. Lloyd, editor, Computational Logic, Symposium Proceedings, pages 117–134. Springer-Verlag, Brussels, November 1990.
A. Brogi and F. Turini. Metalogic for Knowledge Representation. In J.A. Allen, R. Fikes, and E. Sandewall, editors, Principles of Knowledge Representation and Reasoning: Proceedings of the Second International Conference, pages 100–106, Cambridge, CA, 1991. Morgan Kaufmann.
P. Coscia, P. Franceschi, G. Levi, G. Sardu, and L. Torre. Metalevel definition and compilation of inference engines in the Epsilon logic programming environment. In R.A. Kowalski and K.A. Bowen, editors, Proc. Fifth International Conference on Logic Programming, pages 359–373. The MIT Press.
E.Denti, E.Lamma, P.Mello, A.Natali and A.Omicini. Techniques for Implementing Contexts in Logic Programming. 1992. In these Proceedings.
R. Engelmore and T. Morgan. Blackboard Systems. Addison-Wesley, 1988.
D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, 1985.
P.M. Hill and J.W. Lloyd. Meta-Programming for Dynamic Knowledge Bases. Technical Report CS-88-18, Department of Computer Science, University of Bristol, 1988.
G. Kiczales, J. de Rivieres and D.G. Bobrow The Art of the Metaobject Protocol MIT Press, 1991.
R.A. Kowalski. Predicate logic as a programming language. In IFIP 74, pages 569–574, 1974.
R.A. Kowalski. Logic for problem solving. North-Holland, 1979.
G.Levi and G.Sardu. Partial Evaluation in a “Multiple Worlds” Logic Language. New Generation Computing, 6(2,3):227–248, 1988.
J.W. Lloyd. Foundations of logic programming. Springer-Verlag, second edition, 1987.
P.Mancarella and D.Pedreschi. An Algebra of Logic Programs In Fifth International Conference, Symposium of Logic Programming pages 1006–1023 (1988).
F.G. McCabe. Logic and Objects. PhD thesis, University of London, November 1988.
P.Mello and A,Natali. Extending Prolog with Modularity, Concurrency and Metarules. New Generation Computing, 10(4), August 1992.
L. Monteiro and A.Porto. A Transformational View of Inheritance in Logic Programming. In D.H.D. Warren and P. Szeredi, editors, Proc. Seventh International Conference on Logic Programming, pages 481–494. The MIT Press.
H.P. Nii. Blackboard Systems: the blackboard model of problem solving and the evolution of blackboard architectures. AI Magazine, pages 38–106, Summer 1986.
V.A. Saraswat and M. Rinard. Concurrent Constraint Programming. In Proceedings seventeenth POPL. ACM, 1990.
L. Sterling and E. Shapiro. The Art of Prolog. The MIT Press, 1986.
A.Takeuchi and K.Furukawa. Partial evaluation of Prolog programs and its application to metaprogramming. In H.J. Kugler, editor, Information Processing 86, pages 415–420. North-Holland, 1986.
F.Turini. Magma2: a Language Oriented Towards Abstractions of Control. ACM Transactions on Programming Languages and Systems 6(4):468–486, 1985.
M.H. van Emden and R.A. Kowalski. The semantics of predicate logic as a programming language. Journal of the ACM, 23(4):733–742, 1976.
D.H.D. Warren. An Abstract Prolog Instruction Set. SRI Technical Note 309, SRI International, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brogi, A., Turini, F. (1993). Metalogic for state oriented programming. In: Lamma, E., Mello, P. (eds) Extensions of Logic Programming. ELP 1992. Lecture Notes in Computer Science, vol 660. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56454-3_10
Download citation
DOI: https://doi.org/10.1007/3-540-56454-3_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56454-6
Online ISBN: 978-3-540-47562-0
eBook Packages: Springer Book Archive