Skip to main content
Log in

CLP(ℜ) and some electrical engineering problems

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

The Constraint Logic Programming Scheme defines a class of languages designed for programming with constraints using a logic programming approach. These languages are soundly based on a unified framework of formal semantics. In particular, as an instance of this scheme with real arithmetic constraints, the CLP(ℜ) language facilitates and encourages a concise and declarative style of programming for problems involving a mix of numeric and non-numeric computation.

In this paper we illustrate the practical applicability of CLP(ℜ) with examples of programs to solve electrical engineering problems. This field is particularly rich in problems that are complex and largely numeric, enabling us to demonstrate a number of the unique features of CLP(ℜ). A detailed look at some of the more important programming techniques highlights the ability of CLP(ℜ) to support well-known, powerful techniques from constraint programming. Our thesis is that CLP(ℜ) is an embodiment of these techniques in a language that is more general, elegant and versatile than the earlier languages, and yet is practical.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Borning, A. ‘The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory’, ACM Transactions on Programming Languages and Systems, 3, October 1981, pp. 252–387.

    Google Scholar 

  2. Colmerauer, A. ‘Opening the Prolog III Universe’, Byte, 12(9), August 1987.

  3. De Kleer, J. and Sussman, G. J. ‘Propagation of Constraints applied to Circuit Synthesis’, Circuit Theory and Applications, 8 (1980) pp. 127–144.

    Google Scholar 

  4. Dincbas, M., Van Hentenryck, P., Simonis, H., Aggoun, A., Graf, T. and Berthier, F. ‘The Constraint Logic Programming Language CHIP’, Proceedings, Fifth Generation Computer Systems, Tokyo, December 1988.

  5. Hansen, B. S. and Hansen, M. R. ‘Simple Symbolic and Numeric Computations Based on Equations and Inequalities’, Computer Science Research Report, IBM Research Laboratory, San Jose, California, June 1985.

    Google Scholar 

  6. Heintze, N. C., Jaffar, J., Michaylov, S., Stuckey, P. J. and Yap, R. ‘The CLP(ℜ) Programmer's Manual: Version 2.0’, Department of Computer Science, Monash University, June 1987.

  7. Jaffar, J., Michaylov, S., Stuckey, P. J. and Yap, R. ‘The CLP(ℜ) Language and System’, IBM Research Report RC 16292 (# 72336), November 1990.

  8. Jaffar, J. and Lassez, J.-L. ‘Constraint Logic Programming’, Proceedings, 14th ACM Symposium on POPL, Munich, January 1987.

  9. Jaffar, J. and Michaylov, S. ‘Methodology and Implementation of a CLP System’, Proceedings, Fourth International Conference on Logic Programming, Melbourne, May 1987.

  10. Konopasek, M. and Jayaraman, S. ‘Constraint and Declarative Languages for Engineering Applications: The TK!Solver Contribution’ Proceedings of the IEEE, 73, December 1985.

  11. MATHLAB Group, ‘Macsyma Reference Manual’, MIT, 1977.

  12. Naish, L. ‘The MU-PROLOG 3.2db Reference Manual’, Technical Report, Department of Computer Science, University of Melbourne, 1985.

  13. Oppenheim, A. V., Willsky, A. S. and Young, I. T., Signals and Systems, Prentice-Hall, 1983.

  14. Rayna, G., Reduce: Software for Algebraic Computation, Springer-Verlag, New York, 1987.

    Google Scholar 

  15. Stallman, R. M. and Sussmann, G. J., ‘Forward Reasoning and Dependency Directed Backtracking in a System for Computer-Aided Circuit Analysis’, AI Memo 380 MIT Artificial Intelligence Laboratory, Cambridge, September 1976. Also in Artificial Intelligence 9 (1977), 135–196.

    Google Scholar 

  16. Steele, G. L. Jr. and Sussman, G. J. ‘Constraints’, AI Memo 502 MIT Artificial Intelligence Laboratory, Cambridge, November 1978. Invited Paper. Proceedings APL '79 ACM SIGPLAN STAPL APL Quote Quad 9, 4 (June 1979), pp. 208–225.

    Google Scholar 

  17. Steele, G. L. Jr. ‘The Implementation and Definition of a Computer Programming Language Based on Constraints’, Ph.D. Dissertation, Dept. Electrical Engineering and Computer Science. MIT, Cambridge, Mass., Aug. 1980. (MIT-AI TR 595).

    Google Scholar 

  18. Sussman, G. J. and Stallman, R. M. ‘Heuristic Techniques in Computer-Aided Circuit Analysis’, AI Memo 328, MIT Artificial Intelligence Laboratory, Cambridge, March 1975. Also in IEEE Transactions on Circuits and Systems CAS-22 (11) (November 1975).

    Google Scholar 

  19. Thorn, J. and Zoebel, J. ‘NU-Prolog Reference Manual’, Version 1.3. Technical Report 86/10. Machine Intelligence Project, Department of Computer Science, University of Melbourne.

  20. Zima, H. P. ‘A Constraint Language and its Interpreter’, Computer Science Research Report, IBM Research Laboratory, San Jose, California, June 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

An earlier version of this paper appeared in the proceedings of the 4th International Conference on Logic Programming, Melbourne, May 1987. Much of this work was carried out while the authors were at Monash University, Melbourne, Australia.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Heintze, N., Michaylov, S. & Stuckey, P. CLP(ℜ) and some electrical engineering problems. J Autom Reasoning 9, 231–260 (1992). https://doi.org/10.1007/BF00245462

Download citation

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00245462

Keywords

Navigation