January 2009 |
[an error occurred while processing this directive] |
|
Peter Michalek
|
Open Source: from Generic to Building-Automation-Specific
Over the last 15 to 20 years, mainstream software development has diversified due to multiple factors such as technological advances and proliferation of faster and more powerful hardware, software advances in languages, networking and operating systems, the advent of the Internet, Semantic Web and Web Services and new business models that include new companies in technology and software services sectors based on open source software (OSS).
[an error occurred while processing this directive] |
As IT managers and developers know, it would be difficult today to build a productive development environment and to deploy networked applications without open source projects such as Linux operating system, Apache web server, tools and libraries, Eclipse suite of development tools and IDEs.
This role of open source has been common in the mainstream software for a while: OSS helps create the infrastructure that allows users to use familiar applications from any computer. It supports multiple components in the infrastructure: application servers with Apache web server, tomcat java servlet container and JBoss application server, content management applications using OSS such as Alfresco and Magnolia, and the list goes on and on…
In the upcoming years pervasive computing will undergo a similar transition. New OSS projects will be created that focus on generic pervasive and mobile computing (or Internet of Everything as some people tend to call it) and also on specific support for building automation, smart grid and related technologies.
The process has already started. Universities, corporations and startups are creating open source projects that help provide the needed infrastructure as the feeding ground for pervasive software to grow on. Some of the notable initiatives include:
Maemo.org: Open source mobile computing platform from Nokia. Allows to build mobile systems with a rich set of features based on Linux OS in C, python, java and other languages
TinyOS: a platform for building ultra low resource and low cost networked devices, motes and sensors
Arduino: an open hardware platform that allows creating low resource and low cost devices and to integrate micro controller with sensors and firmware
Multiple startups have been formed to market hardware, software and development tools for pervasive computing and wireless sensor networks using these tools.
Open Source for Building Automation
One of the initiatives widening the existing pervasive open source base and applying it to building automation (BAS) and the smart grid is OpenLynx. It was conceived by Anno Scholten of NovusEdge after discussions and brainstorming with the BAS community at the BuilConn 2008 conference in Santa Clara, CA. OpenLynx is an open source project based on pervasive computing oX framework and defines ontologies, components and strategies for building automation and energy management components and products.
OpenLynx Group has released the first set of specification and a sample demo that shows how metering is done with OpenLynx: the release includes the source code written in the Java programming language.
Sample OpenLynx Use Case
Although OpenLynx is in the specification feedback stage there is a demo/proof of concept that offers a peek into its future and illustrates its potential.
[an error occurred while processing this directive] The demo is based on metering ontology defined in the specification. The implementation consists of core components and libraries and a software module integrated with the system that provides simulation of energy usage in an apartment building. Using standard framework facilities, alarms on specific criteria may be established, such as:
notify the owner or administrator if power consumption reaches 8 or more KW
or notify the owner if projected monthly energy cost based on energy use today is above a specified maximum of 1500KWh
notify the owner if projected monthly energy cost based on cost to date is more than $200
An analysis module can be built which analyses historical data and makes recommendation for energy savings.
Although this use case touches only on one aspect of energy management: automated metering, it shows a potential for a BAS and energy management focused framework: if a carefully designed underlying framework is used, developing and deploying efficient energy solutions can be a matter of several days or weeks rather than several months or years.
For those with technical inclinations and familiar with oBIX: as you can see in the on-line demo, the basis of the ontology of the metering interface is obvious directly in the data showing energy use in the appliance and metering tree; that makes it easier for integrators to understand the interface, helps to make it self-documenting and build the front-end and add-on modules that process the data or visualize it:
<obj name="meter" href="http://demo-dr.openlynx.org:1225/obix/dr/apartments/apt-001/meter/">
<feed name="metering-data" href="metering-data/" in="obix:obj" of="/def/dr/el-meter"/>
<real name="currentWatts" href="currentWatts/" val="30.0"/>
<real name="whHour" href="whHour/" val="62.02499999999986"/>
<real name="whToday" href="whToday/" val="100.99999999999989"/>
<real name="whWeek" href="whWeek/" val="100.99999999999989"/>
<real name="whMonth" href="whMonth/" val="100.99999999999989"/>
<real name="monthCost" href="monthCost/" val="0.0"/>
<int name="timestampms" href="timestampms/" val="1230580760015"/>
<abstime name="timestamp" href="timestamp/" val="2008-12-29T13:59:20.015-06:00"/>
</obj>
OpenLynx Goals
OpenLynx was created with the goal of providing an extensible and scalable platform for quick prototyping, simulation, implementation and deployment of open source building automation and energy management solutions, mixing the best of breed open source and commercial solutions.
Initially, a set of specification has been published: BAS, DR and smart grid community is invited to comment on the specifications and contribute to development of modules and core infrastructure.
The framework proposed in the specifications includes server side components, middleware and front end/UI components that can be reused and extended with minimum programming efforts.
OpenLynx Architecture
OpenLynx is based on service oriented architecture (SOA), using SOA concepts of distributed components that communicate via a messaging bus and are driven by a workflow module.
The core underlying protocol currently used by OpenLynx is oBIX, a light-weight extensible protocol that can be used for specifying ontologies for building automation and also generic monitoring and pervasive application. Since it was designed with special attention to RESTful implementation (REST is a light weight web services concept), it is easy to integrate with modern Rich Internet Application (RIA) front-end tools, web service and web technologies.
The core of the system specific to BAS functionality resides in OpenLynx server modules that address functionality and integration with BAS specific components such as energy demand/response and automated metering, access control etc.
OpenLynx connector/bridge modules will grow in number over time, depending on device protocol integration needs. Initially they may include:
BACnet
LonWorks
SNMP
Although OpenLynx is an open source system, it can be extended with non-open source adapters, connectors and bridges if necessary.
Modules and adapters such DR, Access Control etc. are completely decoupled from the rest of the system and can be loaded on demand, either at startup time or at runtime.
For example, a closed software interface may be required to connect to specific hardware. In such as case, an adapter will be built that provides translation between proprietary and OpenLynx protocol or that writes into OpenLynx database.
OpenLynx Roadmap and Future
The OpenLynx group plans the following activities in the upcoming months:
collect and discuss feedback to the specifications
cooperate with interested parties on improving the architecture and specifications and extending it to a large set of use cases
continue developing architecture and middleware for specific BAS and Demand/Response use cases and applications
OpenLynx will depend on wide participation: although initially it's feasible for one company or several individuals to do the bulk of the work, this may not be sustainable long-term for both technical and business reasons, including:
since the license is very liberal (you have very few restrictions in using and distributing project components in free or commercial products), short-term profit by a single company can't be realized; however, the whole industry will benefit when framework enabling easy integration and new innovative applications.
need to satisfy diverse needs: a single implementor company can only focus on a limited set of goals which limit framework usability
We therefore hope that government institutions and corporation in the U.S. and abroad, in particular building automation system integrators, utilities and ISOs, as well as hardware manufacturers of system and components that integrate in BAS and DR systems will actively participate in improving the specifications and contributing to development efforts. That will speed up energy management and smart grid acceptance, development if new innovative BAS applications and will help us achieve improved energy management efficiencies and thus energy independence and sustainability in the near future.
You can peruse the demo at http://demo.openlynx.org and more details about the project, including the specifications at http://demo.openlynx.org/doc and http://www.openlynx.org.
For more information, consult these resources:
Maemo.org: Nokia’s open source project www.maemo.org based on Linux. Used in products such as N810 Internet tablet
TinyOS ,
www.tinyos.net OASIS Open Building Information Exchange (oBIX),
oX framework, www.ox-framework.org
OpenLynx, www.openlynx.org
Arduino, http://www.arduino.cc/
About the Author
Peter Michalek helps companies in Silicon Valley define product architectures and implement them. He is also an active participant in open source development, most recently in the architecture and implementation of oX and OpenLynx projects use for pervasive computing, building automation and the energy management. His technical background includes applications security, Internet protocols and service oriented architectures in the context of highly scalable distributed systems and machine to machine communications.
[an error occurred while processing this directive]
[Click Banner To Learn More]
[Home Page] [The Automator] [About] [Subscribe ] [Contact Us]