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