Notes on representing information & processes in virtual space; a collection of computing cosmogenies.
element tree. events bubble from root up the tree then down.
Flow based programming system
Components are JS functions that call the node-red api to send/receive/reply. At most one input port (?) and multiple output ports.
Flows are diagrams of wired componenets. Context Configuration Node
Flow-based programming system
getComponents()
export is used to define noflo Components. Components define:
- description/icon
- inPorts/outPorts ports extend EventEmitter, with a datatype
- process ** input with hasData/getData/hasStream ** output with send/done
Information Packet/IP is transmitted through. A stream is designated via an openBracket & closeBracket packet. Cloneable is an option. Schema, scope, datatype, owner, cloneable, port-index metadata.
A userland abstraction for processes:
- friendlyName/description/extendedDescription/moreInfoUrl/sideEffects (string)/sync
- inputs object ** friendlyName/description/extendedDescription/moreInfoUrl/sideEffects again ** required/example/whereToGet
- exits ** name ** outputFriendlyName/outputDescription/description/moreInfoUrl/extendedDescription
- fn(inputs, exits) the thing itself
IoT service with basic ReST interface
Defines a https://iot.mozilla.org/schemas/
JSON-LD context. Capabilities (MotionSensor), Properties (OnOffProperty), Actions (ToggleAction), events (AlarmEvent).
interface between platforms & service brokers. service broker advertises catalog of services & plans.
Display server, hosts a number of uniquely identified objects talked to over Wayland protocol. Object types:
- wl_display
- wl_registry - the registry singleton
- wl_callback - callback object
- wl_compositor - compositor singleton
- wl_shm_pool - shared memory pool
- wl_shm
- wl_buffer - content for a wl_surface
- wl_data_offer - offer to transfer data
- wl_data_source - offer to transfer data
- wl_data_device - data transfer device
- wl_data_device_manager - data transfer interface
- wl_shell - replaced by xdg_shell
- wl_shell_surface - desktop style metadata interface
- wl_surface - an onscreen interface
- wl_seat - group of input devices
- wl_pointer - pointer input device
- wl_keyboard - keyboard input device
- wl_touch - touchscreen input device
- wl_output - compositor output region
- wl_region
- wl_subcompositor - subsurface compositing
- wl_surface - subsurface interface to a wl_surface
- WebID
- JSON-LD
Define apis.
Uses JSON-Schema for schemas, JSON Reference for Reference object.
object types:
- info
- contact
- license
- server - url, desc, vars
- server variable - enum array, default
- components - schemas, responses, parameters, examples, requestBodies, headers, securitySchemes, links, callbacks
- paths
- path item - http verb "operation", servers, parameters
- operation
- external docs
- parameter
- request body
- media type
- encoding
- responses
- response
- callback
- Example
- link
- header
- tag
- reference
- schema - json schema
- discriminator
- xml
- security scheme
- oauth flows
- oauth flow
- security requirements
Lightweight Machine-to-Machine is a COAP protocol for rpc &c. Has a big registry of defined object types. Data Input objects and Log objects well represented.
client objects bootstrap themselves with the server to come online.
Some interesting specs:
- EventLog
- SoftwareManagement with update state/supportd objects/result, checkpoint, activate, package settings
- Virtual Observe/Notify defines ObserveLinks which fire Reports
- oA Basic Control: "ghost mode", executing object, resource injection
auto-confniguring network protocol for home net services.
- DHCP/AutoIP
- SSDP discovery
- description xml
- soap control
- GENA eventing (multicast
Master control process for a Linux system, manages all programs running. Has a variety of abstractions.
Manager, the singleton representing systemd daemon at large:
- units: running things. list units, get units, start unit, start unit replace, stop unit, reload unit, restart unit, try restart unit, reload or restart unit, reload or try restart unit, kill unit, set unit properties, start transient unit, signal: new, removed
- unit files: list unit files, get unit file state, enable unit files, disable, reenable, link, preset, mask, unmask, signal changed
- job: single-shot executions. get job, cancel job, clear jobs. signal: new, removed
- snapshot: file system checkpoints? create, remove
- general: reload, reexecute, exit, reboot, poweroff, halt, kexec, switchroot, signal: startup finished, reloading.
- environment: set environment, unset environment, unset and set
- target: set default, get default
- props: version, features, tainted, firmware timestamp, loader timestamp, kernel timestamp, initrd timestamp, usrspace timestamp, finish timestmap, generators start/finish timestmap, units loads start/finish timestamp, security start/finish timestamp, loglevel (rw), nnames, njobs, ninstalled jobs, n failed jobs, progress, environment, confirm spawn, show status, unit path, default std out/stderr, runtime watchdog usec, virtualization, arch
Unit, a systemd resource of some kind
- lifecycle: start/stop/reload/restart/tryrestart/reload restart/ reload or try restart/kill/ reset failed/ set properties
- props: id, name, following, requires, requiresoverridable, requisite, requisiteoverridable, wants, bindsto, partof, required by, requiredbyoverrides...
Unit types:
- serivce: a resident daemon.
- socket: an endpoint which will be passed to the service, potentially starting the service on demand.
- device: a system device
- mount: information about how file systems are mounted
- automount: a link to automatically create a mount on demand
- swap
- target: a grouping of units with a well known synchronization point
- path: a file path
- timer: a cron like regularly running thing
- slice: hierharchitically managed resources of a group of processes
- scope
CloudEvents defines abstract data for events.
required:
- id
- source (uri)
- specversion
- type
optional:
- datacontentencoding
- datacontenttype
- dataschema
- subject
- time
- "data"
WSDL:
- type schemas, with elememnts
- messages, with typed parts. abstract.
- operation, with input/output/part. abstract.
- portType, holding operation
- binding, holding operations
- service, with port
Processing language/format
jBPM Process Definition Language models jBPM, chiefly it's Process Modelling.
- Node: enter/execute/leave ExecutionContext, from/to Transition which "take" ExecutionContext to run
- State, Start/End state
- Task node
- process state
- super state
- fork/join/decision
- Event
- Transition
- Action
- Script
- Expression
- Variable
- Handler
- Timer/create/cancel
- Task: blocking, signalling, swim lane, priority, assignment, event, exception, timer, controller
- Swim lane
- Assignment: expression, actor-id, pooled-actors, class, config-type
- Controller: class, config-type, variable
- Sub-process
- Condition
- Exception Handler
XPDL & BPMN examples
process: data association, dataobject, data-field, type-decl, data-store data association activity: application/participant performer, lane task-tool/blockactivity/route-gateway/subflow/event pool: holds swimlanes, events occur within application/participant/artifact message/message-flow aassociation: associate info/artifacts with flow-objects artifact: data-object/group/annotation resource-repo data-field
Business Process Analytics Format
- open: ready/not-running (ready/assigned/reserved)/in-progress, suspended flag
- closed: cancelled (error/exited/obsolete, aborted/terminated)/completed (sucess/failed)
General info:
- EventID
- Timestamp
- ServerID
Process Context:
- ProcessDefinitionID
- ProcessInstanceID
- ProcessName
Activity Context:
- ActivityDefinitionID
- ActivityInstanceID
- ActivityName
EventDetails sequence:
- CurrentState
- PreviousState
- DataElement
- End: categories, vision, desired, goal, objective, facts
- Mean: category, mission, course of action, strategy, tactic, directive, rule enforcement level, directives/regulation, buisness policy, facts
- Course of Action
- Directive
- Influences: categories, org, directive, assessmenet, potential impact
- Assessments
- External model elements
- OU
- Business Process
- Business Rule
- Association between concepts
https://www.oasis-open.org/standards
- Content Managmeent Interoperability Service (CMIS)
- Directory Services Markup Language (DSML) 2, schema
- ebXML Business Process Spec
- SAML
- Extensible Access Control Markup Language 3 (XACML), json
- Key Managmeent Interoperability Protocol (KMIP)
- MQTT
- OData
- Service Metadata Publishing (SMP)
- Serviec Provisioning Markup Language (SPML)
- Solution Deployment Descriptor
- Test Assertions Model
- Symptoms Automation Framework
- Topology and Orchestration Specificaiton for Cloud Applications (TOSCA). nodes, requirements/capabilities, templates, nodes, relationships, artifacts, policy
- Universal Business Language 2.2
- Unstructured Information Management Architecture (UIMA)
- WS-Context
- WS Distribution Management
- WS-Discovery
- WS-Federation
- WS-notification, ws-brokered-notification, ws-topics
- ws-reliable
- ws-service-resource-framework (WSRF): ws-resource, ws-resource-properties, ws-resource-lifetime, ws-service-group, ws-base-faults
- ws-remote-portlet
- ws-transaction, ws-atomic-transaction, ws-business-activity
- ws-security-policy
- ws-trust
- xml interchange language for system dynamics (XMILE)
committee:
- ws-Basic Profile
- classification of everyday living (coel) and 2
- Cloud Applicaiton Managmeent For Platforms (CAMP)
- digital Signature Service Core (DSS-X), metadata
- Identity Provider Discovery Service Protocol & Profile
- OSLC
Interesting random models:
- Election Markup Language 5.0 (EML)
- Electronic Court Filing
- Emergency Data Exchange, dist element, sitrep
- Energy Interoperation price, reliability, emergency, bids, load
- Energy Market Information Exchange
- Field Force Managmeent Integration Interface
"Process orchestration". Primer
Verbs:
- invoke
- receive -- sources, correlation
- reply
- assign (to a variable)
- throw
- wait
- terminate
- compensate
- validate
- empty
Things:
- partnerLink thing being interacted with, has roles, portType.
- Variable
- fault handler
- correlation
Control Flow:
- Sequence (sequential)
- Flow (parallel activities)
- Switch (branch)
- While (loop), repeatUntil, forEach
- Pick
Extensible Resource Descriptor and schema
- xml:id
- Expires
- Subject
- Alias
- Property
- Link
- ds:Signature
- Title
Universal Description Discovery and Integration and schema.
Event-driven process chain: model of business process Value-add chain diagram: detail procedural level
Event - state that controls or influences progression of a process. trigger functions, are result of functions Function - task or activity performed to deliver outputs / support objective
Connectors: split/join. xor/and/or Linking/hierarchy:
- process interfaces: link EPCs horizontally
- low level EPCs: vertical link
org: ou, position, role, group raci/rasci connections:
- responsible -> carries out
- accountable -> decides on
- supportive -> contributes to
- consulted -> has consulting role
- informed -> must be informed about
Data & risk:
- information carrier: stores knowledge/data
- cluster: collection of entity types representing business objects
- kpi: degree of goal acomplished
- risk: possible danger or hazard
- business policy: directive, to guide/govern
- requirement: documented need
Enterprise architecture:
- application system type: the software system to support execution of a function
- application system: represent a concrete identifiable applicaiton system within a company
- software roboto is app system type that carries out function autonomously (rpa)
- attended software robot: software robot (RPA) that requires intervention
- iot object: what it says
Gigaspaces' Intro to Jini docs
Jini defines:
- Lookup service - registry system
- Discovery & join
- Entry interface. Core construct to enable three operations: ** store ** match ** fetch
- Leasing
- Remote Events ** registrant registers listener with generator ** generator returns registration for registrant/listener ** registrant returns registration to the listener ** generator fires event to listener
- Transaction Processing Service
Applications as instances of models,
Service ORiented Computing EnviRonment
Everything anywhere/anytime (AWAT) as a service for you (EaaaaSY)
A service mogram represents a service model that is executed by a dynamic federation of services. In other words a mogram exerts the collaborating service providers in a service federation created at runtime as specified by the mogram. Mograms are written in the Service Modeling Language (SML) that consists of two parts: Context Modeling Language (CML) and Exertion-Oriented Language (EOL). The former is used to specify data models (data contexts) for exertions and collections of interrelated functional compositions - context models. While CML is used for declarative service-oriented programming, EOL is focused on object-oriented composites of services - exertions. A model is a declarative representation of something, especially a system, phenomenon, or service that accounts for its properties and is used to study its characteristics expressed in terms of service variables associated with functional compositions.
- context ** aggregates multipled named "entries" aka variables ** subcontexts
- entry
- name/value pair ** can be tagged input/output ** can be referential ** optionally positional
- model ** again an aggregation of entries ** itself can be value()'d / run ** return can be a context ** "active relationships between entries that can implement Evaluation interface" ** "in contrast to data contexts, an ent-model entry is evaluated and then the value of the entry of the Evaluation type is getValue()" ** itself is evaluated
- par-model?
- srv-model ** from running exert() on a mogram ** mogram is result of a service ** exertions, context, data contexts are all mograms ** therefore all can provide services for srv-model
Exertion-oriented Language (EOL) ... is a metamodel in the form of collection of concepts that are the vocabulary with which you are talking about creating and requesting services.
a petri-net
elaboration on workflow nets that show
state-charts
workflow management coalition model doc. has pre
defines pieces of a model, and talks to the pieces, and some times has specs for these interfaces. "workflow api" (wapi)
workflow reference model:
- workflow enactment service
- this is the core "executor" which has the various interfaces
The workflow enactment service provides the run-time environment in which process instantiationand activation occurs, utilising one or more workflow management engines, responsible forinterpreting and activating part, or all, of the process definition and interacting with the externalresources necessary to process the various activities.
- process definition - see: WPLD ** workflow type definition ** activity ** workflow relevant data ** invoked application ** transition conditions ** role
- workflow client functions
- invoked application functions
- workflow interoperability
- systems administration
- user management
- role management
- audit management
- resource control
- process supervisory functions
from a meta model for process mining data
Modern process-aware information systems store detailed in-formation about processes as they are being executed. This kind of infor-mation can be used for very different purposes. The termprocess miningrefers to the techniques and tools to extract knowledge (e.g., in the formof models) from this.
We give the requirements for the datathat should be available, both informally and formally. Furthermore, weback our meta model up with an XML format called MXML
- cites WFMC's model & particularly the systems admin "interface 5"
- thesis also begat the process mining tool ProM
WorkflowLog has Processes Process has ProcessInstances ProcessInstance composes AuditTrailEntry audit-trail-entry composes WorkflowModelElements process aggregates WorkflowModelElements
The XES standard defines a grammar for a tag-based language whose aim is to provide designers of information systems with a unified and extensible methodology for capturing systems behaviors by means of event logs and event streams is defined in the XES standard.
It's own xml-schema system for defining log schemas, with a variety of extensions. also has a processing model.
log has traces traces have event events aggregate a set of attributes. attributes on log are "global" attributes to events. attributes can either be simple things (string, date, boolean, id), or lists/containers nested attributes classifiers fire "activity"
calls MXML it's precedessor
Also defines extensions for various tasks:
- artifact lifecycle
- concept
- cost ** total ** drivers ** currency ** amount ** type
- identity ** id
- lifecycle ** model ** transition ** state
- micro ** level ** parentId ** length
- organizational
- semantic
- software communication
- software event
- exhaustive caller/callee field
- return value
- app
- name
- tier
- node
- session
- ex thrown/caught
- params / param value
- value-type
- software telemetry
- time
1.0, but there was a 1.2 document.
entities:
- activity
- decision
- object
- agent
- timepoint
- relation
- creates
- modifies
- performs
- users
- before
- successor
- activity-status
NIST spec, has overview, "essence" & "ontology". Describes fundamental process of manufacturing processes.
claims relations to: A Language forProcess Specification (ALPS) Project the Toronto Virtual Enterprise (TOVE) the Enterprise Ontology Project Core Plan Representation (CPR)
claims collaboration with with
- Shared Planningand Activity Representation (SPAR)
- the Process Interchange Format (PIF)
- WorkFlow Management Coalition (WfMC)
model:
- psl core
- subactivity
- activity-occurrences
- states
- integer and durations
- ordering & relations of activities
- ordering & relations of complex sequences of activities
- nondeterministic actions
- reasonsing about state
- internal activities
- temporal ordering relationships
- junctions
distributed tracing wg maintains trace context and a trace context registry spec.
From an explainer article's section Context propagation: Core building block of distributed tracing,
In order to make distributed tracing work, we need a way to pass context information from one transaction to the next. Such transaction context, or simply “context” for short, is represented by one or more unique identifiers that enable linkage between the client-side and the server-side of each transaction.
yawl maintains a book, and is an integrated IDE.
workflow patterns has patterns & evaluations of workflow systems.
- data
- resource
- control-flow
- exception
- presentation
- event-log imperfections
- bpel
- bpmn
- xpdl
- uml
- epc
Process Model Ontology is an ontology for processes. Extends Information Based Information System (bis).
- Task
- Action
- Method
- Event
- Position
- State
- Target
- budget
- initiates
- subtask
- receipient
- responsible
- performer
- variant
- desires
- outcome
- context
- Issue
- Argument
- Position
- Network
- concerns
- questions
- suggests
- generalizes/specializes
- replaces
- endorses
- supports
- skos:Concept
- skos:conceptScheme
- foaf:Agent
- step = container
- dag of tasks
- loops
- parameterization
- conditionals
- timeouts, retry (step & workflow level)
- resubmit
- suspend/resume/cancel
- works with other kubernetes objects
- exit hooks
Eclipse project for long running actions, based off OASIS Web Services Composite Application Framework Technical Committee's Long Running Action transaction model.
LRA States:
- Active
- Cacnelling
- Cancelled
- FailedToCancel - participant's compensation failed
- Closing
- Closed
- FailedToClose - participant's complete failed
Enlisted states:
- Active
- Compensationg
- FailedToCompensate
- Compensated
- Completing
- FailedToComplete
- Completed
"Agents that monitor and act on your behalf". Huginn
Examples they list: scraping, feeds, connections to mq/chat, webhooks, running js
ActivityStreams & redis based central "messaging system for social and other interactive messaging applications."
"Transaction layer for web applications to communicate wiht other protocols & services" -About