Skip to content

Latest commit

 

History

History
823 lines (625 loc) · 29.2 KB

compute-space.md

File metadata and controls

823 lines (625 loc) · 29.2 KB

spaces and flows

Notes on representing information & processes in virtual space; a collection of computing cosmogenies.

field survey

DOM

element tree. events bubble from root up the tree then down.

node-red

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

noflo

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.

node-machine

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

mozilla WoT capabilities

IoT service with basic ReST interface

Defines a https://iot.mozilla.org/schemas/ JSON-LD context. Capabilities (MotionSensor), Properties (OnOffProperty), Actions (ToggleAction), events (AlarmEvent).

OpenServiceBroker

interface between platforms & service brokers. service broker advertises catalog of services & plans.

Wayland

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

SOLID

  • WebID
  • JSON-LD

OpenAPI

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

LwM2M

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:

UPnP

auto-confniguring network protocol for home net services.

  • DHCP/AutoIP
  • SSDP discovery
  • description xml
  • soap control
  • GENA eventing (multicast

Second Screen protocol

Systemd

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

CloudEvents defines abstract data for events.

required:

  • id
  • source (uri)
  • specversion
  • type

optional:

  • datacontentencoding
  • datacontenttype
  • dataschema
  • subject
  • time
  • "data"

WSDL

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

Corba

UML

UML

jPDL

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

Process Definition Interface

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

BPAF

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

BM*

BPMN

BPDM

BMM

Business Motivation Model 1.0

  • 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

OASIS

https://www.oasis-open.org/standards

committee:

Interesting random models:

BPEL

"Process orchestration". Primer

WSBPEL

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

XRD

Extensible Resource Descriptor and schema

  • xml:id
  • Expires
  • Subject
  • Alias
  • Property
  • Link
  • ds:Signature
  • Title

UDDI 3.0

Universal Description Discovery and Integration and schema.

BPSS

UBL 2.0

Petri-Nets

Workflow Nets

YAWL Eindhoven

Event Driven Process Chain

EPC cheat sheet

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

OpenTelemetry

OpenMetrics

Open Application Model

Jini/ApacheRiver/JavaSpaces

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

Service Modeling Language

Applications as instances of models,

wf-net

SORCER

Service ORiented Computing EnviRonment

Everything anywhere/anytime (AWAT) as a service for you (EaaaaSY)

sorcer site, papers

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.

workflow-nets

a petri-net

causal-nets

elaboration on workflow nets that show

xstate & scxml

state-charts

workflow management coalition (WfMC)

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

mxml

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

model

WorkflowLog has Processes Process has ProcessInstances ProcessInstance composes AuditTrailEntry audit-trail-entry composes WorkflowModelElements process aggregates WorkflowModelElements

xes

Extensible event system

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

OMG Workflow Facility

XPLD

Workflow Process Definition Language (WPDL)

Process Interchange Framework (PIF)

1.0, but there was a 1.2 document.

entities:

  • activity
    • decision
  • object
    • agent
  • timepoint
  • relation
    • creates
    • modifies
    • performs
    • users
    • before
    • successor
    • activity-status

Process Specification Langauge - PSL

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

w3c distributed-tracing

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.

Yet Another Workflow Language (YAWL)

yawl maintains a book, and is an integrated IDE.

Workflow Patterns

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 (PM)

Process Model Ontology is an ontology for processes. Extends Information Based Information System (bis).

model

  • Task
  • Action
  • Method
  • Event
  • Position
  • State
  • Target
  • budget
  • initiates
  • subtask
  • receipient
  • responsible
  • performer
  • variant
  • desires
  • outcome
  • context

IBIS

  • Issue
  • Argument
  • Position
  • Network
  • concerns
  • questions
  • suggests
  • generalizes/specializes
  • replaces
  • endorses
  • supports
  • skos:Concept
  • skos:conceptScheme
  • foaf:Agent

airflow

cadence

argo workflow

  • step = container
  • dag of tasks
  • loops
  • parameterization
  • conditionals
  • timeouts, retry (step & workflow level)
  • resubmit
  • suspend/resume/cancel
  • works with other kubernetes objects
  • exit hooks

micro-profile long running actions

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

Huginn

"Agents that monitor and act on your behalf". Huginn

Examples they list: scraping, feeds, connections to mq/chat, webhooks, running js

Sockethub

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