MCP-CMS: Difference between revisions
No edit summary |
No edit summary |
||
(166 intermediate revisions by the same user not shown) | |||
Line 41: | Line 41: | ||
<div style="position:relative;top:-60px;"> <a style="position: relative;top: -15px;" title="Home Profile" | <div style="position:relative;top:-60px;"> <a style="position: relative;top: -15px;" title="Home Profile" | ||
href=https://sameboat.network/user><img src=https://meansofproduction.biz/images/corbusierDuHaut.jpg width=100></a> | href=https://sameboat.network/user><img src=https://meansofproduction.biz/images/corbusierDuHaut.jpg width=100></a> | ||
<span style="position: relative; top: -40px;"> <tt style="background-color: black; color: yellow; font-weight: bold;"> minimalist clustering paradigm </tt><br><br> | <span style="position: relative; top: -40px;"><a style="color: lime;" title="About the MCP reinvention" | ||
href=/eg/index.php/MCP> <tt style="background-color: black; color: yellow; font-weight: bold;"> minimalist clustering paradigm </tt></a><br><br> | |||
<a title="mcpcms cli or webssh login if not SAR authenticated" | <a title="mcpcms cli or webssh login if not SAR authenticated" | ||
style="height:50px;background-color:purple;color:white;position: relative; left: 130px; top: -20px;" href=/eg/index.php/MCPCELL><b> launch </b></a> | style="height:50px;background-color:purple;color:white;position: relative; left: 130px; top: -20px;" href=/eg/index.php/MCPCELL><b> launch </b></a> | ||
<span style="position: relative;left:130px;top: -20px;">— | <span style="position: relative;left:130px;top: -20px;">— an MCP cell ¹ provisioned by the Domain Control Program per your current context. ²</span> | ||
</span> | </span> | ||
</div> | </div> | ||
Line 62: | Line 62: | ||
<tt> | <tt> | ||
<ul> | <ul> | ||
<li>0. | <li>0.4.0 074-11-02 1<sup>st</sup> ed. tl;dr story freeze.† </li> | ||
<li>0.9.0 | <li>0.9.0 07y-mm-dd LAN and cloud provisioning for network nodes.</li> | ||
<li>1.0.0 | <li>1.0.0 07y-mm-dd BaselineOfDCP (provisions FRED instances). </li> | ||
<li>1.1.0 | <li>1.1.0 07y-mm-dd Transparent Ledger (Books), DCP live in wild.</li> | ||
<li>1.2.0 | <li>1.2.0 07y-mm-dd BaselineOfWFL. </li> | ||
<li> | <li>1.3.0 07y-mm-dd ∫ x 𝔻 ∂ DS, stable boot KEE SPA.</li> | ||
<li> | <li>2.0.0 07y-mm-dd 2<sup>nd</sup> ed. tl;dr story (feat: visual programming/execution), 1<sup>st</sup> WFL w integral DGUI IDE. </li> | ||
<li> | <li>2.1.0 07y-mm-dd ∫ VM (CMS, MVS) / DCP ∂ DS, the MF-One story.</li> | ||
<li>3.0.0 08y-mm-dd Mature DDD/KEE product.</li> | |||
</ul></tt></blockquote> | </ul></tt></blockquote> | ||
<center> | <center> | ||
Line 75: | Line 76: | ||
</center> | </center> | ||
<blockquote style="position: relative;"> | <blockquote style="position: relative;"> | ||
<span style="z-index: 100;position: relative;font-size: 10px;">¹ Resource limits are dynamically set except for F class which always gets the system limit if there is one which for billable accounts | <span style="z-index: 100;position: relative;font-size: 10px;">¹ 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.</i><br> | ||
² Set parameters for your | ² Set parameters for your cloud provider in the DS Dashboard control blocks in your DCMS account or use system inventory.<br> | ||
</span> | </span> | ||
</blockquote> | </blockquote> | ||
<blockquote style="position:relative;left:-5px;top:-10px;z-index:200;font-size:8px;">† This page and <a href="https://devops1.sameboat.network/About DCP">About DCP</a> 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 | <blockquote style="position:relative;left:-5px;top:-10px;z-index:200;font-size:8px;">† This page and <a href="https://devops1.sameboat.network/About DCP">About DCP</a> 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.</blockquote> | ||
<button type="button" class="collapsible"><div id="tldrDet">tl;dr</div></button> | <button title="show/hide the story details" type="button" class="collapsible"><div id="tldrDet">tl;dr</div></button> | ||
<div class="content"> | <div class="content"> | ||
<blockquote style="width: 70%;font-weight: bold;" > | <blockquote style="width: 70%;font-weight: bold;" > | ||
Line 90: | Line 91: | ||
</blockquote> | </blockquote> | ||
The attempt, if it reaches the | The attempt, if it reaches the DCP, results in completion codes reported in DS control block displays in your DCMS profile.<br> | ||
Only ssh access from the wild, but this page will attempt, using your SAR credentials if the <a href=https://devops1.sameboat.network/roles>session role</a> is greater than 1.<br> | Only ssh access from the wild, but this page will attempt, using your SAR credentials if the <a href=https://devops1.sameboat.network/roles>session role</a> is greater than 1.<br> | ||
MCP operator messages will go to your ODT message queue. | MCP operator messages will go to your ODT message queue. | ||
Line 97: | Line 98: | ||
<span style="font-size: 10px;position:relative;left:150px;">³ MCS: a message control subsystem of a MCP.</span> | <span style="font-size: 10px;position:relative;left:150px;">³ MCS: a message control subsystem of a MCP.</span> | ||
<center class=plainlinks> | <center class=plainlinks> | ||
<a style="background-color:aliceblue;" href=https://meansofproduction.biz/pub/MCP15SystemCommands.pdf> MCP 15 System Commands </a><br> | |||
<a style="background-color:aliceblue;" href=https://en.wikipedia.org/wiki/User:Lycurgus/MoCA#Burroughs_CANDE> MCP 3.3 CANDE Reference Card</a><br> | <a style="background-color:aliceblue;" href=https://en.wikipedia.org/wiki/User:Lycurgus/MoCA#Burroughs_CANDE> MCP 3.3 CANDE Reference Card</a><br> | ||
<a style="background-color:aliceblue;" href=https://meansofproduction.biz/pub/ | <a style="background-color:aliceblue;" href=https://meansofproduction.biz/pub/CANDE-MCP-14.pdf> MCP 14 CANDE Reference</a> | ||
</center> | </center> | ||
<img title="B6700 with memory which was wire wrapped creating for me a sense of sail rigging when the skins were off." src=https://meansofproduction.biz/images/1975-Burroughs-6700-Computer.jpg width=200 align=right style="position:relative;top:-160px;right:75px;"> | |||
<blockquote> | <blockquote> | ||
<b> | <b>ODT MCS</b> | ||
<blockquote> | <blockquote> | ||
MCP-CMS connects via | 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 <b>mcpcms</b> connect, like the lang specific subshells in the next §, an additional command <b>cande</b> can be used which will process the MCP-CMS system commands | Upon <b>mcpcms</b> connect, like the lang specific subshells in the next §, an additional command <b>cande</b> 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. | analogous to those in the MCP 15 document above. The system command processor is also available as a pane in the SPO. | ||
<br><br> | <br><br> | ||
In Burroughs MCP, the CANDE MCS was used ubiquitously. I recall using a full screen editor which i think fed CANDE. | In Burroughs MCP, the CANDE MCS was used ubiquitously. I recall using a full screen editor which i think fed CANDE. Commands are implemented per need and some such as the text edit functions likely never will be in <b>mcpcms cande</b>. CANDE is used in current Unisys MCP but neither it nor the MCS have their former prominence when the OS runs under Windows. | ||
</blockquote> | </blockquote> | ||
<b>mcpcms</b> | <b>mcpcms</b> | ||
<blockquote> | <blockquote> | ||
A modified <b>zsh</b> for MCP | A modified <b>zsh</b> 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: | 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: | ||
<ul><li><b>shcl</b> | <ul><li><b>shcl</b> </li><li><b>shhs</b></li><li><b>upsh</b></li></ul> | ||
which have the lisp, haskell, and prolog natures, respectively. <b>shcl</b> 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. | |||
<b>mcpcms</b> 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.<pre><tt>#!/usr/bin/bash | <b>mcpcms</b> 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.<pre><tt>#!/usr/bin/bash | ||
# save as <fileName> and invoke with <fileName> <connect-spec> where | # save as <fileName> and invoke with <fileName> <connect-spec> where | ||
# | # | ||
# <connect-spec> ::= | # <connect-spec> ::= <mcpCommand> <FQDSAgentName> | <connect-spec> | ||
# <connect-spec> ::= <ipV6Address>:<port> | <ipV4Address>:<port> | # <connect-spec> ::= <ipV6Address>:<port> | <ipV4Address>:<port> | ||
# FQDSAgentName ::= <agentId>@<domain>[:<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. | # and the values manually supplied from control blocks in the DCMS account profile where connect attempt results will also be available. | ||
# The | # The <mcpCommand>. indicates the station where the script runs is trusted and the responsible AKPERSON is the operator. | ||
# | # | ||
if [ -z $2 ] then | if [ -z $2 ] then | ||
Line 131: | Line 134: | ||
# | # | ||
# Try a connect based on just the FQDSA assuming an eligible station. A port on submitted second parm is ignored with a warning. | # 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= | FQDSA=mcp.meansofproduction.biz/?FQDSA=$2&$1 | ||
PARMS=$(curl -L $FQDSA) | PARMS=$(curl -L $FQDSA) | ||
ssh $PARMS | ssh $PARMS | ||
</tt></pre> | </tt></pre> | ||
<b>mcpcms</b> is implemented first for | <b>mcpcms</b> 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. | |||
</blockquote> | </blockquote> | ||
<b>DCP WFL</b> | |||
<blockquote> | |||
is eponymous from the <a style="background-color:aliceblue;" href=https://meansofproduction.biz/pub/mcpWFL.pdf>MCP WFL</a> with some preserved aesthetics but as a vehicle for DCP and arch for MCP — | |||
<ul> | |||
<li>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.<li> | |||
<li>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.</li> | |||
</ul> | |||
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 | |||
<ol> | <ol> | ||
<li> | <li>implements the DCP machine model as a complement to</li> | ||
<li>which | <li>the MCP which provides the real machine model and</li> | ||
<li>with code blocks containing text of other supported langs</li> | <li>with code blocks containing text of other supported langs</li> | ||
</ol> | </ol> | ||
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: | |||
<center> | <center> | ||
<div style="font-size:10px;position:relative;left:0px;"><b>MCP Block Types</b></div> | <div style="font-size:10px;position:relative;left:0px;"><b>MCP Block Types</b></div> | ||
<table border=2 style="color:black;background-color:lemonchiffon;width:600px;"> | <table border=2 style="color:black;background-color:lemonchiffon;width:600px;"> | ||
<tr style="background-color:black;color:white;font-size:10px;"><td width=125 align=center > | <tr style="background-color:black;color:white;font-size:10px;"><td width=125 align=center >Declarator</td><td align=center width=90>Language</td><td align=center width=180>Intrinsic</td><td align=center width=205>Purpose/Role</td></tr> | ||
<tr style="background-color:white;font-size:10px;"><td colspan=4 align=center> | <tr style="background-color:white;font-size:10px;"><td colspan=4 align=center>Enterprise Facing </td></tr> | ||
<tr><td align=left>APP¹,DB,NS</td><td align=center>WFL </td><td align=center>Yes</td><td><font size=1>Job, Database, & Namespace control</font> </td></tr> | |||
<tr><td>CL</td><td align=center>Common Lisp</td><td align=center>No</td><td>Lateral R</td></tr> | <tr><td>CL</td><td align=center>Common Lisp</td><td align=center>No</td><td>Lateral R</td></tr> | ||
<tr><td>HS</td><td align=center>Haskell </td><td align=center>No</td><td>Applications</td></tr> | <tr><td>HS</td><td align=center>Haskell </td><td align=center>No</td><td>Applications</td></tr> | ||
<tr><td>LP</td><td align=center>LogTalk</td><td align=center>No</td><td>Lateral L</td></tr> | <tr><td>LP</td><td align=center>LogTalk</td><td align=center>No</td><td>Lateral L</td></tr> | ||
<tr><td>PL</td><td align=center>Prolog</td><td align=center>No</td><td>Plain Prolog</td></tr> | <tr><td>PL</td><td align=center>Prolog</td><td align=center>No</td><td>Plain Prolog</td></tr> | ||
<tr style="background-color:white;font-size:10px;"><td colspan=4 align=center> | <tr><td>ST</td><td align=center>Smalltalk²</td><td align=center>No</td><td>SPO Context</td></tr> | ||
<tr><td> | <tr style="background-color:white;font-size:10px;"><td colspan=4 align=center>Machine Facing </td></tr> | ||
<tr><td>SUBROUTINE</td><td align=center><a href=https://www.gnu.org/software/marst/><b>A60</b></a></td><td align=center>Yes</td><td>JCL </td></tr> | <tr><td>JOB</td><td align=center>MINT 3</td><td align=center>Yes</td><td>JCL</td></tr> | ||
<tr><td>UNIT</td><td align=center><a style="background-color:aliceblue;" href=https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html><b>A68</b></a></td><td align=center>Yes</td><td> | <tr><td>SUBROUTINE</td><td align=center><a href=https://www.gnu.org/software/marst/><b>A60</b></a></td><td align=center>Yes</td><td>JCL Procedures</td></tr> | ||
</table><br><br> | <tr><td>UNIT</td><td align=center><a style="background-color:aliceblue;" href=https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html><b>A68</b></a></td><td align=center>Yes</td><td>MCP Libraries</td></tr> | ||
</table><br>¹<font size=1>An APP is a JOB with device/station dependencies</font> ²<font size=1>headless squeak</font><br> | |||
</center> | </center> | ||
Intrinsic means the lang is native to MCP/WFL and doesn't require COMPILE or BIND to produce a RUN eligible object title. | 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. | |||
<div style="width:60%;text-align:justify;"> | <div style="width:60%;text-align:justify;"> | ||
WFL | 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.<br><br> | |||
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.<br><br> | |||
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. | |||
</div> | </div> | ||
</blockquote><br><br> | </blockquote><br><br> | ||
<span style="position:relative;top:-30px;font-size:12px;">The namestyles are a homage to <a href=https://en.wikipedia.org/wiki/Burroughs_MCP>MCP</a> and <a href=https://en.wikipedia.org/wiki/Conversational_Monitor_System>VM/CMS</a> mainframe OSes, both still in use and Unisys WFL (<a style="background-color:aliceblue;" href=https://public.support.unisys.com/aseries/docs/clearpath-mcp-18.0/86001047-516/index.html>Work Flow Language</a>). | <span style="position:relative;top:-30px;font-size:12px;">The namestyles are a homage to <a href=https://en.wikipedia.org/wiki/Burroughs_MCP>MCP</a> and <a href=https://en.wikipedia.org/wiki/Conversational_Monitor_System>VM/CMS</a> mainframe OSes, both still in use and Unisys WFL (<a style="background-color:aliceblue;" href=https://public.support.unisys.com/aseries/docs/clearpath-mcp-18.0/86001047-516/index.html>Work Flow Language</a>). 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. </span> | ||
<div style="float:right;text-align:center;font-size:12px;position:relative;left:- | <div style="float:right;text-align:center;font-size:12px;position:relative;left:-135px;top:-220px;width:400px;font-family:Papyrus;" ><a href=https://en.wikipedia.org/wiki/Abydos_King_List><img align=right width=400px src=https://meansofproduction.biz/images/kings_list.012.jpg></a><br>The Abydos Kings List c. -400 to 1400 公元, Menes — Seti I</div> | ||
</blockquote> | </blockquote> | ||
</div> | </div> | ||
Line 180: | Line 195: | ||
<div style="position:relative;top:-100px;"> | <div style="position:relative;top:-100px;"> | ||
<hr style="position:relative;left:20px;" width=80%> | <hr style="position:relative;left:20px;" width=80%> | ||
<center> | <div id="10CC" style="position: relative;text-align:center;height:150px;"> | ||
<video style="position: relative | <video id="10C" style="position: relative;top:-10px;" title="Pharoah bids Hebrews glean own straw with same count of bricks, presumably for Pi Rameses. The court snickers, Nefertari and Aaron look to Moise who stalks out." poster="http://meansofproduction.biz/images/TIVlarge.png" controls> | ||
<source src="https://meansofproduction.biz/pub/tldrMCPWFL.webm" type='video/webm'; /> | <source src="https://meansofproduction.biz/pub/tldrMCPWFL.webm" type='video/webm'; /> | ||
<p>No content matching HTML5 video setup!</p> | <p>No content matching HTML5 video setup!</p> | ||
</video></ | </video></div></div></div></div> | ||
<script> | <script> | ||
var coll | var coll = document.getElementsByClassName("collapsible"); | ||
var bText = document.getElementById("tldrDet"); | var bText = document.getElementById("tldrDet"); | ||
var video = document.getElementById("10C"); | |||
var vd = document.getElementById("10CC"); | |||
var isPlaying = false; | |||
var i; | var i; | ||
Line 200: | Line 218: | ||
content.style.display = "block"; | content.style.display = "block"; | ||
bText.innerHTML = "collapse"; | bText.innerHTML = "collapse"; | ||
vd.style.display = "none"; | |||
} | } | ||
}); | }); | ||
}; | |||
video.addEventListener("ended", function() { | |||
vd.style.display = "none"; | |||
}); | |||
video.addEventListener("play", function() { | |||
isPlaying = true; | |||
vd.height = 800; | |||
vd.style.top = "-400px"; | |||
vd.style.left = "-400px"; | |||
}); | |||
function kill10C() { | |||
if (isPlaying) return; | |||
vd.style.display = "none"; | |||
} | } | ||
window.timeoutID = setTimeout(kill10C,7000); | |||
</script><br><img width=150 align=right src=https://juan.ai-integration.biz/xasppage/xasppage.pl?XASPPAGE_STYLE=0&P=MCPCMS> | </script><br><img width=150 align=right src=https://juan.ai-integration.biz/xasppage/xasppage.pl?XASPPAGE_STYLE=0&P=MCPCMS> | ||
</html> | </html> |
Latest revision as of 19:52, 21 November 2024
mcpcms
conversational monitoring system
DCP Shell
launch — an MCP cell ¹ provisioned by the Domain Control Program per your current context. ²
This page has an audio track, mouseover for title/credit.
Semantic Roadmap
- 0.4.0 074-11-02 1st ed. tl;dr story freeze.†
- 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. Commands are implemented per need and some such as the text edit functions likely never will be in 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.