Saturday, July 19, 2014

A smarter water app development ecosystem

In previous blog posts I have detailed how enterprise apps can be developed today using the IBM Smarter Water Platform. From this a whole enterprise based app development ecosystem can be built up to help address real worlds problems for the water industry such as water conservation and non revenue water (NRW). These apps follow a pattern of; leveraging information from various sources such as the citizen as a sensor and the Internet of Things (IoT) of smart water sensors and meters, analyzing the information with advance analytics, and visualizing the information and analysis in a contextual and situational aware environment. This pattern can yield powerful insights into the water network. In this blog i want to examine this ecosystem more with a story about how multiple players can collaborate around this smarter water ecosystem.

Below is the diagram outlining the development of a smarter water app development ecosystem. The App Store in the diagram below can be realized by our IBM Cloud try and buy offering. We will now look at a non revenue water story that could be realized by this ecosystem.




A Non Revenue Water story (A Smarter Cities ecosystem)

  1. A Water Balance App is  developed on the Platform by a App Developer in collaboration with a Domain Expert (an example of a water domain expert would be a water engineering consultancy company). The Water Balance App could then be published to a Smarter Cities App Store (such as IBM Water Usage Analysis app at the IBM’s try and buy site). A domain expert can then consult with the Water Balance App and use it to help find leaking zones in a water system
  2. A Domain Expert can then consult with a Pressure Management App (from the Smarter Cities App Store) to help reduce the pressure in the water network and therefore reduce the amount of leaks. The domain expert can extend the app with their domain knowledge (KPI, regulatory reports, SOPs). The Domain Expert can use the Water Balance App to quantify how effective the Pressure Management App has been in terms of leaks reduction in the water network. 
  3. An Asset Vendor (an example would be a sonic sensor manufacturer ) can then work with an App Developer to create a Sonic Leak Detection App for their sonic sensors. This app would again be published in the Smarter Cities App Store. A Domain Expert would then consult with the Sonic Leak Detection App to detect a leak down to a particular pipe. The Domain Expert can again use the Water Balance App to quantify how effective the Sonic Leak Detection App has been in terms of leak reduction in the water network.
Here the roles are defined more clearly
  • Platform Provider - IBM would be the smarter water platform provider 
  • App developer - An app developer would use the platform services and programming model (SDK) to develop apps on the platform, these apps could then be deployed to the Smarter Cities App Store. 
  • Domain expert - Domain experts will use the platform as well at the apps from the Smarter Cities App store in their consultancy to give them a competitive advantage. They will typically augment these app with domain specific content (e.g KPI, reports, SoPs).
  • Asset Vendor/Content Expert - Asset Vendors provide hardware solutions such as sensor and meter vendors. As cloud hosted solutions become more common, our platform and SDK will become an attractive solution of developing apps to access their hardware that are connected. 
This ecosystem will enable multiple parties to collaborate together to allow them consume and use water resources smarter. The  IBM Smarter Water Platform therefore allows us to build advance analytics based apps with data consumed from the enterprise, the Internet of Things, and the citizen as a sensor thereby opening up a new ecosystems for collaborative smarter planet app development: an enterprise app store. This combined with the latest announcement of a joint collaboration between IBM and Apple makes this a very exciting time.


http://lnkd.in/d_-6WZF

Sunday, January 26, 2014

Water and the internet of things

Over the past year on this blog I have been talking about a number of concepts around how we can become smarter about how the world uses water. I thought it would be good for this posting to take a breath and put it all together to give new and existing readers an overview of where the IBM Intelligent Water Platform (IOW) is now and its technical capabilities.


At the heart of IBM Intelligent Water Platform (IOW) is the water information hub (WIH) which provides a system view of the internet of things as related to a water or grid utilities network. This network is built up from elemental data sources such as sensors, meters, enterprise asset management systems, CRM systems, ERP systems and GIS systems. This systems view allows the user to view the water network as a whole, where the whole is greater than the sum of the parts. The water information hub is modeled using a flexible semantic technology that allows the modeling of real world water networks and can manage change dynamically. 

Smarter water enterprise applications can then be build on-top of the water information hub using a software development kit (SDK). The SDK provides a number of core services for the application developer:
  • A interface into the water information hub (WIH), 
  • A interface into the advanced analytics engines of the platform, 
  • A rendering service that allow the application developer to display result to the end user
Using these core interfaces, the platforms eventing model, and an integration with social media services an application developer can develop advanced analytical water application such as pressure management and pump energy optimization and deploy these applications into the IOW platform.

The enterprise application development pattern separates function from content using the concept of a content pack. in a model, view controller pattern. This allows an application developer and business partner to collaborate together to solve a diverse range of global water problems. In the Smarter Water SDK, the application’s content comes in the form of a content pack. We can think of a content pack as a container that holds lots of different types of content, content that can be both consumed and produced by the application, such as KPI, SOPs, and custom reports.

An organizing principle is then used to categorize and classify the applications. This classification is by vertical (e.g. Water sourcing and distribution, waste water, etc), by role (executive, planner, operator) and by business responsibility. This classification allows for multiple application to be installed and configured, as part of the application development lifecycle, into the IOW platform.

All of the services of the IOW SDK interfaces are built and offered as cloud services to allow for remote development and deployment of enterprise applications. All of the enterprise analytical applications can in turn expose and be offered as business services. These applications can then collaborate and cooperate together using their business services to help solve real world water problems such as a leaking pipe.

Wednesday, November 13, 2013

Smarter Water Application Development Lifecycle

So far we have looked at a number of concepts around the IBM Smarter Water Platform. We have looked at the water information hub (the WIH provides a systems view of the water network), the Smarter Water SDK which is built on-top of the WIH (the SDK provides the tools that an application developer needs to build water related applications), and the content packs ( the content pack provides supporting content for the application) used to support applications. Now we will put all this together and show how an water related application can be developed, installed, configured, and extended in IBM Smarter Water Platform.


The following diagram shows the end to end lifecycle of a water application developed, and deployed into IBM Smarter Water Platform

IOW app development concepts dependencies


  1. An application developer develops an water related application (app) to address a water related business need
  2. The application is supported with a content pack
  3. When developing the application, the application developer also creates app meta data such as UI extensions points which allow the application to be hooked up to the platform UI
  4. This application is categorized by vertical, role and business responsibility or component (conceptually we can think of this as the app being installed into an app store).
  5. The application can then be installed into IOW to help solve a particular business need.
  6. Based on the categorization and the UI extension points the app is customized into IOW
  7. Extend the application content pack with domain knowledge and expertise

Let us now look at each of these steps in a bit more detail. We will expose each of the step in more detail using a example pressure management application.

0. Identify the business need


Within a pressure zone, the water pressure in usually kept high to ensure that there is adequate positive pressure on the tap side. Keeping the water network at high pressure all the time has a detrimental effect on the pipe network, particularly in an aging pipe network, which is the case in most western european cities. The constant high pressure tends to corrode the pipes and also exasperates any existing leaks.

1. Develop an application to address the business problem



An application developer develops a water related app to deal with the problem. The app exposes a service to deal with the business problem. In the case of high pressure problem, a pressure management app would be developed and it would expose a business service to manage the pressure’


A pressure management application, built using SDK, will read off the pipe network and then iterate through the pipe network and read off the pressure reading at pressure critical point and then take that data and process it through an optimization algorithm. The output of the optimization algorithm will then give the optimized pressure readings for that pressure zone. The application could then write out to the optimized pressure reading to the pressure reducing valves in the water network. This pressure management app then exposes a service called ’Manage Pressure’. Once this application is deployed into IBM Smarter Water Platform (IOW) this service becomes available to be called either standalone or part other application as part of a business process or collaboration.

2. Support the application with a content pack


An application developer will also need to develop a content pack to support the app. There is a minimum amount of content to make the application functional and these content needs to be developed at this time. Note that the content in a content needs to be both multi-tenant and high availability aware. Here is the typical types of content that an app needs in order to function





Data sources - Understand the external systems (e.g. work equipment: devices, sensors, meters, etc). Identify the external system that the app needs to pull data from, or interface to, in order to function. This data is ingested over and industrial strength enterprise service bus.

For the pressure management app those type of data sources would be pipe network categorized by pressure zone, the pressure reading from the pressure critical points, and the pressure reducing values in the network.




Events - The enterprise service bus and the mediations are also responsible for handling and dealing with events. These events can be external event such as a weather event, or events from the meters and sensor devices, such as a no read. These events can also be generated by the application.

The pressure management app is interested in events such as leaks, bursts, pumps request to be serviced and also event correlations such as unknown or ’no data’ status reads from the sensors on the network.





Database extensions - Create the corresponding application specific IOW persistence stores. Based on the format of the data from the external systems, such as the measurements and measurement values from sensor or meters, the corresponding database stores need to be created within the Smarter Water Platform (IOW).

For the pressure management application, the corresponding data stores to store the measurement values for the pressure critical points and the data from the pipe network and pressure zone boundaries must be created.





Water information hub/Semantic model - Extend the IOW Semantic Model to support the clients water model. Based on the application requirements and the types of external systems the semantic model, at the heart of the Smarter Water Platform (IOW), can be extended to model these systems to provide a overall view of the water network.

Extend the IOW semantic model to understand EPANET hydraulics model (pipe network)

3. Application meta data


When developing the app, the application developer also creates meta data about the application. This app meta meta is stored as part of the content pack. Examples of the kind of meta data associated with applications would be

  • The UI extension points for the application. When an application is being installed into IOW, these UI extension points are exposed to the application installer to allow the application to be connected to the platform viewer.
  • The applications classification by vertical, role and business component or responsibility (see section 4. Application Classification below) .
  • A list of the services that the application consumes and exposes (see section 1. Develop a business application above)
  • Role based authentication and authorization access information for application services.



4. Application Classification


The application now needs to be classified and categorized by vertical, role and business component or responsibility. Conceptually we can think about this as installing the application into an app store where the application is verified and classified. This classification will help intended audience to find the application and it corresponding service(s). This classification will provide guidance as to how and where the application will be installed into IBM Smarter Water Platform (IOW).

The pressure management application would classified as follows:

Classification of the pressure management application
Vertical Water sourcing and distribution
Role Water Planner
Business component/responsibility Infrastructure monitoring and optimization
Business service Optimize pressure (the application provides a realization of this service)

This classification information is then added to application’s meta data. Also note that a pump energy optimization application would be classified the same way.

5/6. Application installation and configuration

The application installer/configurator can now install the application into IBM Smarter Water Platform (IOW). Conceptually this can be thought of as a user installing an application on their iPhone/iPad. Based on the classification of the application, the installer takes into account the application’s domain vertical, the role, the business component/responsibility and the business service being exposed. The applications configurator also configures the application extension points such as the UI extension point, localize the application, and configures time and date formats.

Based on its application classification the pressure management application would installed into a water sourcing and distribution planner page or tab and would be categorized in that page/tab under infrastructure monitoring and optimization. The pressure management application extension points would also be configured to localized the application and to hook up the UI extension points.

7. Extend the application content back with domain knowledge

App content packs can also be extended by a content pack extender, typically this is an typically a entity with domain knowledge expertise. An example of a domain knowledge expert would be water engineering company who understand the local domain (e.g. USA, Europe, South Africa, etc) and regulatory compliance (e.g. EPA regulations in the USA) that the apps needs to operate in. Again the content in the content needs to be both multi-tenant and high availability aware.

An application with a basic content pack can be extended multiple times with difference content depending on the domain that the app is deployed in. For example the pressure management app could be used by a water pump company who have pumps all over the world. The water pump company or a water engineering company that sell these pumps, can then take the pressure management app and provide difference extension to this content pack when they are using this app in Denmark and using it in the USA.

Role based security access to the content may also be added by the content pack extender to application meta data section as the content pack is extended.

Here is the typical types of content that an app can be extended with:





Key Performance Indicators (KPIs) - Create application specific KPIs
Discover, specify and implement the KPIs that the application needs to report on. Key performance indicators (KPIs) are quantifiable measurements employed by organizations to monitor and assess performance. See Allen Smiths dW article Part 1 and 2 on KPIs





Custom business reports - Gain insight from historical data with reporting, scorecards, clustering etc. Custom business reports, also know as descriptive analytics, provides summaries and reports about the sample and about the observations that have been made.
For example, the asset maintenance history of a water pipe is a descriptive statistic that summarizes the quality of a water pipe.




Standard operating procedures - Standard operating procedures (SOPs) can also be launched by an application via the underlying eventing mechanism. SOPs are essential to an organization’s ability to deliver consistent, measured, high-quality responses to complex events.
An SOP might be related to automatically detecting a failure in a sensor and opening a work order to have it repaired, or to dealing with approaching severe weather. Regardless of the reason for the standard operating procedure, if an organization develops a planned, understood (and rehearsed) response to various events it can better respond to that incident quickly, and consistently. See Bob Patten dW article on SOPs.

Friday, August 30, 2013

What is a Content Pack?

When I talked about building water applications using IBM Smarter Water SDK, I omitted a key ingredient needed by the application, its content. For and application to function it needs supporting content such as; data, business reports, key performance indicators (KPIs), and standard operating procedures (SOPs). In the Smarter Water SDK, the application's content comes in the form of a content pack. We can think of a content pack as a container that holds lots of different types of content, content that that be both consumed and produced by the application. Here is a diagrammatic representation of the Smarter Water application content pack.

Smarter Water Content Pack

Application development using IBM Smarter Water SDK follows an model-view-controller pattern (MVC). Using this pattern; the application is the controller, the content pack is the model, and the Smarter Water Platform provides the view (other views can be plugged in here as well). This allows the content to be changed independent of the application so that we can easily add new KPIs and custom reports as our understanding of the application grows. We will come back to this topic again in a later blog.

IBM's Smarter Water SDK Model View Controller Pattern




Let us examine the content of the content pack in more details





Data sources - Understand the external systems (e.g. work equipment: devices, sensors, meters, etc)

Identify the external system that the application needs to pull data from, or interface to, in order to function. Example of such external systems are; (water) meter devices, sensors devices, loggers, enterprise asset management systems (EAM), customer relationship management systems (CRM), GIS systems, ERP system etc.. Once these particular systems are identified the application developer much also understand the format of the data that is been external systems provide. The data in on-boarded using an enterprise service bus and mediations are responsible for routing the data to the various sub systems and data stores.





Events - The enterprise service bus and the mediations are also responsible for handling and dealing with events. These events can be external event such as a weather event, or events from the meters and sensor devices, such as a no read. These events can also be generated by the application. 





Database extensions – Create the corresponding application specific IOW persistence stores 

Based on the format of the data from the external systems, such as the measurements and measurement values from sensor or meters, the corresponding database stores need to be created within the Smarter Water Platform. Examples of the kind of data stores that an application developer may want to create would be; reporting, operational, analytics and geospatial persistence data stores





Water information hub/Semantic model - Extend the IOW Semantic Model to support the clients water model

Based on the application requirements and the types of external systems the semantic model, at the heart of the Smarter Water Platform (IOW), can be extended to model these systems to provide a overall view of the water network. This semantic model also allows the application to perform meaningful queries, fine grained filtering validation and inferencing. For more information see Tim Hanis dW article on using semantic models.






Key Performance Indicators (KPIs) - Create application specific KPIs

Discover, specify and implement the KPIs that the application needs to report on. Key performance indicators (KPIs) are quantifiable measurements employed by organizations to monitor and assess performance. See Allen Smiths dW article Part 1 & 2 on KPIs





Custom business reports - Gain insight from historical data with reporting, scorecards, clustering etc.

Custom business reports, also know as descriptive analytics, provides simple summaries about the sample and about the observations that have been made. Such summaries may be either quantitative, i.e. summary statistics, or visual, i.e. simple-to-understand graphs. These summaries may either form the basis of the initial description of the data as part of a more extensive statistical analysis, or they may be sufficient in and of themselves for a particular investigation.
For example, the asset maintenance history of a water pipe is a descriptive statistic that summarizes the quality of a water pipe. 




Standard operating procedures

Standard operating procedures (SOPs) can also be launched by an application via the underlying eventing mechanism. SOPs are essential to an organization's ability to deliver consistent, measured, high-quality responses to complex events. An SOP might be related to automatically detecting a failure in a sensor and opening a work order to have it repaired, or to dealing with approaching severe weather. Regardless of the reason for the standard operating procedure, if an organization develops a planned, understood (and rehearsed) response to various events it can better respond to that incident quickly, and consistently. See Bob Patten dW article on SOPs.





Advanced analytics algorithms

The  Smarter Water SDK also gives application developer access to three types of, advanced business analytics such as; descriptive Analytics (historical insights), prescriptive/optimization analytics (optimization), and predictive Analytics (predication). We have already addressed descriptive analytics in the custom reporting section and this section of the content pack deals with any algorithms needed for optimization or predicative analytics. An example here would be a predicative algorithm that is used to predict when pipes are going to fail.


In the next blog we will look at building out a content pack for the pressure management application 

Friday, June 21, 2013

The best way to deal with a leaky pipe

At the heart of the IBM Smarter Water product is the water information hub (WIH), can be viewed as a system, where the whole is greater than the sum of the parts. In a previous post I talked about how we can create intelligent apps on top of the WIH using IBM Smarter Water SDK, where these apps can then collaborate together to optimizing the water network by exploiting feedback loops in the system. In this post we will examine another feature of the system, that is the ability for the WIH to learn new stuff.

Usually, when we architect and design applications we store the data in a database. Databases are very good at storing and querying data but one drawback is that all of the data has to known at design time. For example, when we are building a database for a metering system we need to know everything about the metering system at design time. The problem with a dynamic system like the WIH, where the whole is greater than the sum of the parts, is that by definition the 'whole' know more than the 'parts'. In other words we can not possibly know all of the information contained in the 'whole' at design time. 

An example will help illustrate this. Lets return to the water balance application we previously built using IBM Smarter Water SDK. The water balance app measures the amount of water in and out of the system. In a water distribution system, the network is typically divided into a number of pressure zones. In the diagram bellow we can see five separate pressure zones. The water balance application reads data from the water information hub, which is connected at the backend to the sensors and meters in the network, and reports a standard measure of water (IWA) moving in and out of the network. The water balance application provides us with a baseline from which we can start to optimize the water network. By running a minimum night flow analysis, the water balance application can determine which pressure zone is the most 'leaky' in the water network (1). The problem here is, if we we architected the WIH with a database, the concept and corresponding database construct, for 'leakiness', may not have been considered at design time since we could not have foreseen all the apps that could be built on top of WIH at design time.

A water distribution with five separate pressure zones
The WIH bypasses this problem by using a semantic technology, rather than a database technology to represent the water network. I will go into the details of the semantic technology in a later posting but suffice to say that by using a semantic technology we can now add new data at runtime that was not thought about at design time.



Now, once the water balance app runs the minimum night flow analysis and categories the pressure zones by 'leakiness' it can write this information back to the WIH (2). The pressure management app can then use this new information (3) to prioritize which pressure zones it needs to optimize first.

This is just one example of where a water app that processes data from the water information hub has enhanced our understanding of the water system and can then make that new information available to other applications. This is because the semantic technology, that the water information hub is based on, is dynamic enough to allows us to make these changes at runtime. There are lots of other examples of applications that can enhance our understanding of the water network, and we will be looking at others in a future postings.




Friday, May 24, 2013

Cooperating applications for self optimizing water systems

People often ask me what is the importance of the water information hub (WIH)? The WIH provides a system view of the water network, where the whole is greater than the sum of the parts. In other words is not just  an elemental view of the water meters, or the sensor (pressure, flow, turbidity etc), or the assets (pipes, manholes, value, pumps, etc) in the system, it shows how all these elements, and many more, interrelate with each other. We can now treat the WIH as a system and like all other systems it exhibits certain characteristic of a system such as feedback loops. A simple example of a system with a feedback look is a house with thermostat. A thermostat works with a furnace and you set the thermostat to a certain temperature and the furnace works with the thermostat, blowing on and off, to keep the house at that set temperature. Here there is a feedback look between the thermostat and the furnace. For a great book on understand more about systems and systems behaviors, including feedback loops, see the book: Thinking in Systems: A Primer.

The very same can be done for a water distribution network where we have water flowing into and out of the network from the tap, or from from leaks, or from fire hydrants. Water lost from the systems that is not billed through a meter is called non revenue water (NRW). We can create similar feedback loop for the WIH by measuring the amount of water in and out of the system and then optimizing that via some feedback loop mechanism to help minimise the amount of NRW. The example we will look at is very similar to the thermostat example above in that is there are also two applications cooperating together: a water balance application that measures the amount of water in/out of a network and a pressure management application that will optimize the pressure in the network. Both of these application can be build using the IBM's Smarter Water SDK
Water Balance Table
In any system it is always important to get the beat of the system. In a water distribution network this is how much water is flowing through the network and were the water is going to. A measure of a beat of a water network can be provided by a water balance table. In a water distribution network, the network is typically divided into pressure zones, as this makes it easier for a water authority to manage the pressure across a large network and allows for a sub section of pipes to be kept at a constant pressure independent of the rest of the water network. A water balance application built using the SDK could read in the pipe network data and the associated meter readings from the pipe network, and then calculate and display the water balance. The figure above shows a standard water balance report that the water balance application might produce. One of the things a water balance application can do, is run a minimum night flow analysis, which runs the water balance at 3.00 AM, when water usage is at it's lowest, and all of the losses of water in the system at that time are largely due to leaks. By comparing pressures zone, using a minimum night flow analysis, we can then determine which pressure zones are having the most leaks.

Multiple pressure zones and a minimum night flow analysis chat

A pressure management application works on the principle, that within a pressure zone, pressure in usually kept high to ensure that there is adequate positive pressure on the tap side.  Keeping the water network at high pressure all the time has a detrimental effect on the pipe network, particularly in an aging pipe network, which is the case in most western european cities. The constant high pressure tends to corrode the pipes and also exasperates any existing leaks. A pressure management application, built using SDK, will read off the pipe network and then iterate through the pipe network and read off the pressure reading at pressure critical point and then take that data and process it through an optimization algorithm. The output of the optimization algorithm will then give the optimized pressure readings for that pressure zone. The application could then write out to the pressure reducing values, in that pressure zone. using an OPC interface and set the optimized pressure value for the network.
Feedback loop between the water balance and the pressure management applications 
These two applications, the water balance application and the pressure management application can be set up in a feedback loop very similar to how the thermostat and the furnace feedback on each other. This kind of collaboration between the two application can be done simply with a pub/sub interface on the applications. The water balance application alerts, the pressure management application, that a particular pressure zone is very leaky. The pressure management application optimize the pressure in that pressure zone. Once the pressure management application runs and optimizes the pressure in the pressure reducing values and then in turn alerts the water balance application that the pressure has been optimized. The water balance application would then run the minimum night flow analysis again, the following night, and find by how much the leaks have been reduced.

Rain to drain water network

In this feedback loop between the water balance application and the pressure management application, the water balance application may tell the pressure management application to use a different optimization algorithm and test the effectiveness of one algorithm against another. There are many more of these feedback loops that you can find in the water network, such as the rain to drain picture above in Peter Williams paper, and we challenge you find more and build collaborating applications around those.




Sunday, May 19, 2013

Application development using IBM's Smarter Water SDK

Last week IBM quietly released a new version of its Smarter Water product (called the Intelligent Operations for Water). Buried inside of this release is a feature that looks to completely change the way water applications are developed. The new version supports an application development model that allows for third parties to build water applications (such as leak detection, flood management, water quality applications) quickly and consistently on the Smarter Water platform. The benefits of such an application development approach is that it provides one way of building water applications, including mobile applications, on the platform.

Apple revolutionized the consumer world with their iPhone/iPad app store providing developers with access to the iOS platform and allowed them to build their own applications. Apple also provided an App Store where application developer could advertise and sell the applications. The Smarter Water platform now follows this model but instead of targeting customers, it targets a range of 3rd party water applications developers from research groups (including universities), services provider and partners, to developer their own smarter water applications.

IBM's Smarter Water SDK

The Smarter Water platform provides this application development capability by providing a software development kit (SDK) for water application developers.  The SDK consists of a set of underlying interfaces and programming model to enable and simplify application development as well as number of examples to help guide and educate application developers.  The SDK consists of three core interfaces. 

  • An interface into the water information hub (WIH), which gives an application access any and all water, related assets, such as the water pipe network, pumps, sensor, meters, etc. 
  • An interface into the advanced analytics engines of the platform, which gives an application developer access to three types of, advanced analytics such as descriptive Analytics (historical insights), prescriptive/optimization analytics (optimization), and predictive Analytics (predication)
  • An interface into a rendering service, which allows the application developer to create a resulting information layer which can then be put on top of a map.
Detailed documentation about this SDK and these interfaces, written by our fearless Dublin based documentation team, can be found here: http://ibm.co/1ANClFk

The Smarter Water SDK interfaces allows us to build smart water applications

Using these three interfaces, the core pattern for application development is very simple. 
  1. The application will read the types of water asset from the water information hub (WIH) e.g. pump, pipe, valves, sensors, meters, etc. This is because the WIH has a self-describing interface. 
  2. The application will then focus on a particular asset such a pipe and then read the pipe network from the WIH, for a particular pressure zone. The application could also iterate through the pipe network and read off the meter reading in that pipe network. 
  3. The application may then do some advanced analytics on the pipe network, such as checking which meters are reading high. 
  4. The application can then create a layer of the pipe network and color the particular of the network with high meter reading in red and then display that pipe network on a map.
A complete tutorial details a factious water company called the Sunshine Water Group (SWG) who manage a water network for a regional council. The water network contains a number of sensors that monitor measurements. Sunshine Water Group have been experiencing challenges with water pressure measurements in their pipe infrastructure. Each pipeline asset in the water network has the following managed components: pipes, junctions, reservoirs, valves and tanks. Each managed component has an associated measurement. For example, both junctions and valves have pressure readings, measured in psi (force per square inch). Sunshine Water Group use valves to set pressure readings. The rest of the tutorial shows how to build out, using the SDK, a simple pressure management application and deploy it onto the Smarter Water platform.

In an up coming Smarter Planet Blog posting I will be teaming up with the Smarter Water Product Manager, Nitin Kapoor and Dr Sean Mckenna from IBM Dublin water research laboratory to talk more about the SDK and the Smarter Water platform.