Modeling Dynamic Domains with ConGolog

  • Yves Lespérance
  • Todd G. Kelley
  • John Mylopoulos
  • Eric S. K. Yu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1626)


In this paper, we describe the process specification language ConGolog and show how it can be used to model business processes for requirements analysis. In ConGolog, the effects of actions in a dynamic domain are specified in a logical framework. This supports modeling even in the absence of complete information. The behavior of agents in the domain is specified in a concurrent process language, whose semantics is defined in the same logical framework. We then describe a simulation tool implemented in terms of logic programming technology. As well, we discuss a verification tool which is being developed based on theorem proving technology.


Business Process Logic Program Initial Situation Frame Problem Primitive Action 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [1]
    D. Bjorner and C.B. Jones. The Vienna Development Method: The Metalanguage, volume 61 of LNCS. Springer-Verlag, 1978.Google Scholar
  2. [2]
    A. Borgida, J. Mylopoulos, and R. Reiter....and nothing else changes: The frame problem in procedural specifications. In Proc. ICSE-93, 1993.Google Scholar
  3. [3]
    Giuseppe De Giacomo, Yves Lespérance, and Hector J. Levesque. Reasoning about concurrent execution, prioritized interrupts, and exogenous actions in the situation calculus. In Proceedings of the Fifteenth International Joint Conference on Artificial Intelligence, pages 1221–1226, Nagoya, Japan, August 1997.Google Scholar
  4. [4]
    Giuseppe De Giacomo, Yves Lespérance, and Hector J. Levesque. ConGolog, a concurrent programming language based on the situation calculus: Language and implementation. Submitted, 1999.Google Scholar
  5. [5]
    Giuseppe De Giacomo, Yves Lespérance, and Hector J. Levesque. ConGolog, a concurrent programming language based on the situation calculus: Foundations. Submitted, 1999.Google Scholar
  6. [6]
    M. Gelfond and Lifschitz. Representing action and change by logic programs. Journal of Logic Programming, 17(301-327), 1993.Google Scholar
  7. [7]
    D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8, 1997.Google Scholar
  8. [8]
    C. Heitmeyer, R. Jeffords, and B. Labaw. Automated consistency checking of requirements specifications. ACM Transactions on Software Engineering and Methodology, 5(5), July 1996.Google Scholar
  9. [9]
    Todd Kelley and Yves Lespérance. The Golog Domain Language: an abstract language for specifying domain dynamics. In preparation, 1999.Google Scholar
  10. [10]
    Hector J. Levesque, Raymond Reiter, Yves Lespérance, Fangzhen Lin, and Richard B. Scherl. GOLOG: A logic programming language for dynamic domains. Journal of Logic Programming, 31(59-84), 1997.Google Scholar
  11. [11]
    Fangzhen Lin and Raymond Reiter. State constraints revisited. Journal of Logic and Computation, 4(5):655–678, 1994.zbMATHCrossRefMathSciNetGoogle Scholar
  12. [12]
    Fangzhen Lin and Raymond Reiter. How to progress a database. Artificial Intelligence, 92:131–167, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  13. [13]
    John McCarthy and Patrick Hayes. Some philosophical problems from the standpoint of artificial intelligence. In B. Meltzer and D. Michie, editors, Machine Intelligence, volume 4, pages 463–502. Edinburgh University Press, Edinburgh, UK, 1979.Google Scholar
  14. [14]
    J.L. Peterson. Petri Net Theory and the Modeling of Systems. Prentice Hall, Englewood Cliffs, NJ, 1981.Google Scholar
  15. [15]
    Dimitris Plexousakis. Simulation and analysis of business processes uning GOLOG. In Proceedings of the Conference on Organizational Computing Systems, Milpitas, CA, August 1995.Google Scholar
  16. [16]
    G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI-FN-19, Computer Science Dept., Aarhus University, Denmark, 1981.Google Scholar
  17. [17]
    Raymond Reiter. The frame problem in the situation calculus: A simple solution (sometimes) and a completeness result for goal regression. In Vladimir Lifschitz, editor, Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, pages 359–380. Academic Press, San Diego, CA, 1991.Google Scholar
  18. [18]
    Raymond Reiter. Proving properties of states in the situation calculus. Artificial Intelligence, 64:337–351, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  19. [19]
    Steven Shapiro, Yves Lespérance, and Hector J. Levesque. Specifying communicative multi-agent systems with ConGolog. In Working Notes of the AAAI Fall 1997 Symposium on Communicative Action in Humans and Machines, pages 75–82, Cambridge, MA, November 1997.Google Scholar
  20. [20]
    J. M. Spivey. The Z Notation: A Reference Manual. Prentice Hall, 1989.Google Scholar
  21. [21]
    Eric K.S. Yu, John Mylopoulos, and Yves Lespérance. AI models for business process reengineering. IEEE Expert, 11:16–23, August 1996.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Yves Lespérance
    • 1
  • Todd G. Kelley
    • 2
  • John Mylopoulos
    • 2
  • Eric S. K. Yu
    • 2
  1. 1.Dept. of Computer ScienceYork UniversityTorontoCanada
  2. 2.Department of Computer ScienceUniversity of TorontoTorontoCanada

Personalised recommendations