September 2011 |
[an error occurred while processing this directive] |
An Open, Standardized Control Language
In
this
article we will look at the Sedona Framework and how it tackles each of
these requirements making it an ideal solution to fulfill the vision of
an open, standardized control language. |
|
Articles |
Interviews |
Releases |
New Products |
Reviews |
[an error occurred while processing this directive] |
Editorial |
Events |
Sponsors |
Site Search |
Newsletters |
[an error occurred while processing this directive] |
Archives |
Past Issues |
Home |
Editors |
eDucation |
[an error occurred while processing this directive] |
Training |
Links |
Software |
Subscribe |
[an error occurred while processing this directive] |
In the August issue Ken Sinclair wrote about the need for an open, standardized control language. Here some of the key requirements to fulfill this vision of a software platform which might be widely adopted:
In this article we will look at the Sedona Framework and how it tackles each of these requirements making it an ideal solution to fulfill the vision of an open, standardized control language.
Creating New Components
At its
heart, Sedona is a programming language. It leverages familiar
syntax and object concepts found in languages like C and Java making it
easy to learn. As a general purpose language it allows creation
of any type of software, but it is focused on the domain of control
applications. Sedona provides a standardized model for
packaging up control functionality into software components (function
blocks).
Reusable Libraries
As vendors and system integrators write new Sedona components, it must be easy to build up libraries for reuse across projects and devices. Sedona is designed with a highly modular architecture where software components and functionality can be organized into reusable modules called kits. Kits provide the unit of versioning, deployment, and dependency management and give Sedona a first class module system.
Portability
One of the biggest challenges with an open control language is ensuring that libraries of software components are easily used on any vendor’s devices. Most embedded devices using low level languages like C require esoteric and complicated tool chains like compilers and linkers which are highly targeted to a specific microprocessor and OS. Higher level languages like Java avoid this complexity using a virtual machine, but often require megabytes of memory. Sedona solves the portability problem using a virtual machine which is highly optimized to run efficiently in the low end microprocessors commonly found in unitary controllers. The VM is designed to be easily ported to vendor devices. Once a device is running the standardized VM, any software written in Sedona is guaranteed to run unmodified on that device.
Graphics Programming
Today
most BAS control applications are built using graphical programming
tools. This model allows domain experts to assemble customized
applications by dragging and dropping function blocks and wiring up the
control logic flow. This model has been highly successful to
split responsibility between software developers and domain experts -
software developers write new function blocks like PID loops and domain
experts who deeply understand the control application can assemble
solutions without having to also be traditional programmers.
Sedona embraces this model with its software component model. The
Sedona platform is designed from the ground up for applications to be
assembled and wired up using graphical programming tools.
[an error occurred while processing this directive] Standardized Programming Protocols
Although
there is a plethora of protocols to communicate data over field bus
networks, there are virtually no protocols designed explicitly for
application programming. Sedona includes a protocol called Sox
which tackles the tough challenges of fully managing the application
program of a Sedona device over a network:
With the Sox protocol, any Sedona enabled device is deeply reprogrammable using the graphical programming paradigm. This allows control applications to be built and modified across heterogeneous, multi-vendor devices.
Unencumbered
In the age of commodity hardware where every penny counts in the bill of materials, only a royalty free software platform has a chance of widespread adoption for edge devices such as unitary controllers. To promote broad adoption, Sedona is released under a commercial friendly open source license. Anybody can download the software and vendors are free to Sedona enable their devices without any royalty or IP restrictions.
Conclusion
Sedona
is the ideal candidate to fulfill Ken Sinclair’s vision of an open,
standardized control language. In fact it was explicitly designed
to solve exactly that challenge. Better yet, it is already built
and available right now. As an open source project it already
sports a broad ecosystem of multiple vendors and users. To learn
more about Sedona visit http://sedonadev.org/.
About
the Author
Brian Frank is the founder of SkyFoundry and software architect of the SkySpark software platform. Previously, Brian was co-founder of Tridium and lead architect of the Niagara Framework. He is active in the development of open source initiatives for programming languages and protocols including: oBIX, Fantom, Sedona, and Project-Haystack.
[an error occurred while processing this directive] [Home Page] [The
Automator] [About] [Subscribe
] [Contact
Us]
[Click Banner To Learn More]