Queen's University B.Sc.(Hons) Mathematics/Physics 1964 Stanford University M.S. Computer Science 1967 Stanford University Ph.D. Computer Science 1969
Professor Emeritus Computing and Information Science Queen's University Kingston, Ontario Canada K7L 3N6 Tel: (613) 545-6073 Fax: (613) 545-6513 e-mail: maj@qucis.queensu.ca President Nial Systems Limited 366 King St. East, Suite 540 Kingston, Ontario Canada K7K 6Y3 Tel: (613) 542-6964 (800) 465-1798 Fax: (613) 542-68277 e-mail: jenkins@nial.com
Sept 1983 - April 1984 Visiting Professor Massachussets Institute of Technology Dec 1988 - June 1991 Executive Director Information Technology Research Centre (Ontario Centre of Excellence) July 1991 - April 1992 Visiting Professor, Technical University of Denmark June 1992 - Aug 1992 Visiting Professor IBM Centre for Advanced Studies, Toronto
My early research in programming languages was primarily, although not exclusively, APL-related. It included a study of techniques for translating APL, a proposal for an extension to APL to include recursive data structures, the design of an extensible language based on APL concepts (with Jean Michel), and investigations into the semantics of APL using array-theoretic concepts (with Trenchard More).
Since 1981 I have been involved in the design of an integrated programming environment based on array operations and flexible typing rules. The initial stage of this project has been completed. The language Nial (pronounced Nyal) has been designed and a portable implementation is now running on a variety of machines and operating systems. It has been distributed to about 200 sites in 15 countries. It is being used to prototype software systems, to develop artificial intelligence techniques and in applications in animation graphics.
Recently I have worked very closely with Dr. Glasgow on applications of Nial to artificial intelligence. We looked at extensions to the language to support logic programming directly in the language.
An active collaboration with Prof. Franksen's group at the Technical University of Denmark has been underway since 1982. Two post-doctoral students spent a year at Queen's and contributed to the Nial design effort. Prof. Franksen is providing valuable feedback on the suitability of Nial for applications in system science. Professor Jan Jantzen is using Nial for applications in fuzzy control.
My research during the past few years has been on a typed array-based language and on techniques to implement a compiler for such a language. The results of this work are being retrofitted to Nial in an experimental system currently under development.
Current research also includes the exploration of ways to exploit parallelism in array-based computation. This includes joint work with Lenore Mullin on her Psi Calculus, and an examination of ways to exploit parallelism in Q'Nial.
In the past five years I have done consulting for: IBM Toronto Lab Lombard Insurance of Canada Objects Technology International Nial Systems Limited
Ellis, R.E., Sarkar, N., Jenkins, M.A., "Numerical Methods for the Haptic Presentation of Contact, AMSE Transactions on Dynamic Systems", Modeling and Control (accepted April 1997). Mullin, L. M., Jenkins, M.A., "Effective Data Parallel Computation using the Psi Calculus", Concurrency 1996. Glasgow, J., Jenkins, M., Blevis, E., Feret, M.,"Logic Programming With Arrays", IEEE Transactions on Knowledge and Data Engineering, 3 3 307-319 1991. Blevis, E.B., Jenkins, M.A., Robinson, E.P., "On Seeger's Music Logic", INTERFACE: Journal of New Music Research, 18 1 9-31 1989. *Glasgow, J.I., Jenkins, M.A., McCrosky, Carl, Meijer, H, "Expressing Parallel Algorithms in Nial", Parallel Computing Journal, 11 3 331-347 1989. *Jenkins, M.A., "Q'Nial: A Portable Interpreter for the Nested Interactive Array Language, Nial", Software Practice & Experience, 19 2 111-126 1989. *Jenkins, M.A., Glasgow, J.I., "A Logical Basis For Nested Array Data Structures", Computer Languages Journal, 14 1 35-51 1989. McCrosky, Carl, Jenkins, M.A., "Design of a Processor for Array-Theoretic Computation", Journal of Systems and Software, 9 1 67-74 1989.
Ellis, R.E., Sarkar, N., Jenkins, M.A., "Numerical Methods for Haptic Presentation of Contact: Theory, Simulations, and Experiments", Proceedings of the Winter Annual Meeting of the American Society of Mechanical Engineers, November 1996. Hung, H-K., Martin, P., Glasgow, J.I., Jenkins, M.A., Walmsley, C., "Querying and Exploring Large Knowledge Bases", DEXA '93, 1993. Franksen, O.I., Jenkins, M.A., " On Axis Restructuring Operations for Nested Arrays", Proceedings of the 2nd International Workshop on Array Structures ATABLE-92, Montreal, June 1992. Blevis, E.B., Feret, M., and Jenkins, M.A. "A Computational paradigm for exploring creative musical thought", Proceedings of the Second International Conference on Musical Structures and Information Technology. Marseille: Laboratoire Musique et Informatique de Marseille, October 1990. Glasgow, J.I., Lawson, D., Jenkins, M.A., Feret, M., "An Architecture for Real-Time Diagnostics Systems", Proceedings of The Third International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems IEA/AIE-90, August 1990. Blevis, Eli B., Jenkins, M.A., Motivations, Sources, and Initial Design Ideas for CALM: A composition (Analysis/Synthesis) Language for Music. AAAI Workshop on Computer Music & A.I., Aug 1988, American Association for Artificial Intelligence, pp. 99 - 113, 1988. Jenkins, M.A., Glasgow, J.I., Blevis, E., Hache, E., Lawson, D., "The Nial AI Toolkit", Proceedings of the Avignon 8th International Workshop on Expert Systems and their Applications, June 1988. Chau, R., Glasgow, J.I. and Jenkins, M.A., "Fuzzy Information Management Using the Roster Model", "Proceedings of 21st Hawaii International Conference on System Sciences," (HICSS-21), January 1988. Glasgow, J.I., Jenkins, M.A., McCrosky, Carl, Meijer, H., "Expressing Parallel Algorithms in Nial", Proceedings of the 20th Hawaii International Conference on System Sciences, Vol II, pp 163-170, Kona, Hawaii, Jan 1987.
Jenkins, M.A., Jenkins, W.H., The Q'Nial Version 6 Language & Reference Manuals, Nial Systems Limited, Ottawa, Canada, 260 pages, (1993) Blevis, E.B., Jenkins, M.A., Glasgow, J.I., "On Designing a Typed Music Language", in "Understanding Music with AI: Perspectives on Music Cognition", M. Balaban, K. Ebcioglu, O. Laske (eds.) The AAAI Press/The MIT Press, Cambridge, Mass. pp. 140-154 (1992) Graham, T.C.N., Jenkins, M.A., "The T'Nial Report", Tech Rept. 91-320, November 1991. Jenkins, M.A., Mullin, L.R., "A Comparison of Array Theory and a Mathematics of Arrays", in "Arrays, Functional Languages and parallelism", Proceedings of the Montreal Workshop, June 1990, Kluwer Academic Publishers 1991. Glasgow, J.I., Jenkins, M.A., Feret, M., Lawson, D., An Architecture for Failure Diagnosis, 40th Canadian Chemical Engineering Conference, Halifax, June 1990 (invited abstract) Glasgow, J.I., Jenkins, M.A., Array Theory, Logic and the Nial Language, Proceedings of the International Conference on Computer Languages, Miami, Florida, October 1988. Blevis, E.B. and Jenkins, M.A. (1988), Computing Similarity in Music. Presentation at the First International Workshop on AI and Music. St. Augustin. West Germany: Gesellschaft fur Mathematik und Datenverarbeitung. Koln. Sept. 1988 Beaudet, P.J., Jenkins, M.A., Simulating the Object-Oriented Paradigm in Nial, SIGPLAN Notices, 6, 23, 49-58 June 1988. Beaudet, P.J., Jenkins, M.A., Adding the Object-Oriented Paradigm to Nial, Tech. Rept. 88-223, Queen's University, July 1988. Jenkins, M.A., "Prototyping Intelligent Database Systems in Nial," Proceedings of the 4th Artificial Intelligence & Advanced Computer Technology Conference, Long Beach, May 1988. McCrosky, C.D., Glasgow, J.I. and Jenkins, M.A. "NIAL: A Candidate Language for Fifth Generation Systems", selected reprint in "Expert Systems - Microcomputer Based Systems," A. Gupta and B.E. Pasad (eds.), IEEE Press 1988. Glasgow, J.I., Jenkins, M.A. and McCrosky, C.D., User Defined Parallel Control Strategies in Nial, selected reprint in Microcomputer Based Expert System Volume II, A. Gupta and B.E. Pasad (eds) IEEE Presss 1988.
Colin Banger Construction of Multidimensional Arrays as Categorical Data Types 1995 Eli Blevis An Approach to Interactive Creative Reasoning 1990
James Chartrand Optimizing the Evaluation of Nial Expressions 1997 Priti Nigam Models for Implementing Persistence in Nial 1997 Hon Wan Automatic Intermediate Container Removal in Nial 1997 Donald Quon Parallel Scientific and Engineering Applications in Nial 1996 Daniel Wevrick Translating Nial to Sisal 1996 E. L. Dube An Implementation of Bird-Meertens Theory of Lists 1995 Hebert Pereyra Buffer Management for Frame-Based Knowledge Bases 1994 Ai-Mei Wei Mapping Frames into Objects 1993 Paul Buck Automatic Testing for Language Processors 1990 Brent Buckner A Theory of Arrays with Operations 1990 Machmudin Junus A Model for Second-generation Expert Systems in Nial 1989 Chandrasekaran Nair A Model for implementing algorithms in Nial 1989