Bring Embedded Systems to the Internet

1. Introduction to the Embedded Internet
Embedded systems are computers or microchip-based control systems that are dedicated to perform specific tasks or groups of tasks. Embedded systems have been applied to a variety of industrial and consumer products, including disk drivers in computers, airbag controls and antilock brakes in automobiles, automated teller machines at banks, and space-borne imaging systems on the space shuttles. Embedded systems are cheaper and more reliable than today's software used in PCs. A large portion of the world's microprocessors (MCUs and CPUs) are not used in PCs, rather they are hidden in a wide variety of household electronic products we use everyday. These products include television, microwave, and telephone, cars, cellular, computers, and VCR.

 

Figure-1 An example of The Embedded Internet

With advances in the Internet technologies, a lot of electronic goods - laser printers, fax machines, computers, VCRs, TV, security monitors - will be connected by a global network called the Embedded Internet, as shown in Figure 1. The Embedded Internet will make it easier and automatic for people and devices to communicate with each other, and users do not have to know about computers or any software or hardware. The Embedded Internet will make many tasks, such as automated control/monitoring on production lines, reporting on inventory at a warehouse and setting up washing machine at home, as simple as pushing a button.

This concept of Embedded Internet can be further extended to include LAN (local area network), WAN (wide aera network), and WWAN (wireless WAN), CEBus (commercial electronics bus), and CAN (controller area network) as shown in Figure-2. As a control-network topology, CEBus has emerged as a major standard in home automation and distributed control, and it provides a solution to low-cost networked control systems. CAN is an European protocol that provides a cost-effective, stardard method for real-time, intercontrller communications for multiple microcontrollers to manage various aspects of complex systems such as automotive applications. When Java applets are loaded into the MCUs, CPUs and other microchips embedded in the target systems connected to the Internet via LAN, WAN, CEBus, or CAN topologies, they bring the embedded-system functionality to the Internet, i.e. the Embedded Internet.

 

Figure - 2 The Embedded Internet with computers, LAN, WAN, CAN, and CEBus

2. Development of Embedded Internet using Java
Sun Microsystems' Java has emerged as the most widely adopted programming language for the Internet applications. Java design represents a more broadly applicable software technology that is especially useful in the Embedded Internet applications, such as distributed control over the Internet. There are four advantages over other methods for using Java applets for distrubited control over the Internet: (1) there is no need to develop a GUI, since web browsers are readily available and offer a highly programmable and configurable user interface; ( 2) Java code size is up to 50% less than machine instructions, making it highly attractive to MCU-based controls where RAM memory size is limited; (3) most of the hardware and software is readily available, and no extra investment or development is needed; and (4) there is no need for developers to reinvent software since most MCUs' kernels or PCs' operating systems will support Java, TCPI/IP and HTTP in the near future.

 

Figure - 3 A simple Embedded Internet with browsers and targets.

A simplified Embedded Internet, as shown in Figure -3, consists of web browsers at one or more sites, the target embedded systems (such as a group of machine tools) at same or different geographic locations, and the MCUs embedded in these target systems. The MCUs are the devices that store Java applets to execute the controlling or monitoring functions on the controlled targets, using either classical method (PID, robust, feedback, etc.) or fuzzy logic method. These Java applets can be generated by the RTC (run-time code generator) module of Fide or other specialized software packages.

In such a networked system, distributed control is achieved by transfering HTML pages and executing Java applets. A user at one central site can use a web browser to access HTML pages from one or more target embedded systems, along with the Java objects that have been inserted into them, and excecute the Java objects to perform the control operations programmed. After excecuting one or more such Java objects from a web browser, the user can then send tasks to the targets, which are represented in HTML pages plus some Java objects, to perform remote or distributed control of the targets (machine tools). To create new tasks for or to update old tasks at a target, the user at the central site can send via FTP software objects (Java applets) to the target site where they are to be stored inside the MCU and executed when needed.

3. Distributed Control over the Embedded Internet
Given the amble availability of control devices, whether MCUs or CPUs, and easy access to the Internet, distributed control technology over the Embedded Internet should be readily developed. The critical task in the Embedded Internet technology is then controller designs using Java and HTML using either classical fuzzy control method.

One such example is the service (or control) network for a manufacturering (or operating) company of equipment, such as cars, medical devices, or PLCs (programmable logic controllers). It consists of a service center at headquarters of the company, web browsers on a number of scattered computers (such as network computers), and the population of equipment that are under service or control, all connected by an Embedded Internet. A worker uses a web browser to access (by pushing a button) each individual piece of equipment for purposes of control, monitoring or generating reports. The worker can also send task(s) to one or more pieces of equipment in one geographic area. A manager may have a higher access authority than a user, and can use a web browser to instruct (again by pushing a button) workers at many different locations to perform specific tasks.

4. Smart Applets for the Embedded Internet
On the Embedded Internet, it is important to provide the capability to manage the access control, task scheduling, system configuration, priority order, device monitoring, bug and failure reporting, as well distributed (remote) control of electronic products (devices). The network mangement software must be intelligent in the sense that it can handle the large-scale, complex tasks and exceptional cases, as well as normal tasks and cases. Evolutional approaches such as fuzzy logic and expert systems privode practical and robust solutions to control and diagnosis problems when complex, imprecise information or evidence is present in the system. These approaches or methods can be readily implemented as intelligent, compact Smart Applets, Java code (applets) implementing fuzzy logic methodology (a set of simple IF-THEN rules), that take much less RAM of MCUs compared to non-fuzzy logic applets, Java code implementing classical control methods (complicatd mathematical algorithms or subroutines). Click here to see sample smart applets.

There are a number of advantages over using classical control for uisng Smart applets on the Embedded Internet: (1) reduction in network bandwidth - real-time control over the Embedded Internet using HTTP protocol is accomplished by transfering HTML pages with their inserted fuzzy applets which are much smaller in size than non-fuzzy applets, thus reducing the traffic on the Internet; (2) transmission of fuzzy applets on the Embedded Internet is transperant to the user; (3) the control is adptive - each FTP task is tailored to an individual device controlled according to the feedback information; (4) intelligence is brought onto the Embedded Internet since it is embedded in the Smart Applets.

5. Applications of Fuzzy Applets
Network on-line diagnosis and trouble shooting
Real-time control and montoring over the Internet
Distrubited process control over the network
Remote control of electronics devices
Networked manufacturing
Portable shopping guide
Automated help-desk for customer service
Automated diagnosis of machine tools
Intelligenet search engine (with inference)
Networked knowledge acquisition and disimilation
Networked expert machines or expert systems
Networked soft computing

6. How to Generate Smart Applets?
Smart Applets for Embedded Internet applications can be easily generated by clicking a button in Fide, a complete CASE (computer-aided software engineering) tool for fuzzy logic applications developed by Aptronix. The Fide software package provides a rich set of functions for building fuzzy logic controls, expert systems, automatd diagnosis, adaptation to environment, and self-learning, and etc. Its RTC modules can convert an application program in FIL (fuzzy infernce language) into Java code, C code, MatLab M file and assembly code for many different MCUs. With this unique capability to generate Smart Applets, Fide is the best tools for developing the Embedded Internet applications. 

Terminology of Embedded Internet
MCU - Microcontroller unit that is embedded in a product to control its operations.
Java - A machine/device independent language that operates in a networked environment.
Java Applet - An embedded application object provided by Java that can run on any compter.
Smart Applet - A compact fuzzy logic object (program) written in Java for Internet applications.
Embedded Smart Applet - A smart applet that is embedded in the MCU of a product or target
JVM - Java virtual machine, a tool in browsers or MCU that executes Java applets.
HTML - Hypertext markup language used to transfer multimedia documents on Internet.
HTTP - Hypertext transfer protocol used by Internet to transfer files.
Web Browser - An Internet tool that can display HTML files and execute Java applets via VJM
Embedded Systems - Computers that are dedicated to specific taks or a group of tasks.
Embedded Internet - A network connecting electronic products with embedded microchips.
Fide - Fuzzy Inference Development Environment developed by Aptronix, Inc.
FIU - Fuzzy inference unit, the java code generated by Fide to perform fuzzy logic operations.
RTCs - Run-time code (modules) of Fide, including Java, C, MatLab and MCU-assembly RTCs.

For More Informatin or Technical Assistance
Please contact: FuzzyNet@aptronix.com
Tel: (408) 261-1898, Fax: (408) 490-2729.

Back to Home


Copyright © 1997. Aptronix, Inc.