MCP-CMS
mcpcms
conversational monitoring system
DCP Shell
launch — an MCP cell ¹ provisioned by DCP per your current context. ²
This page has an audio track, mouseover for title/credit.
Semantic Roadmap
- 0.3.0 4721-04-17 1st ed. tl;dr story.†
- 0.9.0 07y-mm-dd LAN and cloud provisioning for network nodes.
- 1.0.0 07y-mm-dd BaselineOfDCP (provisions FRED instances).
- 1.1.0 07y-mm-dd Transparent Ledger (Books), DCP live in wild.
- 1.2.0 07y-mm-dd BaselineOfWFL.
- 1.3.0 07y-mm-dd ∫ x 𝔻 ∂ DS, stable boot KEE SPA.
- 2.0.0 07y-mm-dd 2nd ed. tl;dr story (feat: visual programming/execution), 1st WFL w integral DGUI IDE.
- 2.1.0 07y-mm-dd ∫ VM (CMS, MVS) / DCP ∂ DS, the MF-One story.
- 3.0.0 08y-mm-dd Mature DDD/KEE product.
¹ Resource limits are dynamically set except for F class which always gets the system limit if there is one which for billable accounts is the set spend limit.
² Set parameters for your cloud provider in the DS Dashboard control blocks in your DCMS account or use system inventory.
† This page and About DCP are top level specifying stories, cog arch internals aren't divulged as I mean them to be adaptable without notice, everything else is source accessible by DevOps users.
³ MCS: a message control subsystem of a MCP.MCPCMS presents the "CANDE" MCS³ for DS users.
AKPERSONs (see Entitlements), and whitelisted stations can connect with the link above or in a running SPO to a MCP running it.
The attempt, if it reaches the DCP, results in completion codes reported in DS control block displays in your DCMS profile.
Only ssh access from the wild, but this page will attempt, using your SAR credentials if the session role is greater than 1.
MCP operator messages will go to your ODT message queue.
MCP 3.3 CANDE Reference Card
MCP 14 CANDE Reference
ODT MCS
MCP-CMS connects via a MCS which is often referred to as the CANDE MCS although it is more general than that being the default ubiquitous DCP/MCP MCS. Upon mcpcms connect, like the lang specific subshells in the next §, an additional command cande can be used which will process the MCP-CMS system commands analogous to those in the MCP 15 document above. The system command processor is also available as a pane in the SPO.
In Burroughs MCP, the CANDE MCS was used ubiquitously. I recall using a full screen editor which i think fed CANDE. The text edit functions are obsolete and not part of the mcpcms cande. CANDE is used in current Unisys MCP but neither it nor the MCS have their former prominence when the OS runs under Windows.mcpcms
A modified zsh for MCP has the role CMS has in VM/CMS. Upon successful connect, the launch link above results in a terminal session with this shell in the browser. Aside from the modification for the MCP machine model, it is otherwise just zsh however the following (mode) commands are available to establish different shell behaviour in support of the KEE:
- shcl
- shhs
- upsh
which have the lisp, haskell, and prolog natures, respectively. shcl is the only one which is a full shell, the others are ways to do posix shell things in lang. While in general Lisp and prolog implementations can vary, shcl and upsh require sbcl and swipl, respectively. During early dev, before DCP WFL is available DCP is implemented in these shells plus MCP. mcpcms can be accessed with ssh using the following script. Using the FQDSAgentName syntax is equivalent to what the launch link does in an AKPERSONs session.
#!/usr/bin/bash # save as <fileName> and invoke with <fileName> <connect-spec> where # # <connect-spec> ::= <mcpCommand> <FQDSAgentName> | <connect-spec> # <connect-spec> ::= <ipV6Address>:<port> | <ipV4Address>:<port> # FQDSAgentName ::= <agentId>@<domain>[:<port>] # # and the values manually supplied from control blocks in the DCMS account profile where connect attempt results will also be available. # The <mcpCommand>. indicates the station where the script runs is trusted and the responsible AKPERSON is the operator. # if [ -z $2 ] then ssh $1 exit fi # # Try a connect based on just the FQDSA assuming an eligible station. A port on submitted second parm is ignored with a warning. # The no <mcpCommand> specified, a DCP determined default shell type is connected. # FQDSA=mcp.meansofproduction.biz/?FQDSA=$2&$1 PARMS=$(curl -L $FQDSA) ssh $PARMSmcpcms is implemented first for MCP nodes and cells which are whole or containerized linux instances. Cloud compute resources are dynamically provisioned using either system inventory or user supplied provisioning credentials with the MCP supported cloud vendors. Later MCP for Mac and Windows will allow cells there and a version supporting Hercules will use VM/CMS instead of mcpcms.
DCP WFL
is eponymous from the MCP WFL with some preserved aesthetics but as a vehicle for DCP and arch for MCP —
- The Job is not the top level construct. The Job or App is the closest construct to heritage WFL in my WFL but with ops on my MCP rather than the Burroughs/Unisys one and expansion beyond batch ops.
- In my WFL, Namespace, Database, and then App/Job is the scope hierarchy. Namespace and Database are elements of a domain space and may span multiple MCP instances but Jobs are limited to a single MCP.
In Burroughs systems, WFL didn have as high a profile as IBM JCL, the main punch of the overall system, in an industry installation, would be its system of transactions and these ran from a database which the Burroughs architecture delivered seamlessly without WFL to terminals as a special db stack. Our WFL is the central driver and basis of our MCP/DCP architecture
- implements the DCP machine model as a complement to
- the MCP which provides the real machine model and
- with code blocks containing text of other supported langs
DCP WFL is developed in a bottom up manner from this statement of design intent without any spec other than the heritage systems and the DCP/MCP concept. In the initial releases there will be no documentation outside of story text, and the top level pamphlets. Code cannot move into WFL blocks from its free form before the 1.2.0 milestone. In standard Algol convention № 3 above is implemented by these block variants with the same delimitation by BEGIN and END bounded blocks:
MCP Block Types
Declarator Language Intrinsic Purpose/Role Enterprise Facing APP¹,DB,NS WFL Yes Job, Database, & Namespace control CL Common Lisp No Lateral R HS Haskell No Applications LP LogTalk No Lateral L PL Prolog No Plain Prolog ST Smalltalk² No SPO Context Machine Facing JOB MINT 3 Yes JCL SUBROUTINE A60 Yes JCL Procedures UNIT A68 Yes MCP Libraries
¹An APP is a JOB with device/station dependencies ²headless squeak
Intrinsic means the lang is native to MCP/WFL and doesn't require COMPILE or BIND to produce a RUN eligible object title. Enterpise facing means oriented to programming users of the system, Machine facing means me, for my motivation, satisfaction and design intent of real machine independence of the core super-OS. Users can create their own semantic spaces by using WFL and the standard modern high level lang blocks while the MINT and Algol elements are my private programming of DCP/MCP not meant for user consuption but visible to satisfy transparency requirements.
Procedural WFL is translated from source text to A60/C, then compiled and linked to the Barton machine, or directly interpreted by genie or MINT. Non-WFL blocks are compiled and bound and used in the concrete context of the DS which they form as extensions of the WFL/B machine.
The JCL is defined by an M-TRAN phrase grammar which can contain pure MINT blocks but general procedures are meant to be in Algol dialects.
A Smalltalk code set is part of the system concept and a "WFL workframe" is intended as an IDE and GUI for DCP/MCP (DGUI/SPO) but it is not required for ops and will not be available until I've worked it on the basis of the experience of the first working clusters.
The namestyles are a homage to MCP and VM/CMS mainframe OSes, both still in use and Unisys WFL (Work Flow Language). MCP as an actually delivered OS is composed of cells (containers) and OS images (nodes) running system Apps and Jobs coded in WFL and the supported langs.