September 2011
Article
AutomatedBuildings.com

[an error occurred while processing this directive]
(Click Message to Learn More)


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.

 
Brian Frank

Brian Frank,
Founder,
SkyFoundry


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.



footer


[an error occurred while processing this directive]
[Click Banner To Learn More]

[Home Page]  [The Automator]  [About]  [Subscribe ]  [Contact Us]

Events

Want Ads

Our Sponsors

Resources