eSVG – SVG for Embedded Systems
mr.sc. Damir Jezic
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 Integrated Development Environment has the following basic properties:
- 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.
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 throughICU and OPC standard.