Difference between revisions of "MCP-CMS"

From Cibernética Americana
 
(350 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
   font-weight: 600;
 
   font-weight: 600;
 
   position: relative;
 
   position: relative;
   top: -50px;
+
   top: -24px;
 +
}
 +
@font-face {
 +
  font-family: Papyrus;
 +
  src: url('https://meansofproduction.biz/pub/papyrus.ttf');
 
}
 
}
  
Line 35: Line 39:
 
<h5 style="position: relative;top: 0px;color: black;">master control program  &nbsp; <br>CMS MCS shell &nbsp; </h5>
 
<h5 style="position: relative;top: 0px;color: black;">master control program  &nbsp; <br>CMS MCS shell &nbsp; </h5>
 
</div>
 
</div>
<div style="position: relative;top: -75px;">
+
<div style="position:relative;top:-60px;"> &nbsp; <a  style="position: relative;top: -15px;" title="Home Profile"
&nbsp; <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.live/user><img src=https://meansofproduction.biz/images/corbusierDuHaut.jpg width=100></a>
 
 
           <span style="position: relative; top: -40px;"> &nbsp;<tt style="background-color: black; color: yellow; font-weight: bold;"> conversational monitor system &nbsp; </tt><br><br>
 
           <span style="position: relative; top: -40px;"> &nbsp;<tt style="background-color: black; color: yellow; font-weight: bold;"> conversational monitor system &nbsp; </tt><br><br>
             <a style="position: relative; left: 130px; top: -10px;" target=_blank href=https://dcms.ai-integration.biz><b>launch</b></a>
+
             <a title="mcpcms cli or webssh login if not in a SSO session" style="position: relative; left: 130px; top: -20px;" target=_blank href=https://dcms.ai-integration.biz><b>launch</b></a>
 +
            <span style="position: relative;left:130px;top: -20px;">&mdash; a shell on a <a style="color: lime;" title="About the MCP reinvention"
 +
              href=https://eg.meansofproduction.biz/eg/index.php/MCP>MCP</a> node, &sup1;  provisioned per your current SSO context. &sup2;</span>
 
           </span>
 
           </span>
        <div style="position: relative; top: -50px;">
+
</div>
        <blockquote  style="width: 60%;font-weight: bold;" >
+
<div style="position: relative; top: -100px;">
            The launch link leads to a <a title="About the MCP reinvention" href=https://eg.meansofproduction.biz/eg/index.php/MCP>MCP</a>&sup1; shell
+
<blockquote  style="width: 70%;font-weight: bold;" >
            provisioned from core domain space or the AWS, linode, or LAN/DIY inventory &sup2; configured in the KEE Dashboard Control Block in your home profile. A MCS is a message control system operating under a MCP. ABORTED, ACTIVE, INUSE, COMPLETEDOK, or STOPPED are the possible job completion codes &sup3; for the launch attempt from the
+
  MCPCMS  presents the operator display terminal CONTROLLER for MCP ops and the default or "</html>[[:en:CANDE|CANDE]]<html>" MCS&sup3;.
            DS <a href=https://sameboat.live/stationHistory>station</a> at which you're currently authenticated.
 
 
 
 
<blockquote style="width: 80%;font-weight: bold;">
 
<blockquote style="width: 80%;font-weight: bold;">
           Configuring a device control block for it in your profile dashboard enables system port management, or you can manually manage ssh as usual (e.g using ssh-copy-id). <br> <br>
+
           Restricted to AKPERSONs (see <a href=/eg/index.php?title=AKPERSON>Entitlements</a>), and whitelisted <a style="color: lime;"  href=https://commons.sameboat.network/stationHistory>stations</a> .<br><br>
          Launch states ABORTED, COMPLETED, OR STOPPED, imply receipt of diagnostic info by the currently selected means of notification in your home profile (icon above, left of launch status).
+
           A running <a style="color: lime;" href=https://eg.meansofproduction.biz/eg/index.php/WFL/DCP_SPO>SPO</a> counts against launch limits.<br><br>
          ABORTED is the immediate result if you are not authenticated.<br><br>
+
          ABORTED, ACTIVE, COMPLETEDOK, or STOPPED are completion codes for launch job but in the wild it's not run.
           A running <a href=https://eg.meansofproduction.biz/index.php/WFL/DCP_SPO>SPO</a> counts as a against account launch limits.<br>
+
        </blockquote><br> Launch code ABORTED implies additional info in your home profile DS control blocks.
 
         <hr width="50%" style="float: left;">
 
         <hr width="50%" style="float: left;">
        </blockquote><br></blockquote>         
+
        </blockquote>         
         <blockquote style="position: relative;top: -30px;">
+
         <blockquote style="position: relative;">
         <span style="position: relative;top: -8px;font-size: 10px;">&sup1;<i>Core space resources are only dynamically allocated for AKPERSONs.</i><br>
+
         <span style="z-index: 100;position: relative;font-size: 10px;">&sup1; Resource limits are dynamically set except for F class which always gets the system limit if there is one.</i><br>
         &sup2; AWS, Linode, or your Gb LAN. MCP nodes must have sub-millisecond ping. Set cloud vendor credentials in your commons dashboard or run the MCP leader in your LAN.
+
         &sup2; MCP nodes must have sub-millisecond ping. Set parameters for your own AWS or Linode accounts or your manually provisioned hosts in the Remote Inventory DS block in your home profile.<br>&sup3; MCS: a message control subsystem of a MCP.
 
         </span>
 
         </span>
 
         </blockquote>
 
         </blockquote>
     <button type="button" class="collapsible"><div id="tldrDet">details</div></button>  
+
     <button type="button" class="collapsible"><div id="tldrDet">tl;dr</div></button>  
 
  <div class="content">
 
  <div class="content">
 +
<blockquote>
 +
<b>CANDE MCS</b> 
 +
<center class=plainlinks><a href=https://en.wikipedia.org/wiki/User:Lycurgus/MoCA#Burroughs_CANDE> MCP 3.3 CANDE Reference Card</a></center>
 +
<blockquote>
 +
  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 <b>mcpcms</b> MCS. Some other commands do map to the new system context though and they are developed in a similar fashion to WFL  with an additional shell mode command
 +
  <b>cande</b> like the lang specific subshells in the next &sect;, which invokes the MCS command processor at a <b>mcpcms</b> prompt.
 +
<br><br>
 +
  The command processor is also available as a pane in the WebKEE legacy SPA and the CANDE MCS is the default ubiquitous DCP/MCP MCS. CANDE is used in current Unisys MCP but neither it nor the MCS have their former prominence when the OS runs under Windows.
 +
</blockquote>
 +
  <b>mcpcms</b>
 
   <blockquote>
 
   <blockquote>
<span style="position: relative;top:-15px;">The namestyle is 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>.</span><br>
+
    is derived from  <b>zsh</b> for MCP and the shell variant set for it in /etc/shells. In an authenticated session, the launch link normally results in a WebSSH session with this shell. 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:
        While initially only linux is supported, ultimately heterogeneous and in particular emulated mainframe kernel OS support is intended. A command and edit (CANDE) MCS wraps the ssh protocol.<br>
+
<ul><li><b>shcl</b> (common lisp nature)</li><li><b>shhs</b> (HsShellScript, haskell nature)</li><li><b>upsh</b> (prolog nature)</li></ul> Lisp and prolog implementations are variable, and multiple can be combined but shcl and upsh themselves use sbcl and swipl, respectively.
        Operators use a CANDE MCS for MCP command line ops which can use:
+
  <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
        <ul>
+
# save as &lt;fileName&gt; and invoke with &lt;fileName&gt; &lt;connect-spec&gt; where             
        <li><p style="width: 60%;">mcpcms, the default, a custom zsh.</p> </li>
+
#       
        and any of <br><br>
+
&lt;connect-spec&gt;::= &lt;ipV6Address&gt;:&lt;port&gt; | &lt;ipV4Address&gt;:&lt;port&gt; | FQDSA&lt;whiteSpace&gt;&lt;FQDSAgentName&gt;
        <li><b>shcl</b> (common lisp nature)</li>
+
FQDSAgentName ::= &lt;agentId&gt;@&lt;domain&gt;[:&lt;port&gt;]
        <li><b>shhs</b> (HsShellScript, haskell nature)</li>
+
#
        <li><b>upsh</b> (prolog nature)</li>
+
and the values are displayed in the DCMS account profile
        </ul>
+
#
        <blockquote> Only mcpcms need be set in /etc/shells, the others are available as the listed commands in a mcpcms session. The sources for the versions forked for MCP and how they operate there as opposed to their original authors intents are in my github repos. CANDE may be local or MCP or DCP depending on the operators context.<br><br> GHC is the haskell implementation. Lisp and prolog implementations are variable, and multiple can be combined.
+
if [ -z $2 ] then
        </blockquote>
+
  ssh  $1
        The mcpcms level is always present, the others are outer shells adapted for the domain space knowledge engineering context.<br>
+
  exit
        The KEE uses the three HOLs&sup2; listed but the mcpcms level is appropriate for regular command line ops in MCP.<br>
+
fi
        Although diverged for DS, an effort will be made to track changes in still vital original lang specific shells.
+
#
    </blockquote>
+
# Get connect values from FQDSA.
    <blockquote>
+
#
    Assuming the target is configured and ready, invoke <b>mcpcms</b> with:
+
FQDSA=getmcpcms.ai-integration.biz/?FQDSA=$2
    <pre><tt> mcpcms &lt;station-agent&gt;
+
PARMS=$(curl -L $FQDSA)
 
+
ssh $PARMS
                where             
+
</tt></pre>
         
+
<b>mcpcms</b> is implemented for Linux first then MacOS. The intent is to support mainframe OSes after that, specifically the Hercules version of IBM and the Windows based version of Unisys MCP. Core Domain Space uses either AWS or Linode to dynamically provision whole hosts as MCP nodes and nodes may also be created as composed containers on an existing host.
                &lt;station-agent&gt; ::= ipV6Address:port | ipV4Address:port | FQDSAgentName  
+
  </blockquote>
                FQDSAgentName   ::= &lt;agentId&gt;@&lt;domain&gt;[:&lt;port&gt;]
+
  <b>WFL</b>
 
+
  <blockquote>
                and the port is displayed in a DS control block in the user's DCMS account profile or provided dynamically by automation in an authenticated session.                        
+
    is derived from the <a href=https://meansofproduction.biz/pub/mcpWFL.pdf>MCP 12 WFL</a> job control model, runs underneath <b>mcpcms</b> and serves as the physical base of MCP/DCP elements.<br><br>
    </tt></pre>  
+
  Burroughs WFL is basically just an inspiration and point of departure to a WFL
    Semantics
+
  <ol>
    <blockquote>
+
    <li>built for the MCP machine model</li>
      The port cannot be 22. The semantics are different depending on whether addr:port or agentId forms are used.<br><br>
+
    <li>which is a prime driver for the development of that model</li>
     
+
    <li>with code blocks containing text of other supported langs</li>
      The bare address:port forms presume the user's client OS account name is a valid agentId and DCMS username. In this case the address is a pre allocated MCP element and ssh could be used instead.<br>
+
  </ol>
 
+
  As far as the elaboration of JCL statements and so forth WFL is developed in a bottom up prototyping style without any spec other than the mainframe reference and the nascent MCP concept, so there will be no documentation for some time
      The agentId form assigns existing or allocates a new MCP element from context implicit in the users account. In this case the CANDE MCS is used.
+
  other than the text of actual jobs. &#8470; 3 above is implemented by variants for the SUBROUTINE statement, with the same attachment of BEGIN and END bounded blocks:
 +
    <center><table style="color:black;background-color:white;width:300px;">
 +
    <tr style="font-size:10px;"><td width=250 >Subroutine Declarator</td><td align=center width=250>Language</td><td  align=right width=250>Intrinsic</td></tr>
 +
    <tr><td>CL</td><td align=center>Common Lisp</td><td align=right>No</td></tr>
 +
    <tr><td>HS</td><td align=center>Haskell </td><td align=right>No</td></tr>
 +
    <tr><td>LP</td><td align=center>LogTalk</td><td align=right>No</td></tr>
 +
    <tr><td>PL</td><td align=center>Prolog</td><td align=right>No</td></tr>
 +
    <tr><td align=left>SUBROUTINE</td><td align=center>WFL (JCL) </td><td align=right>Yes</td></tr>
 +
    <tr style="font-size:10px;"><td></td><td align=center>System Internal</td><td></td></tr>
 +
    <tr><td>MINT</td><td align=center>MINT 3</td><td align=right>Yes</td></tr>
 +
    <tr><td>PROC</td><td align=center><a href=https://www.gnu.org/software/marst/><b>A60</b></a></td><td align=right>Yes</td></tr>
 +
    <tr><td>UNIT</td><td align=center><a href=https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html><b>A68</b></a></td><td align=right>Yes</td></tr>
 +
    </table>
 +
  <div style="font-size:10px;position:relative;left:20px;"><b>MCP Block Types</b></div>
 +
</center>
 +
  Intrinsic means the lang is native to MCP/WFL and doesn't require COMPILE or BIND to produce a RUNable title.<br>
 +
  Job titles are bound to files by the <b>cande</b> WFL command after which they can be STARTed.<br>
 +
  The WFL compiler translates JCL to A68, MINT, and assembly which are run by genie, mint, and da Fe, respectively.
 +
  </blockquote><br><br>
 +
  <span style="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> main
 +
  frame operating systems which are both still in use and Unisys WFL (<a href=https://public.support.unisys.com/aseries/docs/clearpath-mcp-18.0/86001047-516/index.html>Work Flow Language</a>).</span>
 +
<div  style="float:right;text-align:center;font-size:12px;position:relative;left:-150px;top:-120px;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 &nbsp; c. -400 &nbsp; to &nbsp; 1400 &nbsp; 公元, &nbsp; Menes &mdash; Seti I</div>
 +
</blockquote>
 +
</div>
  
      node station. 
+
         <blockquote style="position: relative;top: -50px;">Devops Roadmap
    </blockquote>
+
        <tt>
    </blockquote>
 
    </div>
 
 
 
         <blockquote style="position: relative;top: -60px;">Roadmap
 
 
         <ul>
 
         <ul>
         <li>1.0.0 PoC: working DCP  provisioning of composed MCP images and mcpcms hosts via the DCMS&gt; C-六 <a href=https://sameboat.live/DCMS>backend</a>.</li>
+
         <li>0.3.0 c. 4721-03-03&nbsp; Told tl;dr story. </li>
         <li>1.1.0 First working SPO and WFL development server. </li>
+
        <li>0.9.0 c. 47yy-00-00&nbsp; BaselineOfDomainSpace. </li>
         <li>1.2.0 Consolidation and productization release.</li>
+
        <li>1.0.0 c. 47yy-00-00&nbsp; BaselineOfKEE. </li>
         <li>2.0.0 Mature DDD/KEE product.</li>
+
         <li>1.1.0 c. 47yy-00-00&nbsp; Provisions generic base cluster, working geonode budding, shown tl;dr story.  All public pre MCP hosts migrated.</li>
         </ul>
+
         <li>1.2.0 c. 47yy-00-00&nbsp; First dependent SKUs made GA.</li>
 +
        <li>2.0.0 c. 47yy-00-00&nbsp; First working WFL workframe, a UI for job edit and debug with visual execution. </li>
 +
         <li>3.0.0 c. 47yy-00-00&nbsp; Mature DDD/KEE product.</li>
 +
         </ul></tt>
 +
<blockquote style="font-size:8px;">
 +
A geneology of the system concepts is linked by the cartouche at the first page in the 'text' div in the left nav.
 +
</blockquote>
 
<hr>
 
<hr>
&sup2; <span style="font-size: 10px;">High Order Language</span>
 
&sup3; <span style="font-size: 10px;">The states COMPLETED, COMPILEDOK and SCHEDULED are invalid for the launch WFL job, but its task steps may have COMPLETED codes, usable in other interfaces.</span>
 
        </blockquote>
 
 
</div></div>
 
</div></div>
  
Line 126: Line 162:
 
     if (content.style.display === "block") {
 
     if (content.style.display === "block") {
 
       content.style.display = "none";
 
       content.style.display = "none";
       bText.innerHTML = "details";
+
       bText.innerHTML = "tl:dr";
 
     } else {
 
     } else {
 
       content.style.display = "block";
 
       content.style.display = "block";
       bText.innerHTML = "tl;dr";
+
       bText.innerHTML = "collapse";
 
     }
 
     }
 
   });
 
   });

Latest revision as of 07:36, 1 April 2023

mcpcms  

master control program  
CMS MCS shell  
    conversational monitor system  

launch — a shell on a MCP node, ¹ provisioned per your current SSO context. ²

MCPCMS presents the operator display terminal CONTROLLER for MCP ops and the default or "CANDE" MCS³.

Restricted to AKPERSONs (see Entitlements), and whitelisted stations .

A running SPO counts against launch limits.

ABORTED, ACTIVE, COMPLETEDOK, or STOPPED are completion codes for launch job but in the wild it's not run.


Launch code ABORTED implies additional info in your home profile DS control blocks.


¹ Resource limits are dynamically set except for F class which always gets the system limit if there is one.
² MCP nodes must have sub-millisecond ping. Set parameters for your own AWS or Linode accounts or your manually provisioned hosts in the Remote Inventory DS block in your home profile.
³ MCS: a message control subsystem of a MCP.

CANDE MCS

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 MCS. Some other commands do map to the new system context though and they are developed in a similar fashion to WFL with an additional shell mode command cande like the lang specific subshells in the next §, which invokes the MCS command processor at a mcpcms prompt.

The command processor is also available as a pane in the WebKEE legacy SPA and the CANDE MCS is the default ubiquitous DCP/MCP MCS. CANDE is used in current Unisys MCP but neither it nor the MCS have their former prominence when the OS runs under Windows.

mcpcms

is derived from zsh for MCP and the shell variant set for it in /etc/shells. In an authenticated session, the launch link normally results in a WebSSH session with this shell. 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 (common lisp nature)
  • shhs (HsShellScript, haskell nature)
  • upsh (prolog nature)

Lisp and prolog implementations are variable, and multiple can be combined but shcl and upsh themselves use sbcl and swipl, respectively. 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>::= <ipV6Address>:<port> | <ipV4Address>:<port> | FQDSA<whiteSpace><FQDSAgentName> 
#  FQDSAgentName ::= <agentId>@<domain>[:<port>]
#
#  and the values are displayed in the DCMS account profile.  
#
if [ -z $2 ] then
  ssh  $1
  exit
fi
#
# Get connect values from FQDSA.
#
FQDSA=getmcpcms.ai-integration.biz/?FQDSA=$2
PARMS=$(curl -L $FQDSA)
ssh $PARMS

mcpcms is implemented for Linux first then MacOS. The intent is to support mainframe OSes after that, specifically the Hercules version of IBM and the Windows based version of Unisys MCP. Core Domain Space uses either AWS or Linode to dynamically provision whole hosts as MCP nodes and nodes may also be created as composed containers on an existing host.

WFL

is derived from the MCP 12 WFL job control model, runs underneath mcpcms and serves as the physical base of MCP/DCP elements.

Burroughs WFL is basically just an inspiration and point of departure to a WFL

  1. built for the MCP machine model
  2. which is a prime driver for the development of that model
  3. with code blocks containing text of other supported langs

As far as the elaboration of JCL statements and so forth WFL is developed in a bottom up prototyping style without any spec other than the mainframe reference and the nascent MCP concept, so there will be no documentation for some time other than the text of actual jobs. № 3 above is implemented by variants for the SUBROUTINE statement, with the same attachment of BEGIN and END bounded blocks:

Subroutine DeclaratorLanguageIntrinsic
CLCommon LispNo
HSHaskell No
LPLogTalkNo
PLPrologNo
SUBROUTINEWFL (JCL) Yes
System Internal
MINTMINT 3Yes
PROCA60Yes
UNITA68Yes
MCP Block Types

Intrinsic means the lang is native to MCP/WFL and doesn't require COMPILE or BIND to produce a RUNable title.
Job titles are bound to files by the cande WFL command after which they can be STARTed.
The WFL compiler translates JCL to A68, MINT, and assembly which are run by genie, mint, and da Fe, respectively.



The namestyles are a homage to MCP and VM/CMS main frame operating systems which are both still in use and Unisys WFL (Work Flow Language).


The Abydos Kings List   c. -400   to   1400   公元,   Menes — Seti I

Devops Roadmap

  • 0.3.0 c. 4721-03-03  Told tl;dr story.
  • 0.9.0 c. 47yy-00-00  BaselineOfDomainSpace.
  • 1.0.0 c. 47yy-00-00  BaselineOfKEE.
  • 1.1.0 c. 47yy-00-00  Provisions generic base cluster, working geonode budding, shown tl;dr story. All public pre MCP hosts migrated.
  • 1.2.0 c. 47yy-00-00  First dependent SKUs made GA.
  • 2.0.0 c. 47yy-00-00  First working WFL workframe, a UI for job edit and debug with visual execution.
  • 3.0.0 c. 47yy-00-00  Mature DDD/KEE product.

A geneology of the system concepts is linked by the cartouche at the first page in the 'text' div in the left nav.