OpenIOLabs

ScriptML™

What is ScriptML™ ScriptML Icon ?

ScriptML™  is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers focus on using the right tool for the job every time.

By recognising and understanding the function being requested from a device, ScriptML™ translates this request into any compatible language and executes it at the end point.

 

How does ScriptML™ ScriptML Icon work?

 

How ScriptML worksThe ScriptML™ protocol is a mechanism that allows application logic defined in one node or system, in a particular language, to be transported to a second system and executed there within a completely different execution environment.

For example, a server can place an application logic executable on a device somewhere in the system by accepting the application logic written in a high-level language (e.g. Python or Java), then encoding this high level application into ScriptML™ tokens.

The ScriptML™ protocol delivers the ScriptML™ tokens to a decoder in the target device, then executes the application logic using the device’s native execution environment.

The ScriptML™ protocol avoids creating detailed definitions of complex application frameworks by defining ScriptML’s syntax, grammar and transportation protocol between server and diverse nodes.

 

 Features

  • avoid vendor lock-in
  • pick the right hardware and software for every job
  • unified, customisable interface for your entire system
  • no need to learn a new programming language
  • growing community support
  • choose your language for each component of your system
  • high-level language compatibility (Python, C, Java and many others)
  • remote management

ScriptML in server la

ScriptML Icon in Server

The ScriptML™ server provides a complete user-controlled environment with advanced database and graphics processing, all accessed via a web interface.

ScriptML™ servers are available in standalone native Linux nodes, virtual server deployment on most Windows platforms and via cloud-based server instances.

  • ScriptML™ scripts input languages: C, Python, Java, C++, Golan and Lua
  • dynamic syntax checking based on target IOI capability
  • manual or dynamic ScriptML™ deployment
  • hierarchical ScriptML™ deployment using an IOI controller
  • automatic device capability and registration management

ScriptML Icon in IOI Controller

The IOI controller (IOI-C) is an optional middle node in the system that allows multiple IOIs to interact under direct ScriptML™ control.

This allows complex experiments to be created using a diverse set of instruments with the IOI-C deploying and processing ScriptML™ responses from individual nodes.

  • hierarchical structure with unlimited IOI interconnection
  • hierarchical ScriptML™ deployment with IOI-C aggregating and controlling the IOIs
  • data merge, processing and control

ScriptML Icon in IO Interface

The IOI are the endpoints in the system, decoding the individual ScriptML™ scripts.

  • ScriptML™ decoder source available for C, C++, Python, assembler and other languages on request
  • target processors include most 32-bit CPUs such as ARM and Microchip with 32kByte or more program memory
  • 8-Bit microcontroller cores such as 8051 and microchip with 32kBytes program memory or more
  • IOI Capability exchange with server for dynamic ScriptML™ syntax checking