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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bird, R.: Introduction to Functional Programming Using Haskell, 2nd edn. Prentice-Hall, Englewood Cliffs (1998)
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)
International Standardization for Organizations. Technical committee: ISO/TC 184/SC 1. Numerical control of machines – Program format and definition of address words (September 1982)
Hughes, J.: Why Functional Programming Matters. Computer Journal 32(2), 98–107 (1989)
Kieburtz, R.: P-logic: Property Verification for Haskell Programs. The Programatica Project (2002), http://www.cse.ogi.edu/PacSoft/projects/programatica/
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/
Kramer, B.: The AutoCADET’s Guide to Visual LISP. CMP Books (2001)
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)
Melham, T.F., Gordon, M.J.C.: TIntroduction to HOL. Cambridge University Press, Cambridge (1993)
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)
Paulson, L.C.: The Foundation of a Generic Theorem Prover. Journal of Automated Reasoning 5(3), 363–397 (1989)
Peyton Jones, S. (ed.): Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)
Rawls, R., Hagen, M.: AutoLISP Programming: Principles and Techniques. Goodheart-Willcox Co (1998)
Seames, W.: CNC: Concepts and Programming. Delmar Learning (1994)
Thompson, S.: Formulating Haskell. Technical Report 29-92*, University of Kent, Computing Laboratory, University of Kent, Canterbury, UK (November 1992)
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)
Vos., T.E.J.: Inductive Datatypes with Negative Occurrences in HOL. In: Workshop on Thirty Five years of Automath, Edinburgh, UK (2002)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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