SlideShare a Scribd company logo
Basic
     B i COSA Workflow Example
                W kfl      E     l
      in a Temporal State Machine

                         GORDON MORRISON
                   GORDON.MORRISON@VSMERLOT.COM




www.vsmerlot.com                                  7/11/2010
What is workflow?

 Workflow is understanding the rules and steps that
                          g                  p
  define the process of work being performed
 Workflow rules require understanding the temporal
  relationships of binary states, their true or false
  behaviors and their respective true or false next state
  transitions.
  transitions
 Workflow requires the proper placement of detail in
  abstraction.
  abstraction



www.vsmerlot.com                                    7/11/2010
Examples

 Processing any event
           g y
 Processing documents, languages, or databases
 User interactions with systems
                          y




www.vsmerlot.com                                  7/11/2010
Things common to workflow

 All have a temporal basis
                p
 All are based on rules that have one or more steps
 All have rules/steps that consist of states that have
                / p
  true and false behaviors
 Some states do nothing but transition to another
  state
 In temporal logic rules/steps/states do one thing
      It’s done well
      It’s coherent


www.vsmerlot.com                                    7/11/2010
Temporal State Machine

 Temporal State Machine
   While (Engine) {
         If(this->table(iTime).f_State())
           This->table(iTime).TrueBehavior()
          T TrueTrace = Thi
                  T       This->table(iTime).trace;
                                  bl (iTi )
           iTime = table(iTime).NextTrueTime;
         Else
           This->table(iTime).FalseBehavior();
           FalseTrace = This->table(iTime).trace;
           iTime = table(iTime).NextFalseTime;
        }
       }
 Table is defined on the next slide

www.vsmerlot.com                                      7/11/2010
www.vsmerlot.com

 The temporal state machine refers to this logic table,
         p                                    g        ,
   the seven columns are:
      Rule name or step displacement
      Function testing state
             i      i
      True behavior
      Next true behavior to execute
      False behavior
      Next false behavior to execute
      Trace




www.vsmerlot.com                                   7/11/2010
A Workflow Example

   RULE           TEST STATE      TRUE B NEXT T         FALSE B        NEXT F     TRACE
   rStateMach,
    rStateMach     f_Initial,
                   f Initial       pCreate,
                                   pCreate    +1
                                              +1,        Ignore,
                                                         Ignore         rError,
                                                                        rError     1000
   +1,            f_Status,       pCreated,  rReady,    pNotCreated,   rError,    1001
   rReady,        f_Approved,     pApproved, rAction,   Ignore,         +1,       2000
   +1,            f_Rejected,     pRejected, rDone,     Ignore,         +2,       2001
   +2              f_Cancelled,
                    f Cancelled    pCanceled, Done
                                   pCanceled rDone,      Igno e
                                                         Ignore,         rError,
                                                                          E o      2002
   rAction,       f_Act1, …                                                       4000

   rDone,         f_Done, …                                                       9000
   rError,        f_Error, …
                   f                                                               9086




www.vsmerlot.com                                                                          7/11/2010
State Machine Interfaces

 temporalMachine.approve;
     p                  pp     ;
   Moves the temporal pointer

 temporalMachine.cancelled;
   Moves the temporal pointer to canceled

   Tests the status

   Returns a Boolean result




www.vsmerlot.com                              7/11/2010
Rules

 Rules define the workflow
 Rules are defined in the state machine workflow
  table
 Each row requires that each column have an entry
      Every state has a true and false behavior
      Every state h a true and f l next b h i
                   has          d false     behavior
 Guards are defined as complete rules
 L i fl
  Logic-flow is separate from d t fl
             i        t f     data-flow



www.vsmerlot.com                                       7/11/2010
Rules are Complete

 Rules consist of one or more steps      p
   Each step is a row in the logic table

 Rules are only entered at their beginning
 Rules allow looping within the rule
 Rules can exit from anywhere within the rule
 Rules are not nested
   Rules are located in time with the workflow
        When
         Wh an action i approved
                      i is           d
        Next rule or step is ready for test




www.vsmerlot.com                                  7/11/2010
Nested Temporal State Engines

 Another Temporal Engine can be called from a rule
             p       g
 Another object can be created from a rule
 Another thread can be created from a rule




www.vsmerlot.com                                7/11/2010
The Temporal Pointer

 Managed by the Temporal Engine:
         g      y             p           g
   Can be set to the zero rule on each entry

   Can be left at the last rule or step used

   C
    Can be provided as an argument when the T
         b       id d                     h   h Temporal E i i
                                                       l Engine is
    called or reentered




www.vsmerlot.com                                            7/11/2010
Trace / Audit is Inherent

 The Temporal Engine Provides a:
             p          g
   True trace for every state/step

   False trace for every state/step

 The trace can always be on
 Or the trace can be dynamically bound
   Turned on or turned off at runtime
         d            d ff         i




www.vsmerlot.com                               7/11/2010
Breaking the Time Barrier




www.vsmerlot.com                               7/11/2010
A Temporal Understanding

Question: What are the five most importing things in
  creating quality software?
       i      li     f
 1) Temporal Logic
      Reduced complexity
 2) Temporal Logic
      Improved quality
 3) Temporal L i
   )T       l Logic
      Greater performance
 4) Detail
      The devil lives here don’t get carried away with abstraction
 5) Abstraction
      It s
       It’s important but to much has caused many a project to fail

www.vsmerlot.com                                                      7/11/2010

More Related Content

What's hot (8)

PPT
Decision making and looping
Hossain Md Shakhawat
 
PPT
M C6java5
mbruggen
 
PDF
L8
lksoo
 
PPTX
Nested loop in C language
ErumShammim
 
PPT
M C6java6
mbruggen
 
PDF
Decision control and iterative statements
savitamhaske
 
PPTX
java programming- control statements
jyoti_lakhani
 
DOCX
Nested Loops in C unit2.docx
JavvajiVenkat
 
Decision making and looping
Hossain Md Shakhawat
 
M C6java5
mbruggen
 
L8
lksoo
 
Nested loop in C language
ErumShammim
 
M C6java6
mbruggen
 
Decision control and iterative statements
savitamhaske
 
java programming- control statements
jyoti_lakhani
 
Nested Loops in C unit2.docx
JavvajiVenkat
 

Viewers also liked (13)

PPT
Scalable web-based workflow platform
Ashutosh Bijoor
 
PPTX
Workflow Foundation 4
Robert MacLean
 
PDF
State Machine Workflow: Esoteric Techniques & Patterns Everyone Should Buy pr...
European SharePoint Conference
 
PPT
Windows Workflow Foundation
Usman Zafar Malik
 
PPT
Events Workflow diagram
Colin Thomson
 
PDF
Workflow for XPages
Niklas Heidloff
 
PPTX
Corporate Workflow Process - Complaints and Legal Matters (illustration)
Elizabeth Baker, JD, CRCMP
 
PDF
The Workflow Reference Model
Aldo Quelopana
 
PPTX
Neuro4j Workflow Overview
Dmytro Pavlikovskiy
 
PDF
Djangocon 09 Presentation - Pluggable Applications
Nowell Strite
 
PPTX
Cognitive IBM Watson Services for Bluemix Developers
Niklas Heidloff
 
PDF
A simple workflow system using state machines
dhpeterson
 
PPTX
Java workflow engines
Mohammed Fazuluddin
 
Scalable web-based workflow platform
Ashutosh Bijoor
 
Workflow Foundation 4
Robert MacLean
 
State Machine Workflow: Esoteric Techniques & Patterns Everyone Should Buy pr...
European SharePoint Conference
 
Windows Workflow Foundation
Usman Zafar Malik
 
Events Workflow diagram
Colin Thomson
 
Workflow for XPages
Niklas Heidloff
 
Corporate Workflow Process - Complaints and Legal Matters (illustration)
Elizabeth Baker, JD, CRCMP
 
The Workflow Reference Model
Aldo Quelopana
 
Neuro4j Workflow Overview
Dmytro Pavlikovskiy
 
Djangocon 09 Presentation - Pluggable Applications
Nowell Strite
 
Cognitive IBM Watson Services for Bluemix Developers
Niklas Heidloff
 
A simple workflow system using state machines
dhpeterson
 
Java workflow engines
Mohammed Fazuluddin
 
Ad

Similar to workflow in temporal state machine v1 (20)

PDF
Gordon morrison temporalengineering-delphi-v3
Gordon Morrison
 
PDF
Online Workflow Management and Performance Analysis with Stampede
Dan Gunter
 
PDF
A Rule-­‐based Calculus and Processing of Complex Events
RuleML
 
PPTX
"Final fsFighting Complex Application State Management with Finite-State Mach...
Fwdays
 
PPT
09 workflow
ashish61_scs
 
PDF
Functional solid
Matt Stine
 
PDF
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Universität Rostock
 
PPTX
Introduction To Windows Workflow Foundation 4.0
Melick Baranasooriya
 
PPT
Solving problems by searching
Luigi Ceccaroni
 
PDF
Meta edit calc execution v3
Gordon Morrison
 
PDF
Back-annotation of Simulation Traces with Change-Driven Model Transformations
Ábel Hegedüs
 
PPT
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Porfirio Tramontana
 
KEY
Verification with LoLA: 4 Using LoLA
Universität Rostock
 
PDF
Nist cosa-foundation v7
Gordon Morrison
 
PDF
Techniques and Tools for Rich Internet Applications Testing
Porfirio Tramontana
 
PPTX
FAIR Computational Workflows
Carole Goble
 
PDF
The State Machine Compiler
François Perrad
 
PDF
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
virtual-campus
 
PDF
Pal gov.tutorial1.session13 14
Mustafa Jarrar
 
PDF
Dominic Maes - Testing "slow flows" Fast, Automated End-2-End Testing using i...
TEST Huddle
 
Gordon morrison temporalengineering-delphi-v3
Gordon Morrison
 
Online Workflow Management and Performance Analysis with Stampede
Dan Gunter
 
A Rule-­‐based Calculus and Processing of Complex Events
RuleML
 
"Final fsFighting Complex Application State Management with Finite-State Mach...
Fwdays
 
09 workflow
ashish61_scs
 
Functional solid
Matt Stine
 
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Universität Rostock
 
Introduction To Windows Workflow Foundation 4.0
Melick Baranasooriya
 
Solving problems by searching
Luigi Ceccaroni
 
Meta edit calc execution v3
Gordon Morrison
 
Back-annotation of Simulation Traces with Change-Driven Model Transformations
Ábel Hegedüs
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Porfirio Tramontana
 
Verification with LoLA: 4 Using LoLA
Universität Rostock
 
Nist cosa-foundation v7
Gordon Morrison
 
Techniques and Tools for Rich Internet Applications Testing
Porfirio Tramontana
 
FAIR Computational Workflows
Carole Goble
 
The State Machine Compiler
François Perrad
 
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
virtual-campus
 
Pal gov.tutorial1.session13 14
Mustafa Jarrar
 
Dominic Maes - Testing "slow flows" Fast, Automated End-2-End Testing using i...
TEST Huddle
 
Ad

More from Gordon Morrison (9)

DOCX
Processing data using regular expressions
Gordon Morrison
 
PDF
Extract Translae Load by-the-numbers
Gordon Morrison
 
PDF
Black capped night heron v1
Gordon Morrison
 
PDF
NIST COSA-Foundation Software
Gordon Morrison
 
PDF
Cosa movie v8 handout
Gordon Morrison
 
PPT
It wasn’t the if-
Gordon Morrison
 
PDF
Cosa top down
Gordon Morrison
 
PDF
A true state machine
Gordon Morrison
 
PDF
New Cosa Movie V8
Gordon Morrison
 
Processing data using regular expressions
Gordon Morrison
 
Extract Translae Load by-the-numbers
Gordon Morrison
 
Black capped night heron v1
Gordon Morrison
 
NIST COSA-Foundation Software
Gordon Morrison
 
Cosa movie v8 handout
Gordon Morrison
 
It wasn’t the if-
Gordon Morrison
 
Cosa top down
Gordon Morrison
 
A true state machine
Gordon Morrison
 
New Cosa Movie V8
Gordon Morrison
 

Recently uploaded (20)

PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 

workflow in temporal state machine v1

  • 1. Basic B i COSA Workflow Example W kfl E l in a Temporal State Machine GORDON MORRISON [email protected] www.vsmerlot.com 7/11/2010
  • 2. What is workflow?  Workflow is understanding the rules and steps that g p define the process of work being performed  Workflow rules require understanding the temporal relationships of binary states, their true or false behaviors and their respective true or false next state transitions. transitions  Workflow requires the proper placement of detail in abstraction. abstraction www.vsmerlot.com 7/11/2010
  • 3. Examples  Processing any event g y  Processing documents, languages, or databases  User interactions with systems y www.vsmerlot.com 7/11/2010
  • 4. Things common to workflow  All have a temporal basis p  All are based on rules that have one or more steps  All have rules/steps that consist of states that have / p true and false behaviors  Some states do nothing but transition to another state  In temporal logic rules/steps/states do one thing  It’s done well  It’s coherent www.vsmerlot.com 7/11/2010
  • 5. Temporal State Machine  Temporal State Machine  While (Engine) {  If(this->table(iTime).f_State())  This->table(iTime).TrueBehavior() T TrueTrace = Thi T This->table(iTime).trace; bl (iTi )  iTime = table(iTime).NextTrueTime;  Else  This->table(iTime).FalseBehavior();  FalseTrace = This->table(iTime).trace;  iTime = table(iTime).NextFalseTime; }  }  Table is defined on the next slide www.vsmerlot.com 7/11/2010
  • 6. www.vsmerlot.com  The temporal state machine refers to this logic table, p g , the seven columns are:  Rule name or step displacement  Function testing state i i  True behavior  Next true behavior to execute  False behavior  Next false behavior to execute  Trace www.vsmerlot.com 7/11/2010
  • 7. A Workflow Example  RULE TEST STATE TRUE B NEXT T FALSE B NEXT F TRACE  rStateMach, rStateMach f_Initial, f Initial pCreate, pCreate +1 +1, Ignore, Ignore rError, rError 1000  +1, f_Status, pCreated, rReady, pNotCreated, rError, 1001  rReady, f_Approved, pApproved, rAction, Ignore, +1, 2000  +1, f_Rejected, pRejected, rDone, Ignore, +2, 2001  +2 f_Cancelled, f Cancelled pCanceled, Done pCanceled rDone, Igno e Ignore, rError, E o 2002  rAction, f_Act1, … 4000  rDone, f_Done, … 9000  rError, f_Error, … f 9086 www.vsmerlot.com 7/11/2010
  • 8. State Machine Interfaces  temporalMachine.approve; p pp ;  Moves the temporal pointer  temporalMachine.cancelled;  Moves the temporal pointer to canceled  Tests the status  Returns a Boolean result www.vsmerlot.com 7/11/2010
  • 9. Rules  Rules define the workflow  Rules are defined in the state machine workflow table  Each row requires that each column have an entry  Every state has a true and false behavior  Every state h a true and f l next b h i has d false behavior  Guards are defined as complete rules  L i fl Logic-flow is separate from d t fl i t f data-flow www.vsmerlot.com 7/11/2010
  • 10. Rules are Complete  Rules consist of one or more steps p  Each step is a row in the logic table  Rules are only entered at their beginning  Rules allow looping within the rule  Rules can exit from anywhere within the rule  Rules are not nested  Rules are located in time with the workflow  When Wh an action i approved i is d  Next rule or step is ready for test www.vsmerlot.com 7/11/2010
  • 11. Nested Temporal State Engines  Another Temporal Engine can be called from a rule p g  Another object can be created from a rule  Another thread can be created from a rule www.vsmerlot.com 7/11/2010
  • 12. The Temporal Pointer  Managed by the Temporal Engine: g y p g  Can be set to the zero rule on each entry  Can be left at the last rule or step used  C Can be provided as an argument when the T b id d h h Temporal E i i l Engine is called or reentered www.vsmerlot.com 7/11/2010
  • 13. Trace / Audit is Inherent  The Temporal Engine Provides a: p g  True trace for every state/step  False trace for every state/step  The trace can always be on  Or the trace can be dynamically bound  Turned on or turned off at runtime d d ff i www.vsmerlot.com 7/11/2010
  • 14. Breaking the Time Barrier www.vsmerlot.com 7/11/2010
  • 15. A Temporal Understanding Question: What are the five most importing things in creating quality software? i li f  1) Temporal Logic  Reduced complexity  2) Temporal Logic  Improved quality  3) Temporal L i )T l Logic  Greater performance  4) Detail  The devil lives here don’t get carried away with abstraction  5) Abstraction  It s It’s important but to much has caused many a project to fail www.vsmerlot.com 7/11/2010