Embedded systems are widely used in many kinds of devices, such as refrigerator, microwave, oven, VCR, motor vehicles, printer, etc. It is estimated that 99% of all processors manufactured since mid-1990's have been used for embedded systems. The built-in computational power of microchips and declining hardware price make it suitable for various applications ranging from toys and home appliances to aeronautic devices and space shuttles.
As mentioned in an NRC book "Embedded Everywhere", information technology (IT) is on the verge of another revolution. Driven by the increasing capabilities and ever declining costs of computing and communications devices, IT is being embedded into a growing range of physical devices linked together through networks and will become ever more pervasive as the component technologies become smaller, faster, and cheaper.
However, embedded systems present unique technological challenges as well. The number of embedded devices increases at an unprecedented pace due to Moore's Law and continuously market demand, while the technology to produce device drivers falls far behind main-stream cutting-edge software technology. Embedded devices are tightly coupled to the physical world and each other in a resource-constrained environment that will persist for long periods of time. They consist of many interacting components and being used and interacted with by non-expert users.
The major goal of ES/COP Lab is to investigate systematic approaches and methodology to develop embedded systems effectively. To this end, ES/COP focuses on the R&D issues including the following:
Web services have gained immense interests from industry and academia as well, representing the next big wave in distributed application development. Web services have found enormous applications and impact on enterprise application integration, business-to-business commerce and cross-platform compatibility. However, to the knowledge of the authors, little has been done on accessing or providing web services from home computing platform. This project presents our on-going research work in OSGi-based web services. Since many home appliances are now smart devices with embedded, programmable microprocessors, it is meaningful to investigate the potentials of accessing and providing web services from smart home appliances via a set-top box or any other kind of home gateway. We have completed several example applications using OSGi-based gateway to access and provide web services. A SOAP server for on-line stock trading has been implemented and multiple SOAP clients have been tested. Currently we are integrating this result with DASE applications. A SOAP client will invoke the web service server program providing web services. This server component will retrieve data and return back to the client component. The client component parses the SOAP message and then generate a text file, which will be transferred to the DASA application. Considering the stock quote ticker service, our application will connect to a third party service provider and will retrieve stock quotes every 15 minutes. Using these data, the application will generate a text file that goes to the Xlet program. The Xlet program displays the values on a TV screen as scrolling stock tickers.
In this project, we investigate how OSGi and DASE are integrated seamlessly to extend the richness of TV contents and to enhance the interactive capability of TV programs. An interactive and distributed TV-based game has been used to show how one TV user interacts with another TV user anywhere around the world with the help of the technology from OSGi and DASE. An interactive advertisement, e.g., home sale or car sale, has been demonstrated in such a manner that a TV user could actively search and investigate the advertised products in a TV program. For instance, a TV user could freely switch from a TV advertisement to an Internet web page to virtually feel and touch the internal structure of a house, a car, or even "taste" a piece of pizza before she/he make a final decision to purchase the product. We have also implemented how to use OSGi and DASE technology to divide a TV screen into multiple smaller screens such that each smaller screen shows a particular TV program or a specific content from the Internet.
Various applications have been developed by our research teams on a set-top box acting as a residential gateway. This project shows the power and potentials of an OSGi based set-top box in a home network to control and interact different home appliances and provide multiple services to home users who would otherwise difficult to access and enjoy the services. In one application, we have shown how a home use access a web service via her/his television set. For instance, a home user could book an airline ticket, order a piece of pizza, or do an on-line finance management or consulting, all through a home TV screen and a TV remote controller. In another application, we have shown how a home user could publish her/his web services taking the set-top box as a web service server. This application will be beneficial to those home workers, or home business owners, to provide web services promoting their home business with a low-profile of technology investment. Moreover, we have shown that how to use your set-top box to control your X10 devices, for instance, you could program and control your bedroom lamps, switching on, off, or dim them remotely. You could monitor your home security system anywhere around the world. You could program and operate your sprinkler remotely via a PDA or even a cell-phone.
This project investigates how an OSGi based gateway communicates with smart devices connected with heterogeneous networking facility and different protocols, namely, X10 based power line networking devices, wireless connected appliances with Bluetooth, HomeRF, or IEEE 802.11b, phone line connected devices using Home PNA or DSL techniques, or special cable connected devices like TV or home PCs. Security issues in such a service oriented programming environment will be identified and potential solutions will be tested.
This project shows our solutions to the security and privacy issues in an open service environment. Smart card technology will be utilized to support personalized services provided by SPs via wide area networks to local area network (home network) through a residential gateway. Personalized service makes special services available for special needs. For instance, health care service will be highly personalized. Special services for disabled people will also be personalized. We will provide our solutions and techniques to make such OSGi based open services possible without sacrificing our privacy, security, preference, and personal needs.
Bundles are basic service units in the OSGi based service platform. This project proves that OSGi bundles are not adequate for high-end smart devices like smart home appliances, home personal computers, or on-board computers in an automobile. A higher layer on top of OSGi environment is necessary. As a generalized component model, device beans provide better support for developing high-profile services with component based development approach.
The main contributions of this project include the following:
Device drivers represent an important class of software that associate the generic I/O functionality provided by an operating system with specific I/O hardware.
An open-source PCMCIA card driver for Linux on X86 has been ported on an ARM iPAQ running Pocket Linux.
This project has demonstrated the rationality and feasibility of taking device drivers as reusable components. Therefore component-based developing method could be applied to embedded software development considering the similarities between device drivers and embedded software.
The diversity of I/O devices poses problems for conventional approaches to driver design and implementation. This project summarizes the preliminary result of our experiment with reusing device drivers from Linux operating system. An open-source PCMCIA card driver for Linux on X86 has been ported on an ARM iPAQ running Pocket Linux. With component-based development method, we first identified reusable components in the wireless LAN driver which were platform independent and thus could be reused directly in our new driver. For the platform dependent parts, we tried to modify the existing components to fit into the new requirements. Our development time for the new driver was greatly shortened through code reuse. The TTCP benchmark test shows that the performance of our new driver is very close to the original driver in terms of computing throughput. This experiment has demonstrated the rationality and feasibility of taking device drivers as reusable components.
This project created a value-added tool for cell-phone users to help them to find out their favorite TV program information quickly and accurately in a personalized fashion. It is a SIM card application and therefore, security and portability are the key points for this application.
Though the TV guide channel and other TV guide magazines already exist, but users must choose whatever they like from a ton of data -- a time-consuming process. The traditional TV guide is data-centered thus not convenient for the end users. Our Smart TV Guide trys to create a user-oriented application, where the users tell the remote service provider what they want to watch by setting up their profile in their cell-phones, leaving the tedious searching process done by teh service provider automatically and get the results back on time.
Note: This project was selected by a world-wide SIM/Smart card design contest -- SIMagine 2003 --- as the top 10 finalists to receive awards in Paris in April 2003.
The approaching maturity of several technologies presents teh opportunity to expand the level of mobility and information available to the private citizen. This project focused on three of the more popular technologies emerging today: RPVs (Remotely Piloted Vehicles), Nanotechnology, and Smart Card technology. The application scenarios include transmitting pre-planned flight plans to a remote controlled airplane via mobile phone and plain clothes police officers receiving a video feed on a cell phone from a remotely piloted vehicle while conducting crowd control at a public event.
A Java Smart Card program was designed and implemented which will be placed in a cell phone and used to transmit instructions to an RPV. It offers the convenience of controlling the RPV with a standard cell phone. The simple flight program will be pre-loaded on teh smart card and be transmitted to the RPV by function key selection on the cell phone.
Note: This project was selected among top 60 projects by a world-wide SIM/Smart card design contest -- SIMagine 2003 -- in October 2002.
The innovative idea for this project is developing a smart card that could store prescriptions along with the medical history for the card holder.
This smart card provides the functionality of storing 10 prescriptions. It could be used anywhere in case of emergency. The doctor and the pharmacist along with the card holder have access to this card content. But only the doctor has the "write" capability to write prescriptions and change any vital medical information regarding the card holder. The pharmacist and the card holder can only read the information stored on the card.
Auto-Secretary is a product that allows the consumer to store predefined phone schedule onto a SIM card. The SIM card would allow for operations with GSM as well ad CDMA frequency phones, therefore allowing internally communication capability.
PC software like TCTENO Predictive Dialer actually allows the PC to place phone calls. It is a system that automatically dials the telephone for your telemarketers connecting only live voice contacts to them every 6-8 seconds. The Auto-Secretary acts similary to this PC application.Auto-Secretary makes scheduled phone calls but the major difference is that the Auto-Secretary allows the customer to be mobile, anywhere within her cellphone service zones. It also allows the schedule to be placed in GSM phones as well as CDMA phones for a larger international range. The Auto-Secretary was designed to use the Simera Airflex, a roaming Java SIM card between GSM and CDMA air interface.
SIMLang stands for Subscriber Identity Module Language Independence Solution. The idea is to move the menu language from being hard-coded into the GSM device to the SIM chip. This way, for whatever language you prefer to display the menu of your GSM phone, you simply purchase the SIM chip with that language. This way, the manufacturer can build generic GSM phones (built with only the source language) and distribute them, while providing the language on the SIM card. The SIMLang implementation consists of three components: the host environment, the interpreter, and an example reference library.
The host environment is the piece of software that must reside on the GSM device to communicate with the SIMLang module stored on the SIM card. The interpreter resides on teh SIM card and acts a liaison between teh language library and the host environment to map lexeme-requests with lexemes. The reference library contains the reference lexemes that a language library can implement and a device can request. The lookup values of the reference library will be in English, and therefore the lexeme-requests from the host must be in English. The reference library will be built to be extensible as it is expected that more lexemes will be added as device's interfaces become more complex. The reference library also contains the language-specific lexemes that are to be returned to the device by the interpreter for display to the user.
SIMLang is embedded software because the SIM card is embedded hardware in a cellphone. A SIM card contains a microprocessor, dynamic memory and persistent storage. The SIM card is a complete embedded system that operates within the GSM cellphone. As such, SIMLang is subject to many of the limitations of an embedded system. The virtual machine used for the Java code is not the typical Java Virtual Machine and Java Runtime Environment that resides on everyone's desktop computer. SIMLang had to be programmed to use the Java Card Virtual Machine and the Java Card Runtime Environment. Developing for these environments imposed several limitations, mostly having to do with the amount of available memory.
A smart card has been developed to increase customer brand loyalty for a gas company. The smart card is used as both a secure credit card with account information encryption capabilities and a customer loyalty reward system. It stores purchase history information used to reward the customer for their brand loyalty in making both gasoline and convenience store purchases. The customer will receive credits towards non-gasoline purchases in the form of DollarPoints in company-affiliated stores based on spending levels over a given time period as well as free gasoline in the form of GasPoints based on the total number of gallons of gasoline purchased in a given period of time.
When the customer inserts her card into the card terminal either at the cashier counter or at the fuel pump, the host computer will activate the card and request their account information for authorization to use the card. Upon authorization, the host computer will push the purchase amount in US dollars and the date to the card. The card will store this information and compute award level points based on the amount of the purchase and the total number of points accumulated since the last award redemption. If the total amount of points exceeds a minimum level, which is a test for redemption, the award level will be provided to the host computer. The host computer application will prompt the user to select whether to redeem the points toward teh current purchase or to save the points. If the user selects to redeem the points, the host application will reduce teh purchase price by the appropriate amount and command the card processor to reduce the total number of points by the amount redeemed and to store the date and amount of the redemption. If the customer elects not to redeem the points, no action is taken with regard to the points and the custormer's account is billed for the total amount of the purchase. The award point count is adjusted for both non-gasoline and gasoline purchases. In addition, when the purchase includes gasoline, the number of gallons purchased is passed to the card to be summed with the total number of gallons purchased since teh last gasoline award redemption. If the total number of gallons of gasoline exceeds the award level, the card passes this information to the host computer program which then automatically credits the user's credit account by the price of 1 US gallon of gasoline based on the current purchase price. When the host program receives confirmation of the credit, it then commands the cards processor to reduce the total amount of gallons purchased stored on teh card by the award level and to store the data of this redemption. The GasPonts would be computed as teh total number of gallons of gasoline purchased and DollarPoints would be computed as 10 points for every one dollar spent. The credit for GasPoints would be computed as teh average price of one gallon of gasoline. The credit for DollarPoints will be computed as a percentage of the amount spent during the reward period based on a rate of 0.1% per $100 up to a maximum of 1.0% of th eamount spent. The sum of the points being redeemed will be set to 0 when redeemed.
This section is under development.
This section is under development.
This page is under construction.
Projects
FleetNet is a collection of embedded systems designed for remote management of mobile operating devices such as fleet vehicles. It can gather and log vehicle status information (like an avionics black-box), and transmit alerts regarding out of limits parameters to a remote fleet management office through a central web server. It is also capable of transmit text messages and parameter alert thresholds from the fleet management application to the FleetNet vehicle mounted components. There will be numerous fleets operating concurrently in a given geographic area, all reporting to a single FleetNet web portal, communicating with one or more fleet management applications. A fleet management application may manage more than one fleet, and a fleet may have multiple fleet managers but will be unified by belonging to a single company.
FleetNet consists of three subsystems:
Mini-Projects
People
Alumni:
2004 Fall Semester 2004 Spring Semester
2003 Fall Semester
2003 Spring Semester 2002 Fall Semester
2002 Spring Semester
Data not available
Papers and Presentations
Software
Location
The major research and development activities of ES/COP are conducted in J211, J310, J263, and J260 Embedded Systems Lab.
Pictures
Feedback
Please send your feedback to Dr. Andy Ju An Wang via the following contact detail:
School of Computing and Software Engineering
Southern Polytechnic State University
1100 South Marietta Pkwy
Marietta, GA 30062
Tel: 678-915-3718
Fax: 678-915-5511
E-mail: jwang@spsu.edu
© 2004 Andy J Wang
Last modified: Mon August 2, 2004