Skip to main content

Towards CNC Programming Using Haskell

  • Conference paper
Advances in Artificial Intelligence – IBERAMIA 2004 (IBERAMIA 2004)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 3315))

Included in the following conference series:

Abstract

Recent advances in Computerized Numeric Control (CNC) have allowed the manufacturing of products with high quality standards. Since CNC programs consist of a series of assembler-like instructions, several high-level languages (e.g., AutoLISP, APL, OMAC) have been proposed to raise the programming abstraction level. Unfortunately, the lack of a clean semantics prevents the development of formal tools for the analysis and manipulation of programs. In this work, we propose the use of Haskell for CNC programming. The declarative nature of Haskell provides an excellent basis to develop program analysis and manipulation tools and, most importantly, to formally prove their correctness.

This work has been partially supported by CICYT TIC 2001-2705, by Generalitat Valenciana GRUPOS03/025, by EU-India Economic Cross Cultural Prog. ALA/95/23/2003/077-054, and by MCYT under grant HU2003-003.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bird, R.: Introduction to Functional Programming Using Haskell, 2nd edn. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  2. Carr, H., Holt, R.: The AutoLISP Platform for Computer Aided Design. In: 40th Anniversary of Lisp Conference: Lisp in the Mainstream, Berkeley, California (November 1998)

    Google Scholar 

  3. International Standardization for Organizations. Technical committee: ISO/TC 184/SC 1. Numerical control of machines – Program format and definition of address words (September 1982)

    Google Scholar 

  4. Hughes, J.: Why Functional Programming Matters. Computer Journal 32(2), 98–107 (1989)

    Article  Google Scholar 

  5. Kieburtz, R.: P-logic: Property Verification for Haskell Programs. The Programatica Project (2002), http://www.cse.ogi.edu/PacSoft/projects/programatica/

  6. Kieburtz, R.: Automated Soundness Checking of a Programming Logic for haskell. The Programatica Project (2003), available at http://www.cse.ogi.edu/PacSoft/projects/programatica/

  7. Kramer, B.: The AutoCADET’s Guide to Visual LISP. CMP Books (2001)

    Google Scholar 

  8. Michaloski, J., Birla, S., Yen, C.J., Igou, R., Weinert, G.: An Open System Framework for Component-Based CNC Machines. ACM Computing Surveys 32(23) (2000)

    Google Scholar 

  9. Melham, T.F., Gordon, M.J.C.: TIntroduction to HOL. Cambridge University Press, Cambridge (1993)

    Google Scholar 

  10. Otto, T.P.: An apl compiler. In: International Conference on APL, editor, Proceedings of the international conference on APL-Berlin-2000 conference, pp. 186–193. ACM Press, New York (2000)

    Chapter  Google Scholar 

  11. Paulson, L.C.: The Foundation of a Generic Theorem Prover. Journal of Automated Reasoning 5(3), 363–397 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  12. Peyton Jones, S. (ed.): Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)

    Google Scholar 

  13. Rawls, R., Hagen, M.: AutoLISP Programming: Principles and Techniques. Goodheart-Willcox Co (1998)

    Google Scholar 

  14. Seames, W.: CNC: Concepts and Programming. Delmar Learning (1994)

    Google Scholar 

  15. Thompson, S.: Formulating Haskell. Technical Report 29-92*, University of Kent, Computing Laboratory, University of Kent, Canterbury, UK (November 1992)

    Google Scholar 

  16. Richard, J., Maeder, W., Nguyen, V., Stark, J.: Standardisation of the Manufacturing Process: the IMS STEP-NC Project. In: Proc. of the IPLnet Workshop (2002)

    Google Scholar 

  17. Vos., T.E.J.: Inductive Datatypes with Negative Occurrences in HOL. In: Workshop on Thirty Five years of Automath, Edinburgh, UK (2002)

    Google Scholar 

  18. Wadler, P.: The Essence of Functional Programming. In: Proceedings of the Symposium on Principles of Programming Languages (POPL 1992), Albuquerque. ACM Press, New York (1992)

    Google Scholar 

  19. Weck, M., Wolf, J., Kiritsis, D.: Step-nc The STEP Compliant NC Programming Interface: Evaluation and Improvement of the Modern Interface. In: Proc. of the ISM Project Forum 2001 (2001)

    Google Scholar 

  20. Wenzel, M.: Type Classes and Overloading in Higher-Order Logic. In: Gunter, E., Felty, A. (eds.) Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 1997), pp. 307–322. Murray Hill, New Jersey (1997)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arroyo, G., Ochoa, C., Silva, J., Vidal, G. (2004). Towards CNC Programming Using Haskell. In: Lemaître, C., Reyes, C.A., González, J.A. (eds) Advances in Artificial Intelligence – IBERAMIA 2004. IBERAMIA 2004. Lecture Notes in Computer Science(), vol 3315. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30498-2_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30498-2_39

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23806-5

  • Online ISBN: 978-3-540-30498-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics