Successfully reported this slideshow.
Your SlideShare is downloading. ×

Sepro - introduction

Loading in …3

Check these out next

1 of 41 Ad

More Related Content

Similar to Sepro - introduction (20)

More from Stefan Urbanek (20)


Recently uploaded (20)

Sepro - introduction

  1. 1. SEPRO System for modeling and simulation of qualitative network dynamics Stefan Urbanek – – @Stiivi Jan 2018
  2. 2. INSPIRATION ▪︎ Biochemistry – receptors
  3. 3. OBJECTIVES ▪︎ Test alternative approach for simulation of network problems ▪︎ Examine possibility of purely qualitative approach ▪︎ Find primitives of non-conventional computation of network problem solving ▪︎ Develop a simulator prototype and set of models that demonstrate the system
  4. 4. SYSTEM DESIGN PRINCIPLES ▪︎ Completeness and clarity of model description ▪︎ Minimal set of assumptions ▪︎ No explicit control flow ▪︎ Iterative simulation and parallel in nature
  5. 5. THE MODEL Basic Concepts
  6. 6. Model observation initial structure concepts (symbol semantics) actuators graph probes metadata
  7. 7. MODEL ▪︎ Simulated universe is a directed graph of objects ▪︎ Objects have only qualitative properties ▪︎ State transition is triggered either by existing state or potential interaction of two objects ▪︎ State changes can happen only locally* to the transitioning or interacting objects * graph distance of 1; see “Local Context” later
  8. 8. OBJECT slot s3 s2 s1 t3 t1 t2 t4 tags Indivisible entity representing an instance of relevant concept within simulated universe.
  9. 9. TAG t3 t1 t2 t4 tags Qualitative property of an object. State of an object is denoted by a set of tags.
  10. 10. SLOT slot s3 s2 s1 Slots are properties of an objects that reference other objects. Slots represent a directed labelled edge of the object graph.
  11. 11. NETWORK STRUCTURES chain triplet tree cycle STRUCT slot west slot south target west south Examples
  12. 12. MODEL DYNAMICS object state changes and graph modification
  13. 13. CONCEPTS ▪︎ Actuator – atomic description of state change ▪︎ Selector – match pattern for objects subject to transition ▪︎ Transition/Modifier – description of state change affects either object’s state or local* relationships * graph distance of 1; see “Local Context” later
  14. 14. “LOCAL” CONTEXT p selected a c b indirect a indirect b out of sight out of sight out of sight q r Design limitation (intentional): Object state and graph transitions can happen only within distance of 1 from the selected object.
  15. 15. ACTUATORS selector this WHERE DO modifiers control selector modifiersselector this other controlWHERE ON DO unary binary transition of object’s state and local* relationships based on previous object’s state transition of state of either of two objects based on states of objects in a tuple from a cartesian product of specific objects
  16. 16. SELECTOR evaluated t1 t2 t1 t2 may be selected tested dereferenced slot WHERE IN … evaluated may be selected t1 t2 tested … evaluated WHERE … SET tags UNSET tags BOUND slots UNBOUND slots direct indirect – distance 1
  17. 17. SELECTOR TESTS ▪︎ SET: all of selector tags are associated with an object true if selector’s tags ⊂ object’s tags ▪︎ UNSET: none of selector tags are associated with an object true if object’s tags ∩ selector’s tags = ∅ ▪︎ BOUND: graph contains an edge from selector’s slots ▪︎ UNBOUND: graph does not contain an edge from selector’s slots
  18. 18. MODIFIERS State and structure mutation
  19. 19. STATE MODIFIER ▪︎ SET tags: associate set of tag symbols with an object result = object tags ∪ modifier tags ▪︎ UNSET tags: disassociate set of tag symbols with an object result = object tags - modifier tags
  20. 20. GRAPH EDGE MODIFIERS ▪︎ BIND slot reference → target create an edge in the graph ▪︎ UNBIND slot reference remove an edge in the graph
  21. 21. UNARY BINDING MODIFIER unbind direct subject u IN t s s t t s s t t s t u s u IN ts t u s -> THIS s -> t s -> t.u THISthis this this this this t this t u u t t s -> NONE self-bind clone pull t unbind indirect subject s u t u this.t s s.u -> THIS s.u -> t this this.s s uthis s this this.s t u this.t s this s back-self connect
  22. 22. BINARY BINDING MODIFIER direct subject sshand handother otherjoin other IN LEFT s -> OTHER IN RIGHT s -> OTHER Intentionally unavailable state transitions of binary modifiers by design: unbind – combination of binary state change and unary modifier indirect – combination of binary direct subject, state change and unary modifier
  23. 23. OF MODIFIERS ▪︎ Proposed modifiers are assumed to be sufficient to achieve any potential graph configuration. ▪︎ All state changes beyond distance of 1 from the selected object must be composed of multiple transitions that propagate through the network. ▪︎ Susceptibility to being affected by other actuators along the way is intended design feature.
  24. 24. ACTUATORS – PRINCIPLES ▪︎ Order of applying actuators is not predetermined ▪︎ Order of actuators being applied might affect some simulations
  25. 25. CONTROL SIGNALLING ▪︎ NOTIFY: signal (symbols) to the simulator without interruption Use case: monitor reached goals; trigger/start/stop measurement; visualize a state of interest ▪︎ TRAP: signal (symbols) and interrupt the simulator (resumable) Use case: goal reached and user interaction is expected; a product has been created ▪︎ HALT: signal to the simulator and interrupt (non-resumable) Use case: invalid state has been reached, resuming the simulation might yield non-sensical results
  26. 26. MODIFIERS SUMMARY BIND slot → NONE BIND slot → OTHER BIND slot → OTHER.target_slot BIND indirect.slot → NONE BIND indirect.slot → OTHER BIND indirect.slot → OTHER.target_slot BIND slot → NONE BIND slot → SELF BIND slot → target_slot BIND slot → t.w BIND indirect.slot → NONE BIND indirect.slot → SELF BIND indirect.slot → target_stlot BIND indirect.s → t.w binary unary
  27. 27. EXAMPLE: “LINKER” Model example in Sepro 2014-16 prototype
  28. 28. Objective: Build a chain of elements. Components: - links to be chained - object binding two links together Catch: Introduce fake link component and observe what happens.
  29. 29. OBJECTS linker left right link next CONCEPT linker TAG ready SLOT left, right CONCEPT link TAG free SLOT next CONCEPT fault # We pretend to be a link, but there is no 'next' slot TAG link, free Sepro 2016
  30. 30. ACTUATORS WHERE linker AND NOT BOUND left ON link, free DO BIND left TO other IN other UNSET free SET one WHERE one ON link AND free DO BIND right TO other IN other UNSET free UNSET one SET two Reminder: although this model works as it is, we don’t know how it will behave when composed with other actuators. WHERE two DO IN this.left BIND next TO this.right UNSET two SET advance WHERE advance DO BIND left TO this.right UNSET advance SET cleanup WHERE cleanup DO UNBIND right UNSET cleanup SET one Sepro 2016
  31. 31. WORLD WORLD main OBJECT fault OBJECT link * 35 OBJECT linker * 3 Sepro 2016
  32. 32. RESULT1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
  34. 34. COUNTERS slot s3 s2 s1 t3 t1 t2 t4 c1 c2 c3 counters tags t1 t3t2 … c1 c2 Tags: Counters: Slots: s1 s2 s3 c3 ↓ ↓ ↓ qualitative quantitative relational REJECTED Quantitative properties
  35. 35. ROOT OBJECT ▪︎ Single object referred to as ROOT from anywhere in the simulation. ▪︎ Can be tested for and can be acted upon. ▪︎ Rejected due to potential abuse for globally accessible state which would defeat the whole purpose of the system to be based on local interactions. REJECTED
  36. 36. SEPRO 2018
  37. 37. SEPRO 2018 GOALS ▪︎ Simplified and formalized selectors and modifiers ▪︎ Removed redundancy – focus on primitives ▪︎ Prototype/referential implementation
  38. 38. Unary Actuator Binary Actuator Selector Structure Relationship [Symbol:Prototype]prototypes relationships Prototype {Symbol}tags Relationship Symbol Symbol Symbol to slot from Unary Actuator Control [Subject Mode: Unary Transition] Selector control selector transitions Control Bool {Symbol} {Symbol} halts traps notifications Selector ∑ Selector Patternmatch all match Unary Target ∑ Slot subject indirect in subject unbind slot Slotin Slotslot Unary Transition [Symbol:Unary Target] Symbol Mask bindings tags Constraint: if Effective Slot is indirect, target mode must not be indirect. Binary Transition [Symbol:Binary Target] Symbol Mask bindings tags Binary Actuator Control [Subject Mode: Binary Transition] [Subject Mode: Binary Transition] Selector Selector control right transitions left transitions left selector right selector Binary Target ∑ Slot other in other unbind slot Model [Symbol:Binary Actuator] [Symbol:SymbolType] [Symbol:Unary Actuator] [Symbol:Structure] binary actuators symbols unary actuators structures Presence ∑ present absent s → none s → self s → t s → t.w i.s → none i.s → self i.s → t i.s → t.w s → none s → other s → other.t i.s → none i.s → other i.s → other.t Structure {Type} [Type:Type] [Type] Type? Type set dictionary array optional base Sum Type ∑ case 2 case 1 Symbol Type ∑ slot tag label Legend Sepro-18 Entities Selector Pattern Symbol Mask Symbol Mask slots tags Symbol Mask [Symbol:Presence]mask Subject Mode ∑ Slotindirect direct slot left right controlWHERE ON IN LEFT IN RIGHT left target right target transitions transitionsselector selector this WHERE IN THIS controlselector transition this target
  39. 39. FUTURE
  40. 40. ▪︎ Model composition Merging actuators and concepts from multiple models together into one. ▪︎ Constraints Spatial or other constraints for selectors, for example grids. ▪︎ Symbol abstraction/inheritance Classification of symbols (primarily for tags) into hierarchies. Example: test for liquid would match water if such hierarchical association exists.
  41. 41. “SCI-FI” ▪︎ establish equivalence of Sepro primitives (virtual) and physical systems