eSVG SVG for Embedded Systems

mr.sc. Damir Jezic
Intesis d.o.o.
Aleja Blaza Jurisica 9
10040 Zagreb, Croatia
Phone: +3851 4651498, +3851 4651500
Fax: +3851 4651502
Jezic@intesis.hr

Open, modular, and flexible design, based on standards, is important prerequisite for efficient software products architecture. XML and its application SVG perfectly fit into these design requirements and open a new era in software products development and standardization.

Embedded Systems, as a specific computer systems area, have particular design requirements. As the main difference towards the generally known Personal Computers world, Embedded Systems closely interact with the physical world surrounding them. Additional criteria, such as real-time behavior and reactivity, robustness, concurrency and optimal resources usage are of paramount importance in all the computation they perform. Embedded Systems are computer-based systems "embedded" in airplanes, ships, cars, security systems, telephones, manufacturing and process control systems, fax machines and printers, toys, audio and video equipment, weapons, robots, medical instruments etc.

XML and SVG are emerging as a real part of concrete applications for Personal Computers and the Internet world. Although these technologies could be immediately very useful in the Embedded Systems world, too, because of the mentioned additional requirements for such systems, different technical and architectural problems must still be efficiently solved in order to gain possible XML and SVG benefits. Some of the benefits will be standardized, easy and powerful cooperation between Embedded Systems and Personal Computers applications over Internet, standardization of development tools and environments, standardization of problem domain libraries etc.

SVG specification creators have already adapted and modularized the SVG specification in order to make it suitable for different kinds of systems, and SVG Tiny and SVG Basic profiles are the first candidates to be really applied in the Embedded Systems world.

eSVG is a project aiming to close the mentioned gap between the expected benefits and present problems of SVG implementation in Embedded Systems. eSVG offers comfortable Integrated Development Environment (JS eSVG IDE) to speed-up SVG-based systems development.

JS eSVG IDE supports rapid and comfortable development of eSVG applications containing both SVG and ECMA JavaScript files. It is optimized for run-time debugging either on the host PC (Simulator) or on remote target devices (UniOP, Pocket PC). During remote run-time debugging, eSVG application is executed just on the target device.

JS eSVG Integrated Development Environment has the following basic properties:
- Remote handling of target device SVG and JavaScript files; includes remote file browsing, upload and download, but also remote activation, restarting and deactivation of eSVG applications
- eSVG syntax and application oriented file editing and printing
- Remote debugging of target device eSVG applications; includes parallel script tracing, tracing step logging, task (script) manager, variable watch, call stack, breakpoint manager, etc.

- Interactive help assistance

eSVG Engine is the functional core of all target device eSVG applications and ActiveX controls. eSVG Engine has the following basic properties:
- Multithreaded pre-emptive script execution
- Clear and simple OS and application shell interface
- Touch/Mouse and Keyboard event processor for script activation
- Interactive debugging support
- External data exchange between eSVG and shell application
- Scripts dynamically access SVG elements via standard SVG DOM 2 API

eSVG can be used in Embedded Systems with graphic capabilities or on any Pocket PC device. eSVG can run on Windows CE or any other platform.

Next eSVG releases will offer complete architecture for reliable viewing and MMI scripting in Embedded Control Systems. Efficient and ready-to-use interconnection between the eSVG MMI and the Process Control world will be established through ICU and OPC standard.