Rule-Based Engineering Using Declarative Graph Database Queries

Similar documents
Big Data Analytics. Rasoul Karimi

Composite Data Virtualization Composite Data Virtualization And NOSQL Data Stores

BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE By using the RETE Algorithm Benefits of RETE Algorithm...

Visualizing a Neo4j Graph Database with KeyLines

A standards-based approach to application integration

Log management with Logstash and Elasticsearch. Matteo Dessalvi

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre

The SPES Methodology Modeling- and Analysis Techniques

Dream Report vs MS SQL Reporting. 10 Key Advantages for Dream Report

Introduction to Computing. Lectured by: Dr. Pham Tran Vu

How To Improve Performance In A Database

Kevin Kochirka, ABB Turbine Automation, June 29, Flexible turbine control retrofits Webinar

Developing SOA solutions using IBM SOA Foundation

How To Handle Big Data With A Data Scientist

PIE. Internal Structure

P16_IBM_WebSphere_Business_Monitor_V602.ppt. Page 1 of 17

Visionet IT Modernization Empowering Change

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

A Tool for Evaluation and Optimization of Web Application Performance

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

OpenControl. Utilization

Lesson 4 Web Service Interface Definition (Part I)

Sentinet for Windows Azure SENTINET

Graph Databases: Neo4j

zen Platform technical white paper

Oracle Service Bus Examples and Tutorials

XpoLog Center Suite Data Sheet

IDL. Get the answers you need from your data. IDL

Windows PowerShell Cookbook

Information and Communications Technology Courses at a Glance

An Oracle White Paper October Oracle Data Integrator 12c New Features Overview

Static Analysis and Validation of Composite Behaviors in Composable Behavior Technology

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world

A Data Collection Revolution?

Candle Plant process automation based on ABB 800xA Distributed Control Systems

Oracle Data Integrator: Administration and Development

NoSQL and Hadoop Technologies On Oracle Cloud

A Plan for the Continued Development of the DNS Statistics Collector

Automatic vs. Manual Code Analysis

TRY OUR SOFTWARE TAKE IT FOR A TEST DRIVE PRODUCT CATALOG 2015

Symphony Plus S+ Engineering: Composer Harmony

GRAPH VISUALIZATION USING THE NoSQL DATABASE

1. What are Data Structures? Introduction to Data Structures. 2. What will we Study? CITS2200 Data Structures and Algorithms

InfiniteGraph: The Distributed Graph Database

Design principles of the Drupal CSC website

IBM WebSphere ILOG Rules for.net

Apache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014

Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic

Koen Aers JBoss, a division of Red Hat jbpm GPD Lead

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms

SCA-based Enterprise Service Bus WebSphere ESB

Increasing IT flexibility with IBM WebSphere ESB software.

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

ESS event: Big Data in Official Statistics. Antonino Virgillito, Istat

Energy Insight from OMNETRIC Group. Achieving quality and speed in analytics with data discovery

A Next-Generation Analytics Ecosystem for Big Data. Colin White, BI Research September 2012 Sponsored by ParAccel

Optional custom API wrapper. C/C++ program. M program

Why NoSQL? Your database options in the new non- relational world IBM Cloudant 1

NoSQL Databases. Nikos Parlavantzas

Visualizing an OrientDB Graph Database with KeyLines

MD Link Integration MDI Solutions Limited

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Cloud Storage Standards Overview and Research Ideas Brainstorm

Cisco UCS and Fusion- io take Big Data workloads to extreme performance in a small footprint: A case study with Oracle NoSQL database

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)

Understanding the SCSI MIB

emontage: An Architecture for Rapid Integration of Situational Awareness Data at the Edge

DataDirect XQuery Technical Overview

BIG DATA & ANALYTICS. Transforming the business and driving revenue through big data and analytics

FIPA agent based network distributed control system

Sisense. Product Highlights.

DiskPulse DISK CHANGE MONITOR

Ektron to EPiServer Digital Experience Cloud: Information Architecture

EMC AVAMAR INTEGRATION WITH EMC DATA DOMAIN SYSTEMS

mframe Software Development Platform KEY FEATURES

Cloud Computing and Advanced Relationship Analytics

Software Engineering

Component-based Robotics Middleware

FileNet System Manager Dashboard Help

OnCommand Unified Manager

The data between TC Monitor and remote devices is exchanged using HTTP protocol. Monitored devices operate either as server or client mode.

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.

MEAP Edition Manning Early Access Program Neo4j in Action MEAP version 3

How To Create An Integrated Visualization For A Network Security System (For A Free Download)

Features of The Grinder 3

Jitterbit Technical Overview : Microsoft Dynamics CRM

How To Choose A Business Intelligence Toolkit

LDIF - Linked Data Integration Framework

Object Technology Toolsets for LabVIEW

Using Library Dependencies for Clustering

Translation Protégé Knowledge for Executing Clinical Guidelines. Jeong Ah Kim, BinGu Shim, SunTae Kim, JaeHoon Lee, InSook Cho, Yoon Kim

Extensible Network Configuration and Communication Framework

A Practical Approach to Process Streaming Data using Graph Database

Transcription:

Rule-Based Engineering Using Declarative Graph Database Queries Sten Grüner, Ulrich Epple Chair of Process Control Engineering, RWTH Aachen University MBEES 2014, Dagstuhl, 05.03.14

Motivation Every plant is a highly customized system build up from stock components according to the customer s requirements Commissioning and reconfiguration of chemical and manufacturing plants requires a high amount of engineering = creation and testing of control structures from a pre-defined set of components Done manually high costs Consequents: engineering costs become variable for re-configurable plants and hamper the uptake of innovations Goal of Industrie 4.0: coupling of production facilities owned by different organizations Slide 2/31

Motivation A possible solution is the utilization of a rule-based system Pros: Separation of concerns A rule base is (ideally) independent of the current project Helps to overcome error prone copy paste tasks Cons: An additional complex system Where does the rule-base come from? Overfitting of the rules Our proposal: define rules using declarative graph-based queries Slide 3/31

Talk Overview Applications of rule-based systems in industrial automation Technology overview P&I diagram data ACPLT automation server Neo4J and Cypher Graph data rule-based system Use-cases Code generation out of P&I diagrams Flow path discovery Summary and outlook Slide 4/31

Rule-based Engineering Systems An Overview The idea of rule-based systems is not new An organizational paradigm of storing engineering knowledge Original ideas come from knowledge-based domain First applications in the automation domain around 1980 th Part of a broader research field Automation of Automation Asset monitoring Assistance systems Human-Machine-Interface Core design decision: how are the rules represented and evaluated Typically in a permission-conclusion (IF-THEN) format Slide 5/31

Rule-based Engineering System Applications Main application area of RBES: model transformations Generate one model based on other model(s) Two studied use-cases from the publication by Kraußer at al.: 1. Generate basic control blocks based on plant description: E.g. create a motor control block in the PLC for each pump on the plant plan 2. Model exploration: E.g. follow pipes between any two vessels to find a possible flow path that can be monitored Further application areas: HMI generation I/O configuration generation Etc. Slide 6/31

Talk Overview Applications of rule-based systems in industrial automation Technology overview P&I diagram data ACPLT automation server Neo4J and Cypher Graph data rule-based system Use-cases Code generation out of P&I diagrams Flow path discovery Summary and outlook Slide 7/31

P&I Diagrams Piping and instrumentation diagrams core model for plant structure: Plant elements and PCE requests Standardized in IEC 62424 Slide 8/31

PandIX Piping and Instrumentation Exchange: CAEX profile for describing P&IDs XML-Format for P&IDs How to obtain PandIX data? Manual creation Export of CAD/CAE tools e.g. Siemens COMOS or Smartplant Core concept: Elements with roles and connection ports Directed connections of different types XML hierarchy is used to model hierarchical element composition Slide 9/31

PandIX Example [ ] <InternalElement Name="N1"> <ExternalInterface Name="PIn" RefBaseClassPath="ProductConnectionPoint"/> <ExternalInterface Name="POut" RefBaseClassPath="ProductConnectionPoint"/> <ExternalInterface Name="N" RefBaseClassPath="ActuationPoint"/> <RoleRequirements RefBaseRoleClassPath="PumpRequest"/> </InternalElement> [ ] <InternalLink Name="N1-Y1" RefPartnerSideA="N1:POut" RefPartnerSideB="Y1:PIn"/> [ ] Slide 10/31

ACPLT Automation Server Portable ANSI-C implementation of a runtime environment Function blocks as main programming paradigm OO-Features e.g. inheritance and polymorphism Message and signal-oriented inter-block communication Reconfiguration at runtime Binary and HTTP RESTful interfaces (OPC-UA in development) Open Source Slide 11/31

Function Block Diagram A graphical programming language from IEC 61131 Composition of function blocks Function block s interface from the outside Implementation available in the ACPLTenvironment Slide 12/31

Neo4J and Cypher for Engineering Purposes The presented models (P&IDs and FBDs) have a native graph representation Neo4J and Cypher treat nodes and edges as first-class citizens Cypher graph patterns are intuitively understandable: No SQL knowledge required A leap from ASCII representation to graphical query representation is possible Can work as a bridge between computer scientists and automation engineers Slide 13/31

Neo4J Open-Source nosql Graph-Based-Database can be faster than typical SQL engines Impements a graph query language Cypher Data Model: attributed multi-graph Nodes, Pointed relations of different types Both have a key-value attribute table name: Grüner city: Aachen type: person participating name: MBEES type: workshop participating name: Kampert city: Aachen type: person Slide 14/31

Cypher Cypher SQL-similar language for declarative graph queries Example for a read-only query: START n=node(*) MATCH n-[:participating]->()<-[:participating]-m RETURN n.name, m.name; name: Grüner city: Aachen type: person participating name: MBEES type: workshop participating name: Kampert city: Aachen type: person Returns a table: n.name Grüner Kampert m.name Kampert Grüner Slide 15/31

Talk Overview Applications of rule-based systems in industrial automation Technology overview P&I diagram data ACPLT automation server Neo4J and Cypher Graph data rule-based system Use-cases Code generation out of P&I diagrams Flow path discovery Conclusion and outlook Slide 16/31

Architecture of Graph Data Rule-Based System Slide 17/31

Rule Representation and Evaluation IF-THEN logic replaced by FORALL-DO logic in RuleML-like syntax : <rule> <forall> <query><![cdata[ START n=node(*) MATCH n-[:participating]->()<- [:participating]-m RETURN n.name, m.name ]]></query> Parsing the </forall> result table <op>system.out.println( {n.name} and {m.name} participate at the same event )</op> </rule> Operations are evaluated on the rows of the table Tokens matching column names are replaced in the operation calls Java reflection used to keep the system easily extendable Slide 18/31

Implemented Operations Text based I/O Console output Writing into files KS / HTTP protocol wrapper to communicate to ACPLT servers Creating function blocks / connection Reading variables Neo4J API Creating properties for nodes Creating links between nodes Slide 19/31

Talk Overview Applications of rule-based systems in industrial automation Technology overview P&I diagram data ACPLT automation server Neo4J and Cypher Graph data rule-based system Use-cases Code generation out of P&I diagrams Flow path discovery Summary and outlook Slide 20/31

Use-Case Architecture Slide 21/31

Use-Case 1: Generation of pre-defined single control block instances: PumpI P1 Slide 22/31

Use-Case 1: Imported Graph Data Slide 23/31

Use-Case 1: Rule <rule> <forall> <query><![cdata[ START n=node(*) MATCH pump-[:containment]->() -[:ACTUATION_CONNECTION]->()<-[:CONTAINMENT]-pce WHERE pump.role = "PumpRequest" AND pce.role = "ActuatorRequest" AND pce.functioncode = "N" RETURN distinct id(pump), pump.name, pce.name, pce.signalcode ]]></query> <op>fn.ks.createobject("pump{pce.signalcode}", "/TechUnits", "{pce.name}")</op> <op>fn.neo4j.createpropfornodeid( "id(pump)", "basiccontrol", "/TechUnits/{pce.Name}")</op> </forall> </rule> Slide 24/31

Use-Case 2: P&I Data Possible flow paths between any pair of vessels Slide 25/31

Use-Case 2: Flow Types Internal and external flows occur only between product ports: External flows = flow in pipes both directions Internal flows = flow inside of an element type dependent Assumptions: Pumps allow flows in one directions Fittings and valves allow flows in any direction Slide 26/31

Use-Case 2: Rule Query START n=node:node_auto_index(name="plant") MATCH v1-[:containment]->p1, p2<-[:containment]-v2, path=p1-[:internal_flow EXTERNAL_FLOW*..16]->p2 WHERE v1.role = "VesselRequest" AND v2.role = "VesselRequest" AND ALL(n IN nodes(path) WHERE length(filter(m IN nodes(path) WHERE m.parent=n.parent) )<=2 ) RETURN DISTINCT extract(x in nodes(path) [x.parent, x.name]) Slide 27/31

Use-Case 2: Evaluation Result [["V1","POutBottom"],["Z1","P1"],["Z1","P3"], ["Y1","PIn"],["Y1","POut"],["Z2","P3"], ["Z2","P2"],["V2","POutTop"]] [["V1","POutBottom"],["Z1","P1"],["Z1","P3"], ["N1","PIn"],["N1","POut"],["Z2","P1"], ["Z2","P2"],["V2","POutTop"]] [["V2","POutTop"],["Z2","P2"],["Z2","P3"], ["Y1","POut"],["Y1","PIn"],["Z1","P3"], ["Z1","P1"],["V1","POutBottom"]] [["V2","POutBottom"],["N2","PIn"], ["N2","POut"],["V1","POutTop"]] Slide 28/31

Use-Case 2: Drawbacks Problem 1: The query is not intuitively understandable Problem 2: Performance problems The execution of the query takes about 23 minutes [sic] The problem is the query evaluation mechanism: All the paths up to length 16 are accumulated at first Match filter is applied on the accumulated path set Number of paths grows exponentially Execution time grows exponentially Lessons learned: Cypher syntax/evaluation needs to be improved to formulate path properties and filter them on the fly Strength of graph based rules: local, pattern-matching applications Slide 29/31

Talk Overview Applications of rule-based systems in industrial automation Technology overview P&I diagram data ACPLT automation server Neo4J and Cypher Graph data rule-based system Use-cases Code generation out of P&I diagrams Flow path discovery Summary and outlook Slide 30/31

Summary and Outlook We presented a graph query rule-based engineering system The system relies on a graph database and graph queries Rule description formalism is accessible to both engineers and computer scientists The application of the system is neither limited to industrial automation engineering nor to ACPLT technologies Further work: extension and verification of the system to new application areas Further import plugins Further operation implementations Slide 31/31

Rule Set Due to the simplicity of the engine the know-how is stored in the rule set Options of rule-set creation: Manual design for a particular task +: good results, simple -: expensive Automatic generation from existing data using machine learning +: less overhead -: expert insight still needed Assistance system +: flexible, on the fly creation and testing Slide 32/31

Function Blocks Function block is the smallest program organization unit Known concept from IEC 61131-3, IEC 61499 and MATLAB/Simulink Data encapsulation through clear interfaces Native Blocks: algorithm implemented in a higher language (C, ST, etc.) (black-box) Aggregated Blocks: internal logic composed from further function blocks (white-box) Slide 33/31