7
The modern lab integrator

ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

The modern lab integrator

Page 2: ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

ScriptMLTMis at the

heart of the OpenIO system, a metalanguage that translates your application’s logic to your equipment in its own programming and control protocol. You can avoid learning new languages and get on with your work. Using ScriptML™ you program in the language of your choice and have it understood across your entire system.

1OpenIO Labs

IO Interfaces are

hardware connectors with their own processing capabilities. IOIs provide the means to integrate any two pieces of equipment, from USB or serial to a twisted pair of bare copper wires! They impart intelligence to your hardware. Instructions run on the IOI independently of the rest of your system, so data can be processed right there at the sensor, quickly and efficiently avoiding network latencies and security issues.

LabBookTM is the

central component of the OpenIO platform, from which instruments are controlled and information is organised. LabBook runs in the cloud and provides tools such as metadata tagging, reporting, monitoring, storage and programmatic control of the equipment in your lab. LabBook controls the programmable IO Interfaces which provide connections to the many type of instruments you use via our software translator ScriptML™.

System Intro

The modern laboratory is packed full of sophisticated instrumentation, each with its own control systems, languages and connectors. This lack of universal interoperability is standing between you and the business of discovery.

The OpenIOLabs platform is for those working with multiple pieces of equipment in a lab or industrial environment. It bridges the language and compatibility gap between various hardware and software, bringing different systems together to create one point of control.

That means you can use the exact hardware you need without worrying about makes, models and vendors, controlling and monitoring it all at once, in real time.

www.openiolabs.com

Page 3: ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

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.

The ScriptMLTM 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 ScriptMLTM tokens. IOIs can act independently avoiding network latency issues.

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

ScriptMLTM avoids creating detailed definitions of complex application frameworks by defining ScriptMLTM syntax, grammar and transportation protocol between server and diverse nodes.

This all means you can work in the language of your choice and have your code executed when and where it is needed.

2 ScriptMLTM

What is ScriptMLTM?

How does it work?

www.openiolabs.com

Page 4: ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

3ScriptMLTM

OpenIO LabBook provides a complete user-controlled environment with advanced database and graphics processing, all accessed via a web interface. LabBook 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

The IO Interfaces 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

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

in LabBookTM in IO Interfaces

Advantages

www.openiolabs.com

Page 5: ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

IO Interfaces (IOIs) are the hardware elements of the OpenIOLabs platform. They not only connect any two devices in your system, they also possess processing power in their own right.

This lets you keep intelligence closer to your equipment, processing data independently of the main system, monitoring equipment and dodging network, latency and security issues.

General purpose Input Output interfaces are the

simplest way to send and receive signals from devices. These interfaces use digital signals and protocols like I2C, SPI and RS232.

Data acquisition IO interfaces gather high frequency

data for DAC and ADC. Components matched to your application give the highest resolution and speed.

Edge processing IO interfaces keep processing power close to your hardware. Data

streams can be pre-processed at source prior to transmission over your network. Code can be pushed to the edge and run autonomously to avoid latency or noise issues in your environment.

Multifunction IO interfaces are used to manage sophisticated instruments like Scanning

Probe Microscopes or environmental control systems. These controllers are highly configurable and combine all the advantages of our other components in controlling both your hardware and other IO interfaces in the OpenIOLabs platform.

IOIs are classed into four application-based categories. IOIs from one, or several, categories can be combined to create the system you need.

What are IOIs?

What do IOIs do?

4 IO Interfaces

www.openiolabs.com

Page 6: ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

• Free membership: gain access to instruction manuals and use of LabBook.

• Power-user membership: control instrumentation with Python or C via ScriptML to achieve maximum interoperability between all the equipment in

their laboratories.

• Developer membership: tools to modify hardware to suit particular requirements.

5LabBookTM

• Use IO Interfaces: make a physical connection to with IOIs to your equipment, benefitting from IOIs’ on board communications and processing power, which allow a smart two way connection for both data collection and active programmatic control.

• Use a RESTful interface: upload data using a simple Python, Matlab, or Octave via a RESTful interface, turning almost any instrument into a virtual data collection IO interface. C++, GO, Antha and Java will also be available.

• Metadata tagging system: tags can be used to track specific information, compile reports and share for reporting and publication. It is data about your data. Associate tags with data from any particular instrument or during a particular situation. These tags will be added to each data set you create, keeping your results in context by automatically collecting information about hardware, software and running conditions.

• Immutable database: safe archive as you save the data in LabBook. You can resample original data to include additional parameters, new time windows or to reprocess via new algorithms.

• Export reports: LabBook can be used to create reports, and the reports can then be exported and shared with collaborators.

• Link IDs: link your IDs from other platforms to your OpenIO membership. Linking IDs allows our members to more easily report results, track of publications, and ensure that results are more visible.

Become a member

Connect &Collect

Organise data

Share data

www.openiolabs.com

Page 7: ScriptML · 2016. 11. 2. · ScriptML™ is a sophisticated application logic transport protocol. It’s a translator, a functionality broker which lets developers and service providers

Future Business CentreKings Hedges RoadCambridge CB4 2HYUnited Kingdom

+44 1223 703 154 [email protected]