REFlex Renata Medeiros de Carvalho

Slides:



Advertisements
Similar presentations
Introduction to C++ An object-oriented language Unit - 01.
Advertisements

Verification of DSMLs Using Graph Transformation: A Case Study with Alloy Zekai Demirezen 1, Marjan Mernik 1,2, Jeff Gray 1, Barrett Bryant 1 1 Department.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2013 Lecture 4.
The "if structure" is used to execute statement(s) only if the given condition is satisfied.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Outline  Introduction  Background  Distributed DBMS Architecture  Distributed Database Design  Semantic Data Control ➠ View Management ➠ Data Security.
Programming Languages and Paradigms The C Programming Language.
/ PSWLAB P ROMELA Semantics from “THE SPIN MODEL CHECKER” by G. J. Holzmann Presented by Hong,Shin 5 th Oct :021PROMELA Semantics.
Module 4: Deploying and Managing BizTalk Applications
Database Management System Module 3:. Complex Constraints In this we specify complex integrity constraints included in SQL. It relates to integrity constraints.
A university for the world real R © 2009, Chapter 6 Declarative Workflow Maja Pesic Helen Schonenberg Wil van der Aalst.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
What’s New The following slides describe the changes and system fixes that will be loaded to the production system on the 25 th January ‘Calogi Product.
Towards a Lightweight Model of BGP Safety Matvey Arye Princeton University Joint work with: Rob Harrison, Richard Wang, Jennifer Rexford (Princeton) Pamela.
Software Testing and Quality Assurance
User Interface. The Protocol Interface The service we have tested is a clock: the control point sends a request to the device (demo device in this case)
Collaboration Diagrams. Example Building Collaboration Diagrams.
Commutativity Analysis: A New Analysis Framework for Parallelizing Compilers Martin C. Rinard Pedro C. Diniz
Describing Syntax and Semantics
---Confidential 1 Order Management Training. ---Confidential 2 Introduction Three cycles in Oracle Applications Plan to make. Order to cash Procure to.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Chapter One Overview of Database Objectives: -Introduction -DBMS architecture -Definitions -Data models -DB lifecycle.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Sage CRM Developers Course
Logic Programming Based Model Transformations An overview of related work.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
ASP.NET Programming with C# and SQL Server First Edition Chapter 3 Using Functions, Methods, and Control Structures.
Chapter 7 Runtime Environments. Relationships between names and data objects As execution proceeds, the same name can denote different data objects Procedures,
1 RoboComm: Rule-Based Scheduling for Communication Systems CSCI Research Project and Seminar Team #7 Instructor: Dr. Kwok-Bun Yue Mentor: Mr. Dilhar.
CHROME-REF CHR v Online Model-driven Engine with Reasoning Explanation Facilities INRIA / UFPE Rafael Oliveira – Jacques Robin.
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
Tutorial 91 Databases A database is an organized collection of related information stored in a file on a disk A database allows companies to store information.
Contact Profile (1/2) Yu Sun, University of Alabama at Birmingham Hyun Cho, University of Alabama Jeff Gray, University of Alabama Jules White, Virginia.
Commercial RDBMSs Access and Oracle. Access DBMS Architchecture  Can be used as a standalone system on a single PC: -JET Engine -Microsoft Data Engine.
Loops (cont.). Loop Statements  while statement  do statement  for statement while ( condition ) statement; do { statement list; } while ( condition.
VARIABLES, CONSTANTS, OPERATORS ANS EXPRESSION
Mercury. One single online platform: Mercury Highlights – USP’s Web-based platform: accessible from any computer in any location without installing any.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Chapter 4 An Introduction to SQL. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.4-2 Topics in this Chapter SQL: History and Overview The.
Methods of Software Development Karl Lieberherr Spring 2007.
1 Access Control Policies: Modeling and Validation Luigi Logrippo & Mahdi Mankai Université du Québec en Outaouais.
9.3 – Linear Equation and Inequalities 1. Linear Equations 2.
SASI Enforcement of Security Policies : A Retrospective* PSLab 오민경.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 9: Test Generation from Models.
Theory-Aided Model Checking of Concurrent Transition Systems Guy Katz, Clark Barrett, David Harel New York University Weizmann Institute of Science.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Learning Objective We will learn how to graph Linear Inequalities. We will apply linear inequalities to real-world situations and understand where appropriate.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
1 Resort Data Processing One Login to Rule Them All.
Use graphing to solve this system. 1. y = 2x y = -x + 3 Use substitution to solve this system. 2. y = x-2 -2x -4y = 4 Use elimination to solve this system.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
1 Sections 6.4 – 6.5 Methods and Variables Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
IT Brazil Application Architecture GI3 – Suggested SMS Architecture Overview V1.
oracle apps order management training
Training for developers of X-Road interfaces
Security analysis of COM with Alloy
Training for developers of X-Road interfaces
Chapter 6 - Database Implementation and Use
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
Graphing a System of Inequalities
SysML v2 Formalism: Requirements & Benefits
Web Ontology Language for Service (OWL-S)
Definitions Constraint blocks provide a mechanism for integrating engineering analysis with other SysML models. Constraint blocks can be used to specify.
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
Dichotomies in CSP Karl Lieberherr inspired by the paper:
Simple Sequencing Part 2
Access Control What’s New?
Scope Rules.
Presentation transcript:

REFlex Renata Medeiros de Carvalho (rwm@cin.ufpe.br) Ricardo Massa (rmfl@cin.ufpe.br)

ReFlex Rules Compiler Engine Business Process The rule engine is divided into 2 modules: Modeling one: where the business process is compiled into a graph. Each node is an activity and each edge is one kind of behavior (according to the defined rules). There are 7 different edges possible to be defined. The compiler also has a model checking and an inference mechanisms, to avoid contradictory rules and to inference some rules not defined but that does not change the execution. Execution one: where the user interface shows to the user which activities are enabled at that point and the user chooses an activity. The engine updates the graph according to the executed activity and updates status of the UI. Engine

ReFlex Rules Compiler Engine Business Process The rule engine is divided into 2 modules: Modeling one: where the business process is compiled into a graph. Each node is an activity and each edge is one kind of behavior (according to the defined rules). There are 7 different edges possible to be defined. The compiler also has a model checking and an inference mechanisms, to avoid contradictory rules and to inference some rules not defined but that does not change the execution. Execution one: where the user interface shows to the user which activities are enabled at that point and the user chooses an activity. The engine updates the graph according to the executed activity and updates status of the UI. Engine

ReFlex Rules Compiler Engine Business Process The rule engine is divided into 2 modules: Modeling one: where the business process is compiled into a graph. Each node is an activity and each edge is one kind of behavior (according to the defined rules). There are 7 different edges possible to be defined. The compiler also has a model checking and an inference mechanisms, to avoid contradictory rules and to inference some rules not defined but that does not change the execution. Execution one: where the user interface shows to the user which activities are enabled at that point and the user chooses an activity. The engine updates the graph according to the executed activity and updates status of the UI. Engine

Activities A A A A A State Additional property Activity Activity enabled disabled blocked Activity A Activity A enabled/obliged disabled/obliged

REFlex Rules General properties Temporary existence Weight Source and target Temporary existence Weight

X A Y Relationship Activity Activity B State: enabled Obliged: FALSE State: disabled Obliged: TRUE Weight: 0 Temporary: FALSE Weight: 2 Temporary: TRUE

REFlex Rules At Least At Most Obligation Temporary Obligation Blocking Temporary Blocking Precedent Obliged

Liveness Enforcing N = ? N = ? N = 1 N = ? N = 1

Liveness Enforcing

Data-aware Graph A B Existence condition X = 20 User = “adm” Valid = True Availability = 0.99 A B Existence condition

Alloy Formal specification language Alloy Analyzer SAT solver 2 types of analysis Search for an instance that satisfies all the constraints and relations specified in a model Identification of counterexamples that violates the assertions specified in a model

A Declarative Web-Service Orchestrator Overview User Interface Choose activity A1 A1 A2 A3 A3 A4 A4 A5 An End End Execute activity Update activities status Flexible Orchestrator Rule Engine Now I will explain how the orchestrator proposed works. The user can see at the User Interface the activities that are enabled to be executed at the moment. So, the user chooses one activity to execute. The orchestrator performs the variable bindings. If there is any local bindings, the UI requests the user for the values. If not, this step is automated. Then, the SOAP request message is created according to the bindings and the service operation is invoked. When It receives the response, the SOAP response message is parsed and the global data is updated with the variable bindings defined. The next step is the interaction with the ruleengine that will be expleined later. The last sept is update the group of enabled activities ans the user can choose another one and continue the process execution. Perform variable bindings Create SOAP request message Interacts with engine Invoke service Global variables response Update global data

REFlex

Receive product request Send product using company shipment 1 Confirm product delivery 3 5 Separate by region Hire other shipment method 2 Penalty charge of shipment company 4 6 IF cost of 4 ≤ 1,25 * cost of 3 IF response time of 5 > x IF rate of 1 < 10 * rate of 3

Separate products for other countries Send products by ship 8 Separate products for other countries 7 Send products by airplane 9 IF cost of 9 ≤ 1,5 * cost of 8