|||
Title:Embedded Scripting, Mobile Agent Based Computing, and Teaching/Learning Computer Programming in C Using a C/C++ Interpreter
Speaker: Dr. Harry H. Cheng, Professor
University of California, Davis
Email: hhcheng@ucdavis.edu
Web: http://iel.ucdavis.edu/people/cheng.html
Time: 3:00pm-4:00pm, July 1, 2009
Host: Dr. Maosong Sun, Professor and Chair (孙茂松教授, 系主任)
Department of Computer Science
Tsinghua University
Tel: +86-10-6278-1286
Email: sms@tsinghua.edu.cn
Abstract:
Embedded scripting is increasingly gaining popularity in design of software systems and applications. In the programming paradigm of embedded scripting, an interpreter or scripting engine is embedded into a binary application program. The application can execute script code through the embedded interpreter. The script code can also invoke binary code. As an application example, by using scripts, executed at the defined points from the application, customer or product specific behaviors can be implemented. As another example, modern engineering systems such as intelligent mechatronic and embedded systems are increasingly becoming complex. However, most existing systems were designed with static and customized architectures, which are inflexible to operate and interact. In addition, many systems, such as network sensors, have long life span. Once deployed, they may not be physically reachable. Hence, the ability to be reprogrammable, or in-situ programming, is critical to systems such as automated testing systems, intelligent mechatronic and embedded systems operating in a dynamically changing environment with uncertainty. An embeddable computing engine is an ideal solution to address this challenge. It allows a system in-situ programmable. Mobile agent technology is also emerging as a key concept in building highly distributed, autonomous, scalable, and collaborative intelligent mechatronic and embedded systems. It allows deployment and execution of mobile code dynamically in response to events unanticipated at the design stage. The concept of agents is widely applicable in distributed systems for intelligent monitoring and condition assessment, proactive control, predictive maintenance, autonomous sensor fusion, autonomous robotic control, dynamic system reconfiguration, grid computing, autonomic computing, and cloud computing.
In this seminar, first, recent research advances and development challenges of embeddable computing engines and mobile agent technology will be presented. Then, the design and implementation of an ISO C standard compliant embeddable C/C++ interpreter called Ch will be presented. Many new features, such as complex numbers, variable length arrays (VLAs), and generic functions, first implemented in Ch became part of the latest C standard called C99 to make C more suitable for applications in engineering and science. In addition, Ch contains all salient features of MATLAB for graphical plotting and numerical computing. Ch can also be seamlessly embedded in other applications as a C/C++ scripting engine for in-situ programming, especially for mechantronic and embedded systems. Next, the design and implementation of an open-source mobile agent system called Mobile-C (http://www.mobilec.org) is then introduced. The C/C++ interpreter Ch is embedded into Mobile-C to handle mobile C/C++ agent code. Mobile-C supports both stationary and mobile agents, and is especially designed to support C/C++ mobile agents in networked intelligent mechatronic and embedded systems. Both Ch and Mobile-C have been widely used in academia and industries including Lockheed Martin, LG Electronics, Agilent, ABB, TeleCommunication Systems, FunctionBay, and Sandia National Labs to automate the industry processes, control of robots, equipment, emergency 911 call, and homeland and national security. Applications of Ch and Mobile-C for task-level control of a robot workcell with multiple manipulators, bio-inspired mobile robots, intelligent sensor nodes with tiny embedded computers for real-time monitoring and control will be demonstrated.
In this seminar, how to use a Ch-based teaching platform (http://iel.ucdavis.edu/cfores) for teaching and learning computer programming in C will also be presented. The teaching platform consists of the Ch computing environment with both command shell and user-friendly IDE called ChIDE, a textbook on introductory computer programming in C (http://www.mhhe.com/cheng) with over 350 fully-documented complete sample code and 500 well-designed exercises, over 1400 PowerPoint slides for classroom presentation, over 200 PowerPoint slides for discussion sessions, and Instructor's Guide including solutions and source code for exercises. Experience indicates that this C/C++ interpreter based teaching platform increases the effectiveness of teaching computer programming for real-world problem solving and lowers the barrier for beginners to learn computer programming in C (http://iel.ucdavis.edu/publication/2009/Ch4Teaching.pdf).
About the Speaker:
Harry H. Cheng is a Professor in the Department of Mechanical and Aeronautical Engineering, Graduate Group in Computer Science, and Graduate Group in Electrical and Computer Engineering at the University of California, Davis. He is also the Director of the Integration Engineering Laboratory at the University of California, Davis. Before joining the faculty at the University of California, Davis, he worked as a Senior Engineer on robotic automation systems in the Research and Development Division at United Parcel Service from 1989 to 1992. He is the founder of SoftIntegration, Inc. which provides infrastructure software and services for rapid development and deployment of application software. He received the M.S. degree in Mathematics in 1986 and the Ph.D. degree in Mechanical Engineering in 1989 from the University of Illinois at Chicago.
Dr. Cheng has been teaching computer programming in C for engineering applications, engineering software design, robotics, and computer-aided design at the University of California, Davis since 1992. His research is focused on computer-aided engineering, mobile agent-based computing, intelligent mechatronic and embedded systems, and innovative teaching. He has published over 140 papers in refereed journals and conference proceedings. He is the author of the book entitled “C for Engineers and Scientists: An Interpretive Approach” published by McGraw-Hill in 2009, with a Chinese edition to be published by China’s Higher Education Press soon. He received a Research Initiation Award from the National Science Foundation, the Best Paper Award at the IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications, the Procter and Gamble Best Paper Award as well as the Waldron Award at the Applied Mechanisms and Robotics Conferences. He received an Outstanding Contribution Award from United Parcel Service Inc.
Dr. Cheng is the original designer and implementer of an embeddable C/C++ interpreter Ch (http://www.softintegration.com) for cross-platform scripting, shell programming, two- and three-dimensional plotting, numerical computing, and embedded scripting. His C/C++ interpreter has been well received in both academia and industry. Dr. Cheng participated in revision of the latest C standard called C99 through ANSI X3J11 and ISO S22/WG14 C Standard Committees and made contributions to new C99 numerical features of complex numbers, variable length arrays, and IEEE floating-point arithmetic, which had been implemented in his C/C++ interpreter Ch. Ch provided proof of concept implementations for the C99 standardization process.
Dr. Cheng is a Fellow of ASME and a Senior Member of IEEE. He has presented tutorials on real-time Linux for the control of mechatronic systems at the ASME IDETC. He is the Chair of the Technical Committee on Mechatronic and Embedded Systems and Applications in the Design Engineering Division of ASME (http://iel.ucdavis.edu/mesa/). He is also the Chair of the Technical Committee on Mechatronic and Embedded Systems in ITS of the IEEE Intelligent Transportation Systems Society. He is the General Chair of the 2009 ASME/IEEE International Conference on Mechatronic and Embedded Systems and Applications. He was the Chair of the Technical Area of Embedded and Ubiquitous Computing and Chair of Technical Area of Computers in Electromechanical Systems in the ASME Division of Computers and Information in Engineering. He served as the Conference Chair and Program Chair of the IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-7-24 20:17
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社