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.
Copyright © 1997. Aptronix, Inc.