Schematic cell
This page describes the organizational forces that limit change.  It explains how to overcome them when necessary. 

Power& tradition holding back progress
This page uses an example to illustrate how:
  • A business can gain focus from targeting key customers,
  • Business planning activities performed by the whole organization can build awareness, empowerment and coherence. 
  • A program approach can ensure strategic alignment. 
Be responsive to market dynamics
This page uses the example of HP's printer organization freeing itself from its organizational constraints to sell a printer targeted at the IBM pc user. 
The constraints are described. 
The techniques to overcome them are implied. 
Overcome reactionaries
Primary Navigation

Schematic cell and mutation

Summary
This page describes a schematic system about abstracted 'animal' and 'plant' cells competing in a small world
The schematic cell was designed to focus in on the nature of
Plans change in complex adaptive systems (CAS) due to the action of genetic operations such as mutation, splitting and recombination.  The nature of the operations is described. 
mutation
and the
This web page reviews opportunities to find and capture new niches based on studying fitness landscapes using complex adaptive system (CAS) theory. 
adjacent possible

THE IMPLEMENTATION IS INCOMPLETE AND ONGOING. 
The codelets and infrastructure are included
Introduction
The adaptive web framework 'schematic cell' web page describes a
This page discusses the interdependence of perception and representation in a complex adaptive system (CAS).  Hofstadter and Mitchell's research with Copycat is reviewed. 
Copycat (perception & representation)
based instantiation of a set of abstracted eukaryotic cells, a relatively large multi-component cell type from which yeast and multi-celled plants and animals, including humans, is constructed.  It contains modules including a nucleus and production functions such as mitochondria.  .  THE IMPLEMENTATION IS INCOMPLETE AND ONGOING. 

Each cell's
Plans are interpreted and implemented by agents.  This page discusses the properties of agents in a complex adaptive system (CAS). 
It then presents examples of agents in different CAS.  The examples include a computer program where modeling and actions are performed by software agents.  These software agents are aggregates. 
The participation of agents in flows is introduced and some implications of this are outlined. 
actions
are based on
Plans emerge in complex adaptive systems (CAS) to provide the instructions that agents use to perform actions.  The component architecture and structure of the plans is reviewed. 
schematically
(schemata) controlled codelet aggregates (functions), operating on
This page describes the Smiley infrastructure that supports the associative binding of schematic strings to codelets defined in the Meta file and Slipnet. 
The infrastructure supporting the associations is introduced. 
The role of Jeff Hawkins neocortical attributes is discussed. 
Relevant Slipnet configurations are included. 
The codelets and supporting functions are included. 
labeled
structural
This page describes the Copycat Workspace. 
The specialized use of the Workspace by the adaptive web framework's (AWF) Smiley is discussed. 
How text and XML are imported into the Smiley Workspace is described. 
Telomeric aging of schematic structures is introduced. 
The internal data structure used to represent the state of each workspace object is included. 
The Workspace infrastructure functions are included. 
Workspaces


The schematic cell (scell) explores a limited world analogously to the
This page discusses a complex adaptive system (CAS) implementation of a genetic algorithm (GA), Melanie Mitchell's robot-janitor built as a set of Copycat codelets integrated using agent-based programming.  The improvement in the operation of the robots over succeeding generations of applying the GA is graphed. 

The CAS that generated, and operated the robot is reviewed, including the implementation details and codelet operational program flow, and the challenges and limitations of this implementation. 

The schematic strings which make up the robot's genotype, as well as the signals which are sent to the nucleus of the robot's agents so that the agents can deploy the appropriate response strings (which activate codelets) are listed.  The Slipnet configuration required by the system to associate the schematic strings with programmatic forces (codelets) is also listed.  The codelets and supporting perl are also listed. 

In the conclusion the limitations of the robot-janitor abstraction in studying emergence and creative evolution are discussed and alternative experimental frameworks are proposed.  One such, the schematic cell is the subject of a separate page in this web frame. 

virtual robot
.  But the scell has a metabolism supports the conversion of complex bonded structures present in food stuffs into simpler molecular structures and high energy molecules which can later be used to supply the energy needed to build complex bonded structures.  Nucleotide bases such as Adenosine (A) are used by biological cells as high energy 'intermediate' molecules.  Metabolism emerged in prokaryotic cells and in eukaryotic cells mitochondria provide this function. 
, and must find digestible structures and convert them into usable energy to continue operating.  Its metabolism is schematically controlled so it can use
Plans change in complex adaptive systems (CAS) due to the action of genetic operations such as mutation, splitting and recombination.  The nature of the operations is described. 
mutations
to explore the structures in its proximate environment.  Instead of the inert cans that the virtual robot searches for, this world has active, but static, plant cells (pcells) which 'make' energy storage structures and benefit from protecting them from the scells.  The scells are competing with each other and in an
This page reviews the strategy of setting up an arms race.  At its core this strategy depends on being able to alter, or take advantage of an alteration in, the genome or equivalent.  The situation is illustrated with examples from biology, high tech and politics. 
arms race
with the pcells. 

With the test statement (scl01) each of the one hundred initially almost identical scells wanders around its environment searching for energy sources.  All its operations use some of its available energy, so it will come under selection pressure to obtain more. 


<implement> <process> <rhlmsge> <genetic> <algorithm> <scell> </rhlmsge> <subject>
<rhlmsge> <execute> <scell> </rhlmsge> </subject> <verb>
<rhlmsge> <pickup> <in> <square> </rhlmsge> </verb> <object>
<rhlmsge> <each> <cans> </rhlmsge> </object>
<development>
<rhlmsge> <develop> <square> <cans> </rhlmsge> </development> </implement> <comment> <br>




The test statement includes schematic structures which associate with specific codelets:
The statement's component parts are modeled by infrastructure codelets.  If these find the statement acceptable and it is structurally sound then the statement codelet will commence operations. 

The development clause of statement scl01 will group complete initiating sps signalling, is an emergent capability which is used by cooperating agents to support coordination & rival agents to support control and dominance.  In eukaryotic cells signalling is used extensively.  A signal interacts with the exposed region of a receptor molecule inducing it to change shape to an activated form.  Chains of enzymes interact with the activated receptor relaying, amplifying and responding to the signal to change the state of the cell.  Many of the signalling pathways pass through the nuclear membrane and interact with the DNA to change its state.  Enzymes sensitive to the changes induced in the DNA then start to operate generating actions including sending further signals.  Cell signalling is reviewed by Helmreich.  Signalling is a fundamental aspect of CAS theory and is discussed from the abstract CAS perspective in signals and sensors.  In AWF the eukaryotic signalling architecture has been abstracted in a codelet based implementation.  To be credible signals must be hard to fake.  To be effective they must be easily detected by the target recipient. 
of the inverted vbtdev codelet (idev) builder.  At the completion of processing a valid
This page looks at Smiley's statement codelet. 
What the codelet's goals are. 
The three aspects of its operations are described. 
The indirect nature of its support for the applications programs and Shewhart cycles are illustrated. 
It describes how the application codelets are inhibited from action until the Statement codelet concludes the application's assertion or implementation statement is viable.  An application assertion statement is described and the schematic string included. 
The statement codelet Perl and its support infrastructure are included. 
statement
, the statement builder will release the
This page describes the inhibitor framework provided by the adaptive web framework's (AWF) Smiley agent programming infrastructure. 
Two mechanisms are provided:
  1. Uncompetitive inhibition of group completion. 
  2. Uncompetitive inhibition of transcription factors.  
In both cases the inhibitors provide a restriction process. 
The Slipnet inhibitor descriptions are included. 
The codelets and supporting infrastructure are included. 
inhibition
of development and the idev codelet will issue a
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
<development> <schema> <square> <cans>.  In a development phase the environment is deployed and the pcells are bred and deployed randomly into the environment. 

During the development cascade the:

Each cell includes
Walter Shewhart's iterative development process is found in many complex adaptive systems (CAS).  The mechanism is reviewed and its value in coping with random events is explained. 
Shewhart cycles
for growth, replication (schemata) and death. 

The schematic cell was designed to focus in on the nature of
Plans change in complex adaptive systems (CAS) due to the action of genetic operations such as mutation, splitting and recombination.  The nature of the operations is described. 
mutation
and the
This web page reviews opportunities to find and capture new niches based on studying fitness landscapes using complex adaptive system (CAS) theory. 
adjacent possible
.



AWF test scl1
The scl01 test statement shown following this description includes multiple parts:
The test framework should respond to this statement, decoding it's
This page introduces the many ways a complex modeling and coordination activity can be implemented using agent-based programming (see presentation). 

It describes how salient schematic alternative strings can be used to model a situation and make a decision under evolved control. 

It also introduces bottom up model codelets and complex techniques that are covered more fully on other pages. 

Constraints on the modeling process including requirements for timeliness, parallelism, synchronization and emergence of new models are discussed. 

Once a schematic sequence is selected by a group codelet or any additional type of modeling codelet the codelet will initiate an iterative cycle of detect, signal, match, deploy.  This allows the actions of a schematically selected sequence of model codelets to aggregate into a focused agent. 

A series of example signals sent by complex modeling codelets along with their associated operons and subgroup schematic sequences are included.  The signals are sent by the:
  • merge streams spdca builder - The initiator of merge streams's pdca cycle (see schematic pdca).
  • merge streams dcycip builder - The initiator of the planning phase of the merge streams's pdca cycle. 
  • merge streams cassert builder - The initiator of the mergestreams's case resolved assert true conditional cascade.  It is a structurally enhanced codelet which activates at the end of the 'do' phase and signals the nucleus. 
  • merge streams indsloc builder - The start locator codelet finds the application schemata's start operon
  • merge streams shsloc builder - A start locator codelet that finds an alternative start operon in the application schematic operon
  • merge streams rchpair builder - A receptor that detects and relays an application signal
  • pdca ecycdop builder - A cyclin simulation codelet which signals entry to the 'do' phase of the pdca. 
  • pdca acycchp builder - A cyclin simulation codelet which signals entry to the 'check' phase of the pdca. 
  • pdca bcycacp builder - A cyclin simulation codelet which signals entry to the 'act' phase of the pdca. 
And the Slipnet configuration which activates the schematic subgroup sequence <mergestreams> <for> <case> <resolved> <assert> <true> is included. 
parts
and then if it conforms to the
This page looks at how Smiley processes the statement, such as a test request, to ensure that the statement contains all required parts. 
Smiley does this through the operation of a statement codelet which indirectly sponsors the modeling of the whole statement. 
The modeling itself is performed by model codelets. 
The group models' Slipnet associations are included. 
The codelets and supporting functions are included. 
expected statement structure
,
This page looks at Smiley's statement codelet. 
What the codelet's goals are. 
The three aspects of its operations are described. 
The indirect nature of its support for the applications programs and Shewhart cycles are illustrated. 
It describes how the application codelets are inhibited from action until the Statement codelet concludes the application's assertion or implementation statement is viable.  An application assertion statement is described and the schematic string included. 
The statement codelet Perl and its support infrastructure are included. 
operating the statement
and thus initiating the test application executing first a
This page discusses how Smiley can support the start of the development phase of an agent-based application. 
Startup is an artificial operation not found in living systems.  But Smiley must do it and so we discuss an example of starting the development phase. 
With the Smiley infrastructure and the application integrated the application's development phase is reviewed.
The association of structural Workspaces for state representation is discussed. 
The aggregation of schematic associations of codelets defines a development agent.  At the application level it processes the application's schematic strings. 
The schematic nature of the data processed by the test application suggests the use of an indirect integration framework.  This supports the binding of codelets to the schematic data and detecting and responding to the control operons. 
An application polymerase complex emerges. 
The codelets and supporting functions are included. 
development codelet cascade
and then a
Walter Shewhart's iterative development process is found in many complex adaptive systems (CAS).  The mechanism is reviewed and its value in coping with random events is explained. 
Shewhart cycle
This page describes the specialized codelets that provide life-cycle and checkpoint capabilities for Smiley applications. 
The codelets implement a Shewhart cycle. 
The structural schematic nature of the cycle is described. 
Transcription factor codelets operate the phase change controls. 
How inhibitory agents are integrated into the cycle is described. 
An application agent with management and operational roles emerges. 
The codelets and supporting functions are included. 
managed
analysis of the direct and indirect details of the assertion is a hypothesis which can be tested and found to be true or false.  In the adaptive web framework's (AWF) Smiley assertion statements are used to define the test that will be applied by the application's codelets.  The statements must include schematic strings which can group complete and become associated with codelets.  Smileys own codelets: Coderack generated part and statement enforces the syntax of the assertion.  The specific form of the statements is defined in the application's Meta file.  Statement codelets also support the operation of the application's Shewhart cycle. 



#<!-- start tag scl01 -->
<implement> <process> <rhlmsge> <genetic> <algorithm> <scell> </rhlmsge> <subject>
<rhlmsge> <execute> <scell> </rhlmsge> </subject> <verb>
<rhlmsge> <pickup> <in> <square> </rhlmsge> </verb> <object>
<rhlmsge> <each> <cans> </rhlmsge> </object>
<development>
<rhlmsge> <develop> <square> <cans> </rhlmsge> </development> </implement> <comment> <br>


#<!-- end tag scl01 -->


Awfscl Schematic cell initial generation schemata
The following schematic strings are loaded by convbws.  They are group schemata which are associated with nuclear agents (nuclabm evaluator & builder) which respond to codelet signals by deploying the included sub-group schemata to the active
This page describes the Copycat Workspace. 
The specialized use of the Workspace by the adaptive web framework's (AWF) Smiley is discussed. 
How text and XML are imported into the Smiley Workspace is described. 
Telomeric aging of schematic structures is introduced. 
The internal data structure used to represent the state of each workspace object is included. 
The Workspace infrastructure functions are included. 
Workspace


The Meta-keyword <comment> toggles convbws loading between comment mode and processing active <keywords>.  In the following the initial <comment> switches convbws into active mode. 

The active keywords include meta-keyword instructions for convbws, such as <rhlmspg> and <memgroup> and schematic keywords that will be processed during nuclear operations.  The first keyword of a schematic string also identifies the start of the group and the start of the deployed subgroup. 













The partwhole function's
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
(<model> <schema> <partscategory> (<subject>| <object>| <verb>| <development>) <groupcomplete>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment. 

The signal's cascade based subject| object| verb| development Slipnet descriptions associates codelet forces (nuclabmevaluator) with the signals. 

 


<comment> (<rhlmspg> <memgroup> <execute> <scell> </memgroup> </rhlmspg> )<comment> this is needed to induce an operon <br>
<comment> (<rhlmspg> <memgroup> <each> <cans> </memgroup> </rhlmspg> )<comment>
<comment> (<rhlmspg> <memgroup> <develop> <square> <cans> </memgroup> </rhlmspg> )<comment> this is needed to induce vbtdev codelet
<comment> (<rhlmspg> <memgroup> <genetic> <algorithm> <scell> </memgroup> </rhlmspg> )<comment> this is needed to induce vbtiop codelet
<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <subject> <groupcomplete> <model> <partscategory> <subject> <salience> <threshold> <model> <partscategory> <subject> <jhlabel> <groupcomplete> </memgroup> </rhlmspg> )<comment> mgpart

<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <object> <groupcomplete> <model> <partscategory> <object> <salience> <threshold> <model> <partscategory> <object> <jhlabel> <groupcomplete> </memgroup> </rhlmspg> )<comment> mgpart

<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <verb> <groupcomplete> <model> <partscategory> <verb> <salience> <threshold> <model> <partscategory> <verb> <jhlabel> <groupcomplete> </memgroup> </rhlmspg> )<comment> mgpart





<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <development> <groupcomplete> <model> <partscategory> <development> <salience> <threshold> </memgroup> </rhlmspg> )(<rhlmspg> <memgroup> <model> <schema> <partscategory> <development> <groupcomplete> <model> <partscategory> <development> <jhlabel> <groupcomplete> </memgroup> </rhlmspg> )<comment> msalthr mgpart <br>



The partvalid function's
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
(<model> <schema> <partscategory> (<subject>| <object>| <verb>) <groupvalid>) is associated with a
Plans emerge in complex adaptive systems (CAS) to provide the instructions that agents use to perform actions.  The component architecture and structure of the plans is reviewed. 
meme
group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment. 

The statement schematic structures subject| object| verb
This page describes the Copycat Slipnet. 
The goal of the Slipnet is reviewed. 
Smiley's specialized use of the Slipnet is introduced. 
The initial Slipnet network used by the 'Merge Streams' and 'Virtual Robot' agent-based applications is setup in initchemistry and is included. 
The Slipnet infrastructure and initialization functions are included. 
Slipnet
description associates codelet forces (nuclabmevaluator) with the signals. 

 



<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <subject> <groupvalid> <model> <partscategory> <subject> <vbot> <jhlabel> <groupvalid> </memgroup> </rhlmspg> )<comment> vbtmress comment
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <subject> <groupvalid> <model> <partscategory> <subject> <jhlabel> <mcgroupvalid> </memgroup> </rhlmspg> ) comment mmcr comment
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <subject> <groupvalid> <model> <partscategory> <subject> <case> <groupvalid> </memgroup> </rhlmspg> ) comment mcssub <comment>
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <subject> <groupvalid> <model> <partscategory> <subject> <vbot> <multiple> <groupvalid> </memgroup> </rhlmspg> )<comment> msorm

<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <object> <groupvalid> <model> <partscategory> <object> <vbot> <jhlabel> <groupvalid> </memgroup> </rhlmspg> )<comment> vbtmreso comment
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <object> <groupvalid> <model> <partscategory> <object> <jhlabel> <mcgroupvalid> </memgroup> </rhlmspg> ) comment mmct comment
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <object> <groupvalid> <model> <partscategory> <object> <case> <groupvalid> </memgroup> </rhlmspg> ) comment mcsob <comment>
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <object> <groupvalid> <model> <partscategory> <object> <vbot> <multiple> <groupvalid> </memgroup> </rhlmspg> )<comment> msorm <br>

<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <verb> <groupvalid> <model> <partscategory> <verb> <vbot> <jhlabel> <groupvalid> </memgroup> </rhlmspg> )<comment> vbtmactsverb comment
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <verb> <groupvalid> <model> <partscategory> <verb> <case> <groupvalid> </memgroup> </rhlmspg> ) comment mactcverb comment
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <verb> <groupvalid> <model> <partscategory> <verb> <jhlabel> <mcgroupvalid> <model> <partscategory> <iterator> <groupvalid> </memgroup> </rhlmspg> ) comment mmcv <comment>
(<rhlmspg> <memgroup> <model> <schema> <partscategory> <verb> <groupvalid> <model> <partscategory> <verb> <vbot> <multiple> <groupvalid> </memgroup> </rhlmspg> )<comment> msorm <br>



The partconstrained function's
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
(<model> <schema> <partscategory> (<subject>| <object>| <verb>) <partconstrained>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment. 

The statement schematic structures subject| object| verb Slipnet description associates codelet forces (nuclabmevaluator) with the signals. 

 



<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <subject> <partconstrained> <model> <partscategory> <subject> <vbot> <jhlabel> <partconstrained> </memgroup> </rhlmspg> )<comment> vbtmcsp
<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <object> <partconstrained> <model> <partscategory> <object> <vbot> <jhlabel> <partconstrained> </memgroup> </rhlmspg> )<comment> vbtmcop <br>
<comment> (<rhlmspg> <memgroup> <model> <schema> <partscategory> <verb> <partconstrained> <model> <partscategory> <verb> <vbot> <jhlabel> <partconstrained> </memgroup> </rhlmspg> )<comment> vbtmcvp <br>



The statementwhole function's
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
(<model> <schema> <statementcategory> <assert> <statementcomplete>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment. 

The statement schematic structure Slipnet description associates codelet forces (nuclabmevaluator) with the signal. 

 



<comment> (<rhlmspg> <memgroup> <model> <schema> <statementcategory> <assert> <statementcomplete> <model> <statementcategory> <assert> <process> <statementwhole> </memgroup> </rhlmspg> )<comment> mwsta
<comment> (<rhlmspg> <memgroup> <model> <schema> <statementcategory> <implement> <statementcomplete> <model> <statementcategory> <implement> <process> <statementwhole> </memgroup> </rhlmspg> )<comment> mwsta





<comment> (<rhlmspg> <memgroup> <model> <schema> <devcategory> <development> <statementcomplete> <model> <schema> <development> <devcategory> <statementwhole> </memgroup> </rhlmspg> )<comment> mwstd



scldev signalled meme
The idev builder's
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
(<development> <schema> <square> <cans>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's scl01 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal. 

 


<comment> (<rhlmspg> <memgroup> <development> <schema> <square> <cans> <development> <for> <scell> <do> <deploy> <two> <square> </memgroup> </rhlmspg> )<comment> devscwld



scldevscwld signalled meme
The devscwld builder's
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
(<development> <schema> <deploy> <two> <square>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's scl01 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal. 

 


<comment> (<rhlmspg> <memgroup> <development> <schema> <deploy> <two> <square> <development> <for> <scell> <do> <deploy> <two> <cans> </memgroup> </rhlmspg> )<comment> devsccns



scldevsccns signalled meme
The devsccns builder's
This page discusses how Smiley provides signalling to its agent-based applications. 
Alternative strategies for initiating the signalling are reviewed. 
The codelets and supporting functions are included.
signal
(<development> <schema> <deploy> <two> <cans> in the future <pcell> will replace <cans>) is associated with a meme group.  The nuclabm nuclear codelet (builder) matches the signal with all the identically named nuclear Workspace deployed meme groups and heuristically selects subgroup schematic strings from the complete set to send for deployment.  The signal's scl01 cascade based Slipnet description associates codelet forces (nuclabmevaluator) with the signal. 

 


<comment> (<rhlmspg> <memgroup> <development> <schema> <deploy> <two> <cans> <development> <for> <scell> <do> <deploy> <two> <pcell> </memgroup> </rhlmspg> )<comment> devpcell

<comment> (<rhlmspg> <memgroup> <development> <schema> <initial> <development> <for> <case> <list> <startlistkw> </memgroup> </rhlmspg> )<comment> slistkw

<comment> (<rhlmspg> <memgroup> <development> <schema> <initial> <development> <for> <case> <list> <skipwso> </memgroup> </rhlmspg> )<comment> skipwso

<comment> (<rhlmspg> <memgroup> <development> <schema> <startlistkw> <development> <for> <case> <list> <namest> </memgroup> </rhlmspg> )<comment> namest

<comment> (<rhlmspg> <memgroup> <development> <schema> <startlistkw> <development> <for> <case> <list> <startrcdkw> </memgroup> </rhlmspg> )<comment> srcdkw

<comment> (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <endrcdkw> </memgroup> </rhlmspg> )<comment> endrcdkw

<comment> (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <seltst> </memgroup> </rhlmspg> )<comment> seltst

<comment> (<rhlmspg> <memgroup> <development> <schema> <startrcdkw> <development> <for> <case> <list> <endrcdkw> </memgroup> </rhlmspg> )<comment> endrcdkw

<comment> (<rhlmspg> <memgroup> <development> <schema> <endrcdkw> <development> <for> <case> <list> <startrcdkw> </memgroup> </rhlmspg> )<comment> srcdkw

<comment> (<rhlmspg> <memgroup> <development> <schema> <endrcdkw> <development> <for> <case> <list> <endlistkw> </memgroup> </rhlmspg> )<comment> endlistkw

<comment> (<rhlmspg> <memgroup> <development> <schema> <endlistkw> <development> <for> <case> <list> <unbind> </memgroup> </rhlmspg> )<comment> unbind

<comment> (<rhlmspg> <memgroup> <development> <schema> <endlistkw> <development> <for> <case> <list> <startlistkw> </memgroup> </rhlmspg> )<comment> slistkw





#<!-- start tag scs -->


<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <initialise> <deploy> <case> <assert> <mergestreams> <for> <case> <resolved> <assert> <initialise> </memgroup> </rhlmspg> )<comment> initpdca

<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <deploy> <case> <assert> <mergestreams> <for> <statementcomplete> <program> <initiate> </memgroup> </rhlmspg> )<comment> spdca

#<!-- end tag scs -->

#<!-- start tag scs -->

<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <deploy> <case> <assert> <mergestreams> <for> <program> <transcription> <factor> </memgroup> </rhlmspg> )<comment> e2ftf

<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <deploy> <case> <assert> <mergestreams> <for> <program> <pdca> <change> <inhibitor> </memgroup> </rhlmspg> )<comment> prb

#<!-- end tag scs -->

#<!-- start tag scs -->
#<!-- start tag smo -->

<comment> (<rhlmspg> <memgroup> <mergestreams> <program> <initiate> <mergestreams> <for> <program> <initiate> </memgroup> </rhlmspg> )<comment> dcycip

<comment> (<rhlmspg> <memgroup> <mergestreams> <program> <do> <mergestreams> <for> <case> <resolved> <assert> <true> </memgroup> </rhlmspg> )<comment> cassert

<comment> (<rhlmspg> <memgroup> <mergestreams> <source> <target> <assert> <true> <mergestreams> <for> <source> <target> <compare> <list> </memgroup> </rhlmspg> )<comment> stbind

<comment> (<rhlmspg> <memgroup> <mergestreams> <source> <target> <assert> <true> <mergestreams> <for> <source> <target> <list> <initial> </memgroup> </rhlmspg> )<comment> indsloc

<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <source> <target> <list> <initial> <mergestreams> <for> <source> <target> <merge> <initial> </memgroup> </rhlmspg> )<comment> shsloc

#<!-- start tag sir -->
<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <source> <target> <merge> <initial> <mergestreams> <for> <source> <target> <compare> <streams> </memgroup> </rhlmspg> )<comment> rchpair

<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <source> <target> <compare> <streams> <mergestreams> <for> <source> <target> <integrate> <compare> <streams> </memgroup> </rhlmspg> )<comment> rchpint

comment (<rhlmspg> <memgroup> <mergestreams> <schema> <source> <target> <merge> <initial> <mergestreams> <for> <source> <target> <match> <name> </memgroup> </rhlmspg> ) comment ripkwm

comment (<rhlmspg> <memgroup> <mergestreams> <schema> <source> <target> <match> <name> <mergestreams> <for> <source> <target> <integrate> <match> <name> </memgroup> </rhlmspg> ) comment rpkwmint

#<!-- end tag sir -->
<comment> (<rhlmspg> <memgroup> <mergestreams> <program> <do> <mergestreams> <for> <program> <do> </memgroup> </rhlmspg> )<comment> ecycdop

<comment> (<rhlmspg> <memgroup> <mergestreams> <program> <check> <mergestreams> <for> <program> <check> </memgroup> </rhlmspg> )<comment> acycchp

<comment> (<rhlmspg> <memgroup> <mergestreams> <program> <act> <mergestreams> <for> <program> <act> </memgroup> </rhlmspg> )<comment> bcycacp

<comment> (<rhlmspg> <memgroup> <mergestreams> <program> <terminate> <mergestreams> <for> <program> <terminate> </memgroup> </rhlmspg> )<comment> dcyctp

#<!-- end tag smo -->
#<!-- end tag scs -->

Scell world

The schematic cell world is 10 by 10.

 
<scellworldx>x dimension</scellworldx><scellworldy>y dimension</scellworldy>


Scell symbols


 
<scl>
<scell>
<pcell>
<membrane>
<external>
<internal>
<buffer>
<liposome>
<cycle>
<evolution>
<replication>


#
    my ($pconc, $jhlsid);
#
# liposome

    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnd}
      [$Awfif::memes-> {snnh} {liposome}] = 1;
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc}
      [$Awfif::memes-> {snnh} {liposome}][0] = 13;#13
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc}
      [$Awfif::memes-> {snnh} {liposome}][1] = 12;#5
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {liposome}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$Awfif::memes-> {snnh} {namedcategory},$Awfif::memes-> {snnh} {liposome},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {liposome}]);
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {liposome}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$Awfif::memes-> {snnh} {testcategory},$Awfif::memes-> {snnh} {liposome},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {liposome}]);
# cscldbbindtomsig
# & a label for a sps indirectly from model via $pconc
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 18, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc, undef(), undef(), undef(), 't'), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {for}, $Awfif::memes-> {snnh} {scell}, $Awfif::memes-> {snnh} {do}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {two}, $Awfif::memes-> {snnh} {square});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {devscwldevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {bind},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {bind}]);
# csscnsbindtomsig
# & a label for a sps indirectly from model via $pconc
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 18, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc, undef(), undef(), undef(), 't'), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {for}, $Awfif::memes-> {snnh} {scell}, $Awfif::memes-> {snnh} {do}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {two}, $Awfif::memes-> {snnh} {cans});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {devsccnsevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {bind},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {bind}]);
# cscldcbindtomsig
# & a label for a sps indirectly from model via $pconc
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 18, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc, undef(), undef(), undef(), 't'), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {for}, $Awfif::memes-> {snnh} {scell}, $Awfif::memes-> {snnh} {do}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {two}, $Awfif::memes-> {snnh} {pcell});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {devpcellevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {bind},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {bind}]);
# cscldsbindtomsig
# & a label for a sps indirectly from model via $pconc
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {bind}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 18, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc, undef(), undef(), undef(), 't'), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {for}, $Awfif::memes-> {snnh} {scell}, $Awfif::memes-> {snnh} {do}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {two}, $Awfif::memes-> {snnh} {schema});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {devscellevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {bind}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {bind},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {bind}]);
# dscllibindtomsiggv

# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [1], 8, $Awfif::memes-> {currentwsbi});
# next want to setup the operon
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, ($jhlsid = Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 2, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc)), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {square}, $Awfif::memes-> {snnh} {cans}, $Awfif::memes-> {snnh} {attribr});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {nuclabmevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlstm ($jhlsid, 'devscwldbuilder');
# dsclwlibindtomsiggv

# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [1], 8, $Awfif::memes-> {currentwsbi});
# next want to setup the operon
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, ($jhlsid = Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 2, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc)), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {two}, $Awfif::memes-> {snnh} {square}, $Awfif::memes-> {snnh} {attribr});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {nuclabmevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlstm ($jhlsid, 'devsccnsbuilder');
# dsclscibindtomsiggv

# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [1], 8, $Awfif::memes-> {currentwsbi});
# next want to setup the operon
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, ($jhlsid = Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 2, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc)), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {two}, $Awfif::memes-> {snnh} {cans}, $Awfif::memes-> {snnh} {attribr});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {nuclabmevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlstm ($jhlsid, 'devpcellbuilder');
# dsclpcibindtomsiggv

# setup the binding string for the multi path signal to control development processing - development codelets launch nuclabmcodelets which ignore the concept as long as it had an evaluator
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {development}] [1], 8, $Awfif::memes-> {currentwsbi});
# next want to setup the operon
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, ($jhlsid = Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 2, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc)), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {two}, $Awfif::memes-> {snnh} {pcell}, $Awfif::memes-> {snnh} {attribr});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {nuclabmevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlstm ($jhlsid, 'devscellbuilder');
# sclsmkwbindtosig
# setup the binding string for the single path signal to initiate a matchkword

    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {execute}, $Awfif::memes-> {snnh} {scell});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {mkwevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
#<!-- start tag vbt -->
# vbtsmkwibindtosig
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {inspector}, $Awfif::memes-> {snnh} {mkwinspector}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# vbtomkwbindtosig
# setup the binding string for the single path signal to initiate a matchkword

    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {each}, $Awfif::memes-> {snnh} {cans});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {mkwevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# vbtomkwibindtosig
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {inspector}, $Awfif::memes-> {snnh} {mkwinspector}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# vbtvmkwbindtosig
# setup the binding string for the single path signal to initiate a matchkword

    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {in}, $Awfif::memes-> {snnh} {square});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {mkwevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# vbtomkwibindtosig
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {inspector}, $Awfif::memes-> {snnh} {mkwinspector}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# vbtdmkwbindtosig
# setup the binding string for the single path signal to initiate a matchkword

    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {matchkword}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {spsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {develop}, $Awfif::memes-> {snnh} {square}, $Awfif::memes-> {snnh} {cans});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {mkwevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# vbtomkwibindtosig
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {inspector}, $Awfif::memes-> {snnh} {mkwinspector}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
#<!-- end tag vbt -->

Functions

#
sub getnstatement {
    my($myli, $wsoid, $ws)=@_;
    my ($found, $cwsbi, $i);
# scan forward from wso to the next statement
#

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("getnstatement wsoid($wsoid) wso($ws)");
      };

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $Awfif::memes-> {currentwsbi} = $ws;
    if ( defined ($Awfif::wsbl-> {getmys}-> {awsoadr ($wsoid)}) ){

      $found = $Awfif::wsbl-> {getmys}-> {awsoadr ($wsoid)}
      }#use cache to help vbotga
    else {

      for ($i = $wsoid; (($i != $Awfif::wsbl-> {wsoh} [$ws]) && (!defined ($found))); $i = trwsoadr ($i,1)) {

        if( bustatement1 ($myli, $i, $Awfif::wsbl-> {wsoh} [$ws], $Awfif::wsbl-> {wsot} [$ws]) > 0) {

          $found = $i;
          $Awfif::wsbl-> {getmys}-> {awsoadr ($wsoid)} = $found;
          };#if
        };#for
      };#else

    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("getnstatement ret $found\n");
      };
    return $found
    }# getnstatement
#
#
sub bustatement1 {
    my($myli, $i, $kwp, $kwpr)=@_;
    my($result, $ai, $conforms);
# Statement wants to identify objects with statement set in tokens
#
# updated for merged workspaces

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      my ($pr);
      $pr = $Awfif::memes-> {currentwsbi};
      print ("bustatement1 myli = $myli, i $pr:$i ");
      };
    $ai = awsoadr ($i);
# check if this wso is a statement
    if ($Awfif::wsol-> {l}[$ai][ $Awfif::memes-> {wsobus}] != 0){#*** submacrok ***#

      $result = $Awfif::wsol-> {l}[$ai][ $Awfif::memes-> {wsobus}];#*** submacrok ***#
      }
    elsif ((chmdefis ($myli, $i, $Awfif::memes-> {snnh}{statement}, \$conforms, $kwp, $kwpr,))
    && ((chmdefis ($myli, $i, $Awfif::memes-> {snnh}{start}, \$conforms, $kwp, $kwpr,))
      or (chmdefis ($myli, $i, $Awfif::memes-> {snnh}{alternate}, \$conforms, $kwp, $kwpr,)) )
    && (isterminated ($i, $kwp, $kwpr) > 0) ){

      $result = 500;
      $Awfif::wsol-> {l}[$ai][ $Awfif::memes-> {wsobus}] = $result;#*** submacrok ***#
      }# if
    else {

      $result = 0;
      $Awfif::wsol-> {l}[$ai][ $Awfif::memes-> {wsobus}] = $result;#*** submacrok ***#
      };

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("bustatement1 ret $result\n");
      };
    return $result
    }# bustatement1
#
#
sub inewaws {
    my ($myli, $buffers, $grkwp, $grkwpr, $sponsor, $makesubprogram) = @_;
#
# create a new active workspace
#
    return isetupws ($myli, $buffers, $grkwp, $grkwpr, $sponsor, $makesubprogram, undef (), 't');
    }#iaddsg
#
sub iaddsg {
    my ($myli, $buffers, $grkwp, $grkwpr, $sponsor, $usews) = @_;
#
# add a group to a structural workspace
#
    return isetupws ($myli, $buffers, $grkwp, $grkwpr, $sponsor, undef (), $usews);
    }#iaddsg
#
sub isetupws {
    my ($myli, $buffers, $grkwp, $grkwpr, $sponsor, $makesubprogram, $usews, $makeactive) = @_;
#
# create a new structural workspace
    my ($tws, $buffer, $active, $depstag, $depttag, $dephtag, $insymbol, @inmsymbol, @started, $end, $cwsbi, $setwsclinv, $binding);
#
# checked for merged workspaces

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("isetupws buffers($$buffers) grkwp $$grkwp grkwpr $grkwpr sponsor $sponsor ");
      if (defined ($makesubprogram)) {
        print ("makesubprogram $makesubprogram ");
        };#if
      if (defined ($usews)) {
        print ("usews $usews ");
        };#if
      if (defined ($makeactive)) {
        print ("makeactive $makeactive ");
        };#if
      };
    $cwsbi = $Awfif::memes-> {currentwsbi};

    if (defined ($makesubprogram)) {

      $binding = $makesubprogram;
      }#if
    else {

      $binding = $Awfif::memes-> {snnh} {stbinding};
      };#else
    if (!defined ($usews)) {

      $tws = setupws ();
      }#if
    else {

      $tws = $usews;
      };#else
    if ((defined ($makeactive)) && ($makeactive)) {

      $active = $makeactive;
      $buffer = $$buffers;
      }#if
    else {

      $active = '';
      $buffer = '(<rhlmspg>';
      $buffer = $buffer . $$buffers;
      $buffer = $buffer . '</rhlmspg>)';
      };#else
    $Awfif::wsbl-> {wsactive}[$tws] = $active;#default the workspace to being processed by the coderack structural workspaces may be inactive

    $depstag = '';
    $depttag = 0;
    $dephtag = 0;
    $insymbol = '';
    @inmsymbol = ();
    $started[0] = 0;
    $started[1] = 't';
    $setwsclinv = '';

    &convbws ($myli, \$buffer, \$$grkwp, $grkwpr, $Awfif::memes-> {kwmi}, $Awfif::memes-> {kwmir}, $sponsor, \$insymbol, \@inmsymbol, \@started, \$end, \$depstag, \$depttag, \$dephtag, $tws, $binding,
      $Awfif::memes-> {strbool}[$Awfif::memes-> {streh} {budesc}],
      '', #dont energize the base types
      \$setwsclinv
      );
    $Awfif::wsbl-> {wsft} [$tws] = setfwst ($Awfif::wsbl-> {wsbloh} [$tws], $Awfif::wsbl-> {wsot}[$tws], $tws);

    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("isetupwsx ret $tws\n");
      };
    return $tws;
    }#isetupws
#
#
sub statementpdca {#
    my($myli, $sti, $kwp, $kwpr, $sactset, $iststrategy)=@_;
    my ($finished, $giveup, $ststrategy);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("statementpdca myli $myli ");
      };
# updated for merged workspaces
# statementpdca is called within statement codelet
# it uses statement/part model launcher to check if the plan associated with cascade statementpdcal is modelled and described as model-(assert|implement)->plan or stopped,

    if (!defined ($iststrategy) ){

      $ststrategy = 'statementpdcal';
      } #if
    else {

      $ststrategy = $iststrategy;
      };#else

    $finished = ilaunchmodel ($myli, $sti, $ststrategy, $Awfif::memes-> {snnh} {plan}, \$giveup, $kwp, $kwpr, \@$sactset);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("statementpdcax giveup $giveup ret ($finished)\n");
      };
    return $finished
    }# statementpdca
#
#
sub screplicate1 {# setup the labels for statement
    my($myli, $sti, $lab, $kwp, $kwpr, $sactset, $static)=@_;
    my ($labcount, $concept, $drefi, $cwsbi);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("screplicate myli $myli sti $sti kwp $kwp kwpr $kwpr sactset $$sactset[0] ");
      };
# updated for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l}[$myli] [20];
    $labcount = 0;
    &findcounter ($Awfif::wsol-> {l} [awsoadr ($sti)][2], ($Awfif::memes-> {snnh}{pdcaprogram}), \$drefi);
    if ($drefi != 0) {
      $concept = ($Awfif::workspace-> {l} [$drefi] [2] - $Awfif::memes-> {snnh}{wsi});
      };#if
    if (($drefi != 0) && ($concept != 0)) {


      $labcount = labload (\@$lab, $labcount, $concept);
      $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {replication});
      $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {initiate});
      };#if

    if (defined ($$static)) {
      $$static = '';#can't depend on this being the same every return - don't cache
      };#if

    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("screplicatex ret ($labcount)\n");
      };
    return $labcount
    }# screplicate
#
#
sub pcellb1 {# setup the binding for pcell structural workspace
    my($myli, $sti, $lab, $kwp, $kwpr, $sactset, $static)=@_;
    my ($labcount);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("pcellb1 myli $myli sti $sti kwp($kwp) kwpr($kwpr) sactset($$sactset[0]) ");
      };
# updated for merged workspaces

    $labcount = 0;

    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {cans});
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {naught});
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {schema});
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {integration});

    if (defined ($$static)) {
      $$static = 't';#can depend on this being the same every return - can cache
      };#if

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("pcellbx ret ($labcount)\n");
      };
    return $labcount
    }# pcellb
#
#
sub ilbtonws {
    my ($myli, $pathname, $apathname, $activews, $grkwp, $grkwpr) = @_;
    my ($sponsor, $end, $cwsbi, $depstag, $depttag, $dephtag, $wsi, $sgmrecs, $setwsclinv, $insymbol, $buffer);
    my (@started, @inmsymbol);
#
# load nuclear workspace from file pathname [+ apathname]

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("ilbtonws myli $myli pathname($pathname) activews($activews) ");
      if (defined ($apathname)){
        print ("apathname($apathname) ");
        };#if
      &itcpoutput ($myli);
      };
# groups must use the full workspace

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $sponsor = $Awfif::codelet-> {l} [$myli][17];

    $Awfif::wsbl->{sgmfile} = ();
    $sgmrecs = 0;
    &Awfif::includesource (
      $pathname,
      \@{$Awfif::wsbl->{sgmfile}},
      \$sgmrecs
      );
    $insymbol = '';
    @inmsymbol = ();
    $started[0] = 0;
    $started[1] = 't';
    $end = '';
    $depstag = '';
    $depttag = 0;
    $dephtag = 0;
    $setwsclinv = '';
# setup a nuclear workspace for the deployment
    $wsi = setupws();
    $Awfif::wsbl-> {wsactive}[$wsi] = $activews;#define if this workspace will be processed by the coderack
    foreach $buffer (@{$Awfif::wsbl->{sgmfile}}) {

      &Awfif::convbws ($myli, \$buffer, \$grkwp, $grkwpr, $Awfif::memes-> {kwmi}, $Awfif::memes-> {kwmir}, $sponsor, \$insymbol, \@inmsymbol, \@started, \$end, \$depstag, \$depttag, \$dephtag, $wsi, $Awfif::memes-> {snnh} {operon}, $Awfif::memes-> {allwsstr},
        '', #don't energize the base types
        \$setwsclinv
        );
      };#transform the file into work space objects

    if (defined ($apathname)){
# include the memetic updates

      $Awfif::wsbl->{sgmfile} = ();
      $sgmrecs = 0;
      &Awfif::includesource (
        $apathname,
        \@{$Awfif::wsbl->{sgmfile}},
        \$sgmrecs
        );
      $insymbol = '';
      @inmsymbol = ();
# seems like convbws should start afresh on this buffer
      $started[0] = 0;
      $started[1] = 't';
      $end = '';
      $depstag = '';
      $depttag = 0;
      $dephtag = 0;
      $setwsclinv = '';
      foreach $buffer (@{$Awfif::wsbl->{sgmfile}}) {

        &Awfif::convbws ($myli, \$buffer, \$grkwp, $grkwpr, $Awfif::memes-> {kwmi}, $Awfif::memes-> {kwmir}, $sponsor, \$insymbol, \@inmsymbol, \@started, \$end, \$depstag, \$depttag, \$dephtag, $wsi, $Awfif::memes-> {snnh} {operon}, $Awfif::memes-> {allwsstr},
          '', #don't energize the base types
          \$setwsclinv
          );
        };#transform the file into work space objects
      };#if aux update file

    $Awfif::wsbl-> {wsft} [$wsi] = setfwst ($Awfif::wsbl->{wsoh}[$wsi], $Awfif::wsbl->{wsot}[$wsi], $wsi);
    &Awfif::stripichar ($Awfif::wsbl->{wsoh}[$wsi], $wsi);
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("ilbtonws ret ($wsi)\n");
      };
    return $wsi
    }# ilbtonws
#
#
sub idevevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset, $sscon, $sgetab, $sbuilder) = @_;
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $abdwso,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

# development codelet responds to group complete that includes its operon
    $noswstype = 't';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 4)) {
      my ($stwso, $astwso, $twso, $asponsor);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);

# Find the statement wso and obtain any stream descriptions - These should include important streams for development
      $stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);
# if the statement does not have stream descriptions for the builder to work on give up
      if ((findtdesc ($Awfif::wsol-> {l} [ $astwso] [2], $Awfif::memes-> {snnh} {stream}) != 0)
      or ($sbuilder =~ /vbt/i)
# the builder will need to deal with istream structures too but no point if there is no direct stream they would be described in
# Otherwise need to setup the builder so that it sees the key context wso immediately after the operon starts
      ){#launch builder

        $Awfif::clp = ();
        $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];
# devevalubo1
        if (ifindupri ($myli, $sponsor, $sscon, undef(), undef(), undef(), undef(), undef(),'t')
# devevalubo2
        && (getabdwso ($myli, $sponsor, $sgetab, \$abdwso))
        && (!findbond ($Awfif::wsol-> {l} [ $abdwso][2], $Awfif::memes-> {snnh} {casbound}, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {model}))
        ){#

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] / $Awfif::memes-> {pappbu});
# devevalubo3
          &dropsalience ($myli, $sponsor, $sscon);
          }#if
        else {
          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] * $Awfif::memes-> {blaunchm});
          };#else
        if (defined ($Awfif::codelet-> {l}[$myli][19])) {

          $Awfif::clp-> {wsi} = $Awfif::codelet-> {l}[$myli][19];
          }#wsi set
        else {

          $Awfif::clp-> {wsi} = $Awfif::memes-> {currentwsbi};
          };
        $Awfif::clp-> {strategy} = $sbuilder;
        $Awfif::clp-> {action}-> {sponsor} = $sponsor+1;
        $Awfif::clp-> {action}-> {signal} = $Awfif::codelet-> {l} [$myli][16];
        $Awfif::clp-> {action}-> {schema} = $Awfif::codelet-> {l} [$myli][18];
        $Awfif::clp-> {action}-> {ref} = $spi;
        $Awfif::clp-> {action}-> {sws} = $Awfif::codelet-> {l} [$myli] [20];
        $Awfif::clp-> {action}-> {wss} = $Awfif::codelet-> {l} [$myli][21]+1;
        $Awfif::clp-> {action}-> {wse} = $Awfif::codelet-> {l} [$myli][22];
        $Awfif::clp-> {action}-> {wsoname} = 0;
        &groupsinv1 ($myli, undef(), undef(), undef(), undef(),undef(), $sbuilder, $kwp, $kwpr, \@$sactset);
        }
      else {#report error no direct stream found

        my ($awss);
        $awss = awsoadr ($Awfif::codelet-> {l} [$myli][21]);
        $Awfif::wsol-> {l} [$awss][2]
        = setupdesc ( $Awfif::memes-> {snnh} {devcsp},
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {error}),
            $Awfif::memes-> {snnh} {devevaluator},
            $Awfif::wsol-> {l} [$awss] [2],
            $awss);
        };
      };#got buffer

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# idevevaluator1
#<!-- end tag vbt -->
#
sub idevbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset, $sscon, $sgetab, $sgetai) = @_;
    my ($sponsor, $sponsortype, $dwso, $adwso, $signal, $schema, $found, $bcount, $swstype, $noswstype, $cwsbi, $bdwso, $abdwso, $bcexists, $tws,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

# look for development binder's workspace

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $found = '';
    $bcount = 0;
    $noswstype = 't';
    $bcexists = '';

# now check the workspace for salient workspace type with model status descriptor
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 4)) {
      my ($stwso, $astwso, $streamdscid, $giveup);

      $sponsortype = wsbasetype ($sponsor);
      $dwso = igetmynowner ($myli, $sponsor, 'budevelopment', $grkwp, $grkwpr);
# Find the statement wso and obtain any stream descriptions - These should include important streams for development
      $stwso = igetmynowner ($myli, $sponsor, 'bustatement', $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);
      if ($sscon !~ /vbt/i){
# The statement does have stream descriptions or the evaluator would not have called me

        $streamdscid = findtdesc ($Awfif::wsol-> {l} [ $astwso] [2], $Awfif::memes-> {snnh} {stream});
        $adwso = awsoadr ($dwso);
        };
# get the stream name

      my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge);
      $bcount = ifindb ($myli, $sponsor, $sgetab, \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't');
      if ($bcount <= 0) {#create the binder structure
        my ($buffer);
# devbinitregu1
# can initialise the development regulatory structure

        $buffer = '<development>';
        &initschcon ($myli, \$buffer, \$$kwp, $kwpr, $sponsor);
# devbuildercstb

        $buffer = '<development><sequence><integration>';
        $tws = inewstws ($myli, \$buffer, \$grkwp, $grkwpr, $sponsor);
# idevbreward

        $Awfif::memes-> {fatp} = $Awfif::memes-> {fatp} + $Awfif::memes-> {batp};
        };#if
# now know there is a development integration binder ws locate the developmentb schemata
      if ( ifindb ($myli, $sponsor, $sgetab, \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1) {
        $bcexists = 't';
        $bdwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$tws);
# The statement codelets stream descriptors are deployed to the <development> wso
        $Awfif::memes-> {currentwsbi} = $tws;
        $abdwso = awsoadr ($bdwso);
        if ( (findtdesc ($Awfif::wsol-> {l} [ $abdwso] [2], $Awfif::memes-> {snnh} {stream}) == 0)
        && ($sscon !~ /vbt/i)
        ){

          $Awfif::wsol-> {l} [$abdwso][2]
          = setupdesc ( $Awfif::workspace-> {l} [$streamdscid][3],
              $Awfif::workspace-> {l} [$streamdscid][2],
              $Awfif::workspace-> {l} [$streamdscid][4],
              $Awfif::wsol-> {l} [$abdwso] [2],
              $abdwso);
          };#if
        };# if find then update binder ws
      if (
      ($bcexists)
      && (!findbond ($Awfif::wsol-> {l} [ $abdwso][2], $Awfif::memes-> {snnh} {casbound}, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {model}))
      ){
# devbuilderswdevi
# The builder [mps] signals the nucleus <development> <schema> [<wso 'string' provided by evaluator>]

        $Awfif::memes-> {currentwsbi} = $cwsbi;
        &ilaunchnc ($myli, $dwso, $sgetai, $Awfif::memes-> {snnh} {deviwhole}, \$giveup, $grkwp, $grkwpr, \@$sactset,
          '32,37', #mask out codelet-> {l} [32] i.e. {tfree}
          undef (), #usetrans
          undef (), #transid
          undef (), #transtatus
          undef (), #subprogram
          undef (), #jhlabeli
          undef (), #jhlabeloi
          undef (), #newli
          undef (), #hiurg
          undef (), #usepooling
          ( (ifindupri ($myli, $sponsor, $sscon, undef(), undef(), undef(), undef(), undef(),'t'))
            && (getabdwso ($myli, $sponsor, $sgetab, \$abdwso))
            && (!findbond ($Awfif::wsol-> {l} [ $abdwso][2], $Awfif::memes-> {snnh} {casbound}, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {model}))
          )#buildoffurg
          );
        };#if
# report that have initiated development integration activity

      if ((!findbond ($Awfif::wsol-> {l} [ $adwso][2], $Awfif::memes-> {snnh} {integration}, $Awfif::memes-> {snnh} {devcsp}, $Awfif::memes-> {snnh} {devbuilder})) ){
        $Awfif::wsol-> {l} [$adwso] [2]
        = setupdesc ( $Awfif::memes-> {snnh} {devcsp},
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {integration}),
            $Awfif::memes-> {snnh} {devbuilder},
            $Awfif::wsol-> {l} [$adwso] [2],
            $adwso);
        };#if
# need to continue stimulating the dev activity until binder's next cascade sponsor describes taking control
# It will be deployed into the binder's context structural workspace

      if (
      ($bcexists)
      && (!findbond ($Awfif::wsol-> {l} [ $abdwso][2], $Awfif::memes-> {snnh} {casbound}, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {model})) ){

        my ($sgdi, $gsponsor);
# devbuildertfu
# can't free until loose sponsorship

# see 62.2.2.1 $Awfif::memes-> {temp} [$Awfif::memes-> {currentwsbi}] = $Awfif::memes-> {statementbtemp};
        if (!$Awfif::memes-> {tdgscramp}) {
          $Awfif::memes-> {tdgscramp} = 't';
          $Awfif::memes-> {tdgsurg} *= $Awfif::memes-> {tdgsramp};
          };#if
        &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{cassponsor}, $sscon);
        &fgrpd ($myli, $sponsor, \$sgdi, $Awfif::memes->{snnh}{groupcategory});
        $gsponsor = fgrpsponsor ($sponsor, $Awfif::workspace-> {l} [$sgdi] [3], $Awfif::memes-> {snnh} {groupcategory});
        $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
        ¬gcompleted ($myli, $gsponsor, undef(), 't', $sscon);
        }#re stimulate dev activity
      else {
# must free once loose sponsorship

        &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor}, $sscon);
        };#else
      };#got target wso

    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# idevbuilder1
#
#
sub initpdcascevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture

    &iinitpdcaevaluator1 ($myli, \$$kwp, $kwpr, \@$sactset, 'initpdcascbuilder', 't');
    }# initpdcascevaluator1
#
#<!-- start tag scs -->
#
sub iinitpdcaevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset, $strategy, $nostream) = @_;
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $abdwso, $cwsbi,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

# init pdca codelet responds to its signal by initiating the planning phase of the merge stream application
    $cwsbi = $Awfif::memes-> {currentwsbi};
    $noswstype = 't';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 4)) {
      my ($stwso, $astwso, $twso, $asponsor);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);

# Find the statement wso and obtain any stream descriptions - These should include important streams for development
      $stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);
# if the statement does not have stream descriptions for the builder to work on give up
      if ( (findtdesc ($Awfif::wsol-> {l} [ $astwso] [2], $Awfif::memes-> {snnh} {stream}) != 0)
      or ( (defined ($nostream)) && ($nostream) )
# the builder will need to deal with istream structures too but no point if there is no direct stream they would be described in
# Otherwise need to setup the builder so that it sees the key context wso immediately after the operon starts
      ){#launch builder

        $Awfif::clp = ();
        $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];
# initpdcaevalubo1
        if (ifindupri ($myli, $sponsor)
# initpdcaevalubo2
        && (getabdwso ($myli, $sponsor, 'binderp1', \$abdwso))
        && (!findbond ($Awfif::wsol-> {l} [ $abdwso][2], $Awfif::memes-> {snnh} {casbound}, $Awfif::memes-> {snnh} {mergestreams}, $Awfif::memes-> {snnh} {model}))
        ){#

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] / $Awfif::memes-> {pappbu});
# initpdcaevalubo3
          &dropsalience ($myli, $sponsor);
          }#if
        else {
          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] * $Awfif::memes-> {blaunchm});
          };#else
        if (defined ($Awfif::codelet-> {l}[$myli][19])) {

          $Awfif::clp-> {wsi} = $Awfif::codelet-> {l}[$myli][19];
          }#wsi set
        else {

          $Awfif::clp-> {wsi} = $Awfif::memes-> {currentwsbi};
          };
        $Awfif::clp-> {strategy} = $strategy;
        $Awfif::clp-> {action}-> {sponsor} = $sponsor;
        $Awfif::clp-> {action}-> {signal} = $Awfif::codelet-> {l} [$myli][16];
        $Awfif::clp-> {action}-> {schema} = $Awfif::codelet-> {l} [$myli][18];
        $Awfif::clp-> {action}-> {ref} = $spi;
        $Awfif::clp-> {action}-> {sws} = $Awfif::codelet-> {l} [$myli] [20];
        $Awfif::clp-> {action}-> {wss} = $Awfif::codelet-> {l} [$myli][21];
        $Awfif::clp-> {action}-> {wse} = $Awfif::codelet-> {l} [$myli][22]-1;
        $Awfif::clp-> {action}-> {wsoname} = 0;
        &groupsinv1 ($myli, undef(), undef(), undef(), undef(),undef(), $strategy, $$kwp, $kwpr, \@$sactset);
        }
      else {#report error no direct stream found

        my ($awss);
        $awss = awsoadr ($Awfif::codelet-> {l} [$myli][21]);
        $Awfif::wsol-> {l} [$awss][2]
        = setupdesc ( $Awfif::memes-> {snnh} {asopcsp},
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {error}),
            $Awfif::memes-> {snnh} {initpdcaevaluator},
            $Awfif::wsol-> {l} [$awss] [2],
            $awss);
        };
      };#got buffer
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# iinitpdcaevaluator1
#
#
sub initpdcascbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);
    if ((defined ($kwp))
    && ($kwp == 1)
    ) {
      print ("myli $myli kwp($kwp) kwpr($kwpr) sactset($$sactset[0]) \n");
      };#if

    $salience = $Awfif::memes-> {bnotsalient};
    $$and = 't';
    return $salience
    }# initpdcascbsmodeler1
#
#
sub initpdcascbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture

#
#<!-- start tag scs -->
#
sub iinitpdcabuilder1 {
    my ($myli, $kwp, $kwpr, $sactset, $deprelative) = @_;
    my ($sponsor, $sponsortype, $signal, $schema, $found, $bcount, $swstype, $noswstype, $cwsbi, $bdwso, $abdwso, $bcexists, $tws,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# initiate the Shewhart cycle that will include both operation and control codelets

# look for assert binder's workspace

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $found = '';
    $bcount = 0;
    $noswstype = 't';
    $bcexists = '';

# now check the workspace for salient workspace type with model status descriptor
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 4)) {
      my ($stwso, $astwso, $giveup);

      $sponsortype = wsbasetype ($sponsor);
# Find the statement wso and obtain the statement's wso type
      $stwso = igetmynowner ($myli, $sponsor, 'bustatement', $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);

      my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge);
      if ( (!defined ($deprelative)) or (!$deprelative) ){

        $bcount = ifindb ($myli, $stwso, 'pdcab', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't');
        if ($bcount <= 0) {#create the pdca binder structure
# initpdcabuildercstb

          my ($buffer);
          $buffer = '';
          $buffer = $buffer . '<pdca><sequence><integration>' . '<transcription><factor><sequence><integration>' . '<inhibitor><sequence><integration>';
          &inewstws ($myli, \$buffer, \$grkwp, $grkwpr, $sponsor);
          };#if

        if ( ifindb ($myli, $stwso, 'pdcab', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1) {

          $bcexists = 't';
          $bdwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$tws);

          };# if find then update binder ws
        }#if deploy absolute
      else {#deploy relative

        my ($pdcawso, $pws, $imemwso);
        $bcount = ifindb ($myli, $stwso, 'imemb', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset);
        $imemwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$pws);
# find the pdca binding and issue the control signal
        if ($bcount == 1) {

          $bcount = ifindb ($myli, $stwso, 'pdcab', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, $pws);
          $pdcawso = getstsbws ($myli, $sigcount, \@lomatchs, \@lola, $pws);
          if (($bcount <= 0) ){#add relative pdca area
# initpdcabuilderrcst1

            my ($buffer);
            $buffer = '';
            $buffer = $buffer . '<pdca><sequence><integration>' . '<transcription><factor><sequence><integration>' . '<inhibitor><sequence><integration>';
            &iaddsg ($myli, \$buffer, \$$kwp, $kwpr, $sponsor, $pws);
            };#if
          };#if
        };#else
# initpdcabuilderswdevi
# The builder [mps] signals the nucleus

      $Awfif::memes-> {currentwsbi} = $cwsbi;
      &ilaunchnc ($myli, $stwso, 'pdcasappi', $Awfif::memes-> {snnh} {pdcawhole}, \$giveup, $grkwp, $grkwpr, \@$sactset,
        '32,37', #mask out codelet-> {l} [32] i.e. {tfree}
        undef (), #usetrans
        undef (), #transid
        undef (), #transtatus
        undef (), #subprogram
        undef (), #jhlabeli
        undef (), #jhlabeloi
        undef (), #newli
        undef (), #hiurg
        undef (), #usepooling
        ( (ifindupri ($myli, $sponsor)) && (!(hdescexists ($myli, $tws, $bdwso, $Awfif::memes-> {snnh} {casinit}, $sponsortype))) )#buildoffurg
        );
# need to continue stimulating the pdca activity until signal recipient+sponsor describes taking control
# The description will be deployed into the binder's context structural workspace

      $Awfif::memes-> {currentwsbi} = $tws;
      $abdwso = awsoadr ($bdwso);
      if (
      ($bcexists)
      && (!findbond ($Awfif::wsol-> {l} [ $abdwso][2], $Awfif::memes-> {snnh} {dcyclin}, $Awfif::memes-> {snnh} {operation}, $Awfif::memes-> {snnh} {model})) ){

        my ($sgdi, $gsponsor, $concept, $drefi);
# initpdcabuildertfu
# can't free until loose sponsorship
see statement builder & devbuilder
        $Awfif::memes-> {currentwsbi} = $cwsbi;
        &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{cassponsor});
        &fgrpd ($myli, $sponsor, \$sgdi, $Awfif::memes->{snnh}{groupcategory});
        $gsponsor = fgrpsponsor ($sponsor, $Awfif::workspace-> {l} [$sgdi] [3], $Awfif::memes-> {snnh} {groupcategory});
        $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
        ¬gcompleted ($myli, $gsponsor, undef(), 't');
        &findcounter ($Awfif::wsol-> {l} [$astwso][2], ($Awfif::memes-> {snnh}{pdcaprogram}), \$drefi);
        if ($drefi != 0) {
          $concept = ($Awfif::workspace-> {l} [$drefi] [2] - $Awfif::memes-> {snnh}{wsi});
          };#if
        if (($drefi == 0) or ($concept == 0)) {

          $Awfif::wsol-> {l} [$astwso] [2]
          = inccounter ( $Awfif::memes-> {snnh} {initiate}, #shouldn't this be the string since this should be an application pseudo concept
              ($Awfif::memes-> {snnh} {wsi} + wsbasetype ($Awfif::codelet-> {l} [$myli][21])),
              $Awfif::memes-> {snnh} {pdcaprogram},
              $Awfif::wsol-> {l} [$astwso] [2],
              $astwso);
          };#if
        }#re stimulate dev activity
      else {
# must free once loose sponsorship

        &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor});
        };#else
      };#got target wso
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# iinitpdcabuilder1
#
#
sub spdcascevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture

    &icsevaluator1 ($myli, \&Awfif::ispdcaevaluator1, 'spdcascbuilder', $kwp, $kwpr, \@$sactset);
    }# spdcascevaluator1
#
#
sub ispdcaevaluator1 {
    my ($myli, $sponsor, $signal, $schema, $swstype, $kwp, $kwpr, $sactset, $noswstype, $fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface
    my ($dolaunch, $bcount, $pdcawso, $pws, $stwso, $astwso, $twso, $asponsor, $cwsbi,
    $grkwp, $grkwpr);
#
# cyclins operate a Shewhart cycle in the eucaryotic cell. The spdca codelet signals initiation of a similar PDCA cycle controlled by Awf cyclin codelets
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $dolaunch = '';
    $twso = trwsoadr (fgrpend ($sponsor), 1);
    $asponsor = awsoadr ($sponsor);

    $stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr);
    $astwso = awsoadr ($stwso);
    my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $e2fwso);
    $$fbinderc = ifindb ($myli, $stwso, 'pdcab', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset);
    $pdcawso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$pws);
# find the inhibitor binding
    if ($$fbinderc == 1) {

      $bcount = ifindb ($myli, $stwso, 'e2finhibb', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset, $pws);
      $e2fwso = getstsbws ($myli, $sigcount, \@lomatchs, \@lola, $pws);
      if ( ($bcount == 1) #call in the builder
      ){#launch builder
        $dolaunch = 't';
        };#if
      };#if
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("ispdcaevaluatorx ret ($dolaunch)\n");
      };
    return $dolaunch
    }# ispdcaevaluator1
#
#<!-- end tag scs -->
#
sub spdcascbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);

    $salience = ievalbsmodeler1 ($myli, \$$kwp, $kwpr, \@$sactset, \$$and, 'ispdcaevaluator');
    $$and = 't';
    return $salience
    }# spdcascbsmodeler1
#
#
sub spdcascbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture

    &ispdcabuilder1 ($myli, \$$kwp, $kwpr, \@$sactset, 'screplicate');
    }# spdcascbuilder1
#
#
sub ispdcabuilder1 {
    my ($myli, $kwp, $kwpr, $sactset, $ststrategy) = @_;
    my ($sponsor, $signal, $schema, $found, $bcount, $swstype, $noswstype, $cwsbi, $bcexists, $pdcawso, $pws,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# cyclins operate a Shewhart cycle in the eucaryotic cell. The spdca codelet signals initiation of a similar PDCA cycle controlled by Awf cyclin codelets
# It is based on an inversion of the statementpdca code from the statement codelet
# checked for merged workspaces

# look for assert binder's workspace

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $found = '';
    $bcount = 0;
    $noswstype = 't';
    $bcexists = '';

    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 4)) {
      my ($stwso, $astwso, $statementcomplete);

# Find the statement wso and obtain the statement's wso type
      $stwso = igetmynowner ($myli, $sponsor, 'bustatement', $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);

      my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $e2fwso);
      $bcount = ifindb ($myli, $stwso, 'pdcab', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset);
      $pdcawso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$pws);
# find the inhibitor binding and issue the control signal
      if ($bcount == 1) {

        $bcount = ifindb ($myli, $stwso, 'e2finhibb', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, $pws);
        $e2fwso = getstsbws ($myli, $sigcount, \@lomatchs, \@lola, $pws);
        if (($bcount == 1)

        && (statementpdca ($myli, $stwso, $grkwp, $grkwpr, \@$sactset, $ststrategy)) ){

          $statementcomplete = 't';
          $Awfif::wsol-> {l} [$astwso][2]
            = setupdesc ( (wsbasetype ($stwso)),
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {valid}), #to match findbond
            $Awfif::memes-> {snnh} {model},
            $Awfif::wsol-> {l} [$astwso][2],
            $astwso);
          &invcaches (wsbasetype ($stwso));
          };#if manage PDCA


        if ($statementcomplete) {#deploy the statement descriptor

          $Awfif::wsol-> {l} [$astwso][2]
              = setupdesc ( (wsbasetype ($stwso)),
                ($Awfif::memes-> {snnh} {wsi} + $stwso),
                $Awfif::memes-> {snnh}{partscategory},
                $Awfif::wsol-> {l} [$astwso][2],
                $astwso);
          $Awfif::memes-> {fatp} = $Awfif::memes-> {fatp} + $Awfif::memes-> {batp};
# send activation to the involved Slipnet nodes
          &actnodes ( $Awfif::memes-> {snnh}{partscategory}, $Awfif::memes-> {openatype});
          &actnodes ( $Awfif::memes-> {snnh} {wsi}, $Awfif::memes-> {openato});
          &invcaches (wsbasetype ($stwso));
          };#statement complete
        };#if
      };#got target wso

    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# ispdcabuilder1
#
#
sub devsccnsevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture

#
#<!-- start tag vbt -->
#
sub iidevbtcnsevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset, $strategy) = @_;
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $sponsortype,
    $grkwp, $grkwpr, $cdn, $cdnx);
    my ($cws, $bcwso, $cwsbi, $launchev, $fbinderc);
    $noswstype = '';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 4)) {

      $cwsbi = $Awfif::memes-> {currentwsbi};
      $launchev = idevbtcnsevaluator1 ($myli, $sponsor, $signal, $schema, $swstype, $grkwp, $grkwpr, \@$sactset, $noswstype, \$fbinderc);
      if (($launchev)
      ){

        $Awfif::clp = ();
        $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];
        $Awfif::memes-> {currentwsbi} = $cwsbi;
        if ((ifindupri ($myli, $sponsor))
        && ( !( (hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinopp}, $sponsortype) )
        or
        (hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinsopp}, $sponsortype) ) ) )
        ){#

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] / $Awfif::memes-> {pappbu});
          &dropsalience ($myli, $sponsor);
          }#if
        else {

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] * $Awfif::memes-> {blaunchm});
          };#else
        if (defined ($Awfif::codelet-> {l}[$myli][19])) {

          $Awfif::clp-> {wsi} = $Awfif::codelet-> {l}[$myli][19];
          }#wsi set
        else {

          $Awfif::clp-> {wsi} = $Awfif::memes-> {currentwsbi};
          };
        $Awfif::clp-> {strategy} = $strategy;
        $Awfif::clp-> {action}-> {sponsor} = $sponsor;
        $Awfif::clp-> {action}-> {signal} = $Awfif::codelet-> {l} [$myli][16];
        $Awfif::clp-> {action}-> {schema} = $Awfif::codelet-> {l} [$myli][18];
        $Awfif::clp-> {action}-> {ref} = $spi;
        $Awfif::clp-> {action}-> {sws} = $Awfif::codelet-> {l} [$myli] [20];
        $Awfif::clp-> {action}-> {wss} = $Awfif::codelet-> {l} [$myli][21];
        $Awfif::clp-> {action}-> {wse} = $Awfif::codelet-> {l} [$myli][22];
        &groupsinv1 ($myli, undef(), undef(), undef(), undef(), undef(), $strategy, $$kwp, $kwpr, \@$sactset);
        };#if
      $Awfif::memes-> {currentwsbi} = $cwsbi;
      };#got buffer

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ($myli);
    }# iidevbtcnsevaluator1
#
sub idevbtcnsevaluator1 {
    my ($myli, $sponsor, $signal, $schema, $swstype, $kwp, $kwpr, $sactset, $noswstype, $fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface
    my ($sponsortype, $usetrans, $subpid, $dolaunch);
#
# checked for merged workspaces

# vbot development setup world codelet deploys square, takes over cascade sponsorship, and signals and maintains cascade for can setup
    $dolaunch = '';
    my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $twso, $asponsor, $cws, $bcwso, $cwsbi);
#
# checked for merged workspaces

    $twso = trwsoadr (fgrpend ($sponsor), 1);
    $asponsor = awsoadr ($sponsor);
    $sponsortype = wsbasetype ($sponsor);

    $cwsbi = $Awfif::memes-> {currentwsbi};
    if( (ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
    && (ifindb ($myli, $sponsor, 'binderp1', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
    ){#launch builder

      $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);
      $Awfif::memes-> {currentwsbi} = $cws;
      $usetrans = 0;#must be defined to be setup in gettmgr
      $subpid = $Awfif::codelet-> {l} [$myli] [36];
      &mapnonsubtotmgrid ($asponsor, $Awfif::memes-> {snnh} {stran}, 0, \$usetrans);
      if( (ifindb ($myli, $sponsor, 'vcansb', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset, undef(), undef(),undef(),'t') <= 0)
      or ( ($usetrans != 0)) #must continue the transaction
      && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
      ){#launch builder
        $dolaunch = 't';
        };#if
      };#elsif
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("idevbtcnsevaluatorx ret ($dolaunch)\n");
      };
    return $dolaunch
    }# idevbtcnsevaluator1
#
#
sub devsccnsbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);

    $salience = ievalbsmodeler1 ($myli, \$$kwp, $kwpr, \@$sactset, \$$and, 'idevsccnsevaluator');
    $$and = 't';
    return $salience
    }# devsccnsbsmodeler1
#
#
sub devsccnsbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset, $persist, $ihistone) = @_;

    &idevbtcnsbuilder1 ($myli, $kwp, $kwpr, \@$sactset, $persist, $ihistone, 't');
    }# devsccnsbuilder1
#
#<!-- start tag vbt -->
#
sub idevbtcnsbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset, $persist, $ihistone, $docnssignal) = @_;
    my ($sponsor, $signal, $schema, $swstype, $noswstype, $schemafor, $catalysis, $usetrans, $transid, $transtatus, $stransmgrid, $foundbd, $subpid,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces
# devbtcns codelet deploys the can structure where each can can be found, its position in the robot world is recorded and its state (deployed or picked up can be associated)

    $noswstype = '';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 4)) {
      my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $twso, $asponsor, $sldesc, $cws, $bcwso, $abcwso, $cwsbi, $sponsortype);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);

      $cwsbi = $Awfif::memes-> {currentwsbi};
      $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
      $schemafor = wsbasetype (trwsoadr ($Awfif::codelet-> {l} [$myli] [21], 2));
      if( (ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
      && (ifindb ($myli, $sponsor, 'binderp1', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
      ){#setup context for rest of complex

        $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);
        $Awfif::memes-> {currentwsbi} = $cws;
        $usetrans = 0;#must be defined to be setup in gettmgr
        $subpid = $Awfif::codelet-> {l} [$myli] [36];
        &mapnonsubtotmgrid ($asponsor, $Awfif::memes-> {snnh} {stran}, 0, \$usetrans);
        if( (ifindb ($myli, $sponsor, 'vcansb', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset, undef(), undef(),undef(),'t') <= 0)
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        ){#proceed with building

          $foundbd = 't';
# devbtcnsbuildurewu1

          $Awfif::memes-> {fatp} = $Awfif::memes-> {fatp} + $Awfif::memes-> {batp};
# devbtcnsbuildusce1
          my ($buffer);
          $buffer = '<cans><naught><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine>' . '<naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
          &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
          &setupcans ($myli, $sponsor, $grkwp, $grkwpr);
# devbtcnsbuildubo1
# terminate the development cascade

          my ($stwso, $astwso, $amkrwso);
          if (!$docnssignal){
# inform the controlling statement of unbinding
            $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
            $stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr);
            $astwso = awsoadr ($stwso);
            $Awfif::wsol-> {l} [$astwso][2]
              = setupdesc ( $Awfif::memes-> {snnh} {unbind},
                  ($Awfif::memes-> {snnh} {wsi} + $sponsortype),
                  $Awfif::memes-> {snnh} {model},
                  $Awfif::wsol-> {l} [$astwso][2],
                  $astwso,
                  't');
# terminate the cascade

            $Awfif::memes-> {currentwsbi} = $cws;
            $amkrwso = awsoadr ($Awfif::wsbl-> {wsoh} [$cws]);
            $Awfif::wsol-> {l} [$amkrwso][2]
            = setupdesc ( ($sponsortype),
                ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {casunbind}),
                $Awfif::memes-> {snnh} {model},
                $Awfif::wsol-> {l} [$amkrwso] [2],
                $amkrwso);
            };#if
          };#if
# now setup the cws and bcwso in case these have not been setup by the path that got here

        if ( ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1) {
          $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);
          $Awfif::memes-> {currentwsbi} = $cws;
          if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [ ($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )#indicating that the square has been setup
          && (defined ($foundbd))#indicates have just initiated the structure so signal to get things going
          or ( ($usetrans != 0)) #must continue the transaction
          && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
          ){#
# become the sponsor of the cascade opp's start
# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>]
            my ($giveup);

            $Awfif::memes-> {currentwsbi} = $cwsbi;

            if( ((defined ($transid)) && ($transtatus != $Awfif::memes-> {snnh} {completed})) #must continue the transaction
            or (defined ($foundbd))#indicates have just initiated the structure so signal to get things going
            && ($docnssignal)#this supports cascade
            or ( ($usetrans != 0)
            && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casunbind}, $sponsortype))) )
            ){#sponsor more of self

              &ilaunchnc ($myli, $bcwso, 'casoppi', $Awfif::memes-> {snnh} {casinsopp}, \$giveup, $grkwp, $grkwpr, \@$sactset,
                32, #mask out codelet-> {l} [32] i.e. {tfree}
                $usetrans,
                \$transid,
                \$transtatus
                );
              if (($usetrans == 0) && (defined ($transid) && ( ($transtatus == $Awfif::memes-> {snnh} {completed}) or ($transtatus == $Awfif::memes-> {snnh} {incomplete}))) ){#record the transid

                &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, $transid, 0, $stransmgrid);
                };#if
# can't free until loose sponsorship
              if ($transtatus == $Awfif::memes-> {snnh} {incomplete}){

                &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{cassponsor}, undef (), \$transid, \$transtatus);
                $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
                ¬gcompleted ($myli, $sponsor, teltail ($Awfif::jhls-> {l} [$Awfif::codelet-> {l} [$myli] [31]] [15] [3]),'t');# sponsor should be one after telomeric header
                }#if
              elsif ($transtatus == $Awfif::memes-> {snnh} {completed}){

                $transtatus = $Awfif::memes-> {snnh}{wascassponsor};
                &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor}, undef (), \$transid, \$transtatus);
                if( (defined ($transid)) && ($transtatus == $Awfif::memes-> {snnh} {deleted}) #must mask the transaction id
                ){

                  &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, 0, 0, $stransmgrid);
                  };#if
                };#elsif
              }#if
            else {
# must free once loose sponsorship

              if ( (defined ($usetrans)) ){

                $transtatus = $Awfif::memes-> {snnh}{wascassponsor};
                };#if
              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor}, undef (), \$transid, \$transtatus);
              if( (defined ($transid)) && ($transtatus == $Awfif::memes-> {snnh} {deleted}) #must mask the transaction id
              ){

                &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, 0, 0, $stransmgrid);
                };#if
              if (($Awfif::codelet-> {l} [$myli] [37] > 0)
              ) {

                $Awfif::tmassl-> {l} [$Awfif::codelet-> {l} [$myli] [37]] [3] = $Awfif::memes-> {snnh} {completed};
                };#if
              };#else
            }#if
          else {
            &imasksupp ($myli);
            };#else
          };#if
        };#if
      if ($catalysis) {

        &applycodelet ($myli, $sldesc, $cws, $abcwso, \$$kwp, $kwpr, \@$sactset);
        };#if
      $Awfif::memes-> {currentwsbi} = $cwsbi;
      };#got buffer

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ($myli);
    }# idevbtcnsbuilder1
#
#
sub devscwldevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $sponsortype,
    $grkwp, $grkwpr, $cdn, $cdnx);
    my ($cws, $bcwso, $cwsbi, $launchev, $fbinderc);
    $noswstype = '';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 3)) {

      $cwsbi = $Awfif::memes-> {currentwsbi};
      $launchev = idevscwldevaluator1 ($myli, $sponsor, $signal, $schema, $swstype, $grkwp, $grkwpr, \@$sactset, $noswstype, \$fbinderc);
      if (($launchev)
      ){

        $Awfif::clp = ();
        $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];
        $Awfif::memes-> {currentwsbi} = $cwsbi;
        if ((ifindupri ($myli, $sponsor))
        && ( !( (hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinopp}, $sponsortype) )
        or
        (hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinsopp}, $sponsortype) ) ) )
        ){#

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] / $Awfif::memes-> {pappbu});
          &dropsalience ($myli, $sponsor);
          }#if
        else {

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] * $Awfif::memes-> {blaunchm});
          };#else
        if (defined ($Awfif::codelet-> {l}[$myli][19])) {

          $Awfif::clp-> {wsi} = $Awfif::codelet-> {l}[$myli][19];
          }#wsi set
        else {

          $Awfif::clp-> {wsi} = $Awfif::memes-> {currentwsbi};
          };
        $Awfif::clp-> {strategy} = "devscwldbuilder";
        $Awfif::clp-> {action}-> {sponsor} = $sponsor;
        $Awfif::clp-> {action}-> {signal} = $Awfif::codelet-> {l} [$myli][16];
        $Awfif::clp-> {action}-> {schema} = $Awfif::codelet-> {l} [$myli][18];
        $Awfif::clp-> {action}-> {ref} = $spi;
        $Awfif::clp-> {action}-> {sws} = $Awfif::codelet-> {l} [$myli] [20];
        $Awfif::clp-> {action}-> {wss} = $Awfif::codelet-> {l} [$myli][21];
        $Awfif::clp-> {action}-> {wse} = $Awfif::codelet-> {l} [$myli][22];
        &groupsinv1 ($myli, undef(), undef(), undef(), undef(), undef(), "devscwldbuilder", $$kwp, $kwpr, \@$sactset);
        };#if
      $Awfif::memes-> {currentwsbi} = $cwsbi;
      };#got buffer

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ($myli);
    }# devscwldevaluator1
#
sub idevscwldevaluator1 {
    my ($myli, $sponsor, $signal, $schema, $swstype, $kwp, $kwpr, $sactset, $noswstype, $fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface
#
# checked for merged workspaces

    return idevbtwldevaluator1 ($myli, $sponsor, $signal, $schema, $swstype, $kwp, $kwpr, \@$sactset, $noswstype, \$fbinderc);
    }# idevscwldevaluator1
#
sub devscwldbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);

    $salience = ievalbsmodeler1 ($myli, \$$kwp, $kwpr, \@$sactset, \$$and, 'idevscwldevaluator');
    $$and = 't';
    return $salience
    }# devscwldbsmodeler1
#
sub devscwldbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset, $persist, $ihistone) = @_;
    my ($sponsor, $signal, $schema, $swstype, $noswstype, $schemafor, $catalysis, $usetrans, $transid, $transtatus, $stransmgrid, $histdesc, $foundbd,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

# devbtwld codelet seems viable - this code is not called
    $noswstype = '';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 3)) {
      my ($i, $sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $stwso, $astwso, $twso, $asponsor, $sldesc, $cws, $bcwso, $abcwso, $cwsbi, $sponsortype);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);
      $stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);

      $cwsbi = $Awfif::memes-> {currentwsbi};
      $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
      $schemafor = wsbasetype (trwsoadr ($Awfif::codelet-> {l} [$myli] [21], 2));
# now know there is a development integration binder ws locate the developmentb schemata to use as context
      if( (ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't') <= 0)
      && (ifindb ($myli, $sponsor, 'binderp1', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
      ){#setup context for rest of complex
# devscwldbbindc1

        my ($buffer, $binding);
        for ($i = trwsoadr ( $Awfif::codelet-> {l} [$myli] [21],2);
        $i <= trwsoadr ($Awfif::codelet-> {l} [$myli] [22], -2);
        $i = trwsoadr ($i,1)) {

          $buffer = $buffer . '<' . getwsost4 ($i) . '>';
          };#for

        $buffer = $buffer . '<sequence><integration>';
        if ((defined ($Awfif::codelet-> {l} [$myli] [36])) && ($Awfif::codelet-> {l} [$myli] [36] != 0)) {

          $binding = $Awfif::memes-> {snnh} {subpstbinding};
          };
        $cws = inewstws ($myli, \$buffer, \$grkwp, $grkwpr, $sponsor, $binding);
#
# now setup the moved position to the start of the source stream
# get the context structural ws linkage
        my ($bdwso, $abdwso, $bdws, $bdcwso, $abdcwso);
        $foundbd = '';

        for ($i = 0; $i < $sigcount; $i++) {
          if ($lomatchs[$i]) {#
# unless this is an operon

            if ( ($Awfif::jhls-> {l} [$lola[$i]][4] == $Awfif::memes-> {snnh}{stbinding})
            or ( subpst ($myli, $lola[$i], $cws, $Awfif::codelet-> {l} [$myli] [36]) )
            ){

              $bdws = $Awfif::jhls-> {l} [$lola[$i]] [7];
              $bdwso = $Awfif::jhls-> {l} [$lola[$i]] [8];
              $foundbd = 't';
              };#if
            };#if
          };#for

        if ($foundbd) {
# switch to context workspace

          $Awfif::memes-> {currentwsbi} = $bdws;
          $abdwso = awsoadr ($bdwso);
# switch to binder complex workspace
          $Awfif::memes-> {currentwsbi} = $cws;
          if ( ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1) {

            my ($wz, $wzd);
            for ($i = 0; $i < $sigcount; $i++) {
              if ($lomatchs[$i]) {#
# unless this is an operon

                if ( ($Awfif::jhls-> {l} [$lola[$i]][4] == $Awfif::memes-> {snnh}{stbinding})
                or ( subpst ($myli, $lola[$i], $cws, $Awfif::codelet-> {l} [$myli] [36]) )
                ){

                  $bdcwso = $Awfif::jhls-> {l} [$lola[$i]] [8];
                  };#
                };#if
              };#for
# devscwldbdepwldu1
# deploy square world for vbot

            $buffer = '<square><naught><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            $Awfif::memes-> {worldsws} = inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><one><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><two><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><three><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><four><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><five><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><six><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><seven><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><eight><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
            $buffer = '<square><nine><schema><integration>' . '<wall><naught><one><two><three>' . '<four><five><six>' . '<seven><eight><nine><wall>';
            $Awfif::memes-> {worldews} = inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $sponsor);
# deploy the descriptor pointing to the square x coord

            $abdcwso = awsoadr ($bdcwso);
            $Awfif::wsol-> {l} [$abdcwso][2]
            = ($wzd = setupdesc ( ($Awfif::memes-> {worldsws} + $Awfif::memes-> {snnh} {wsi}), #the y coordinate
                (0 + $Awfif::memes-> {snnh} {wsi}), #the x coordinate
                $Awfif::memes-> {snnh} {wsposition},
                $Awfif::wsol-> {l} [$abdcwso] [2],
                $abdcwso));

            $wz = 0;#to be setup in movevbot
            if (movevbot ($myli, $sponsor, $cws, $bdcwso, $Awfif::memes-> {snnh}{stay}, $grkwp, $grkwpr, \$wz)
            ){

              $Awfif::workspace-> {l} [$wzd] [2] = $wz + $Awfif::memes-> {snnh} {wsi};
              $Awfif::memes-> {worldswso} = $wz;
              $Awfif::memes-> {currentwsbi} = $Awfif::memes-> {worldsws};
              $Awfif::memes-> {worldewso} = trwsoadr ($Awfif::wsbl-> {wsoh} [$Awfif::memes-> {worldsws}], -2);

              if( findtdesc ($Awfif::wsol-> {l} [($astwso)] [2], $Awfif::memes-> {snnh} {wsposition}) == 0) {#record the wsposition desc

                $Awfif::wsol-> {l} [$astwso][2]
                = setupdesc ( $Awfif::workspace-> {l} [$wzd] [3], #the y coordinate
                    $Awfif::workspace-> {l} [$wzd] [2], #the x coordinate
                    $Awfif::workspace-> {l} [$wzd] [4], #wsposition
                    $Awfif::wsol-> {l} [$astwso] [2],
                    $astwso);
                };#if
              };

            $Awfif::memes-> {fatp} = $Awfif::memes-> {fatp} + $Awfif::memes-> {batp};
# and switch back to current context
            $Awfif::memes-> {currentwsbi} = $cwsbi;

            if ((defined ($persist) && ($persist))
            && ($Awfif::codelet-> {l} [$myli] [35] != 0)
            ){#tidy up transaction state if going to persist state

              my ($transtatus);
              &transalloc ($myli, $Awfif::memes-> {snnh} {casparticipant}, undef(), $Awfif::codelet-> {l} [$myli] [35], \$$transtatus);
              };#if
            if ((defined ($persist) && ($persist))
            ){

              $Awfif::memes-> {storetheds} = 't';#persist current state - will be performed by the coderack
              $Awfif::memes-> {storestop} = '';#don't stop after persist - dont write these two in the storetofiles
              };#if

            if ((defined ($ihistone))
            && (findtdesc ($Awfif::wsol-> {l} [$abdcwso][2], $Awfif::memes-> {snnh} {histone}) == 0)
            ){

              $Awfif::wsol-> {l} [$abdcwso][2]
              = ($histdesc = setupdesc ( (0 + $Awfif::memes-> {snnh} {wsi}),
                  (0 + $Awfif::memes-> {snnh} {wsi}),
                  $Awfif::memes-> {snnh} {histone},
                  $Awfif::wsol-> {l} [$abdcwso] [2],
                  $abdcwso));
              $Awfif::workspace-> {l} [$histdesc] [2] += addhistone ($myli, $ihistone);#create a histone that the binder complex codelets can associate with
              $Awfif::histonel-> {l} [ ($Awfif::workspace-> {l} [$histdesc] [2] - $Awfif::memes-> {snnh} {wsi})] [3] = 0;
              &bindhistone ($myli, $cws, $bdcwso);
              };#if

            };#if
          };#if
        }#if
      elsif( (ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't') == 1)
      && (ifindb ($myli, $sponsor, 'binderp1', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
      ){#if need to sustain cascade launch builder

        $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);

        &bindhistone ($myli, $cws, $bcwso);
        my ($subpid);

        $Awfif::memes-> {currentwsbi} = $cws;
        $transid = 0;#must be defined to be setup in gettmgr
        $subpid = $Awfif::codelet-> {l} [$myli] [36];
        $stransmgrid = mapnonsubtotmgrid ($asponsor, $Awfif::memes-> {snnh} {stran}, 0, \$transid);
        $usetrans = $transid;
        if ($transid == 0 ) {

          $transid = undef();
          $transtatus = $Awfif::memes-> {snnh} {transid};
          }#if
        else {

          $transtatus = $Awfif::memes-> {snnh} {cassponsor};#unless shift to wascassponsor
          &transalloc ($myli, $Awfif::memes-> {snnh} {cassponsor}, undef(), $transid, \$transtatus);
          };#else
        };#elsif
# now setup the cws and bcwso in case these have not been setup by the path that got here

      if ( ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1) {
        $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);
        $Awfif::memes-> {currentwsbi} = $cws;
        if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [ ($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )#indicating that the square has been setup
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (defined ($foundbd))#indicates have just initiated the structure so signal to get things going
        or ( ($usetrans != 0)) #must continue the transaction
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        ){#
# become the sponsor of the cascade opp's start
# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>]
          my ($giveup);

          $Awfif::memes-> {currentwsbi} = $cwsbi;

          if( ((defined ($transid)) && ($transtatus != $Awfif::memes-> {snnh} {completed})) #must continue the transaction
          or (defined ($foundbd))#indicates have just initiated the structure so signal to get things going
          or ( ($usetrans != 0)
          && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casunbind}, $sponsortype))) )
          ){#sponsor more of self

            &ilaunchnc ($myli, $bcwso, 'casoppi', $Awfif::memes-> {snnh} {casinsopp}, \$giveup, $grkwp, $grkwpr, \@$sactset,
              32, #mask out codelet-> {l} [32] i.e. {tfree}
              $usetrans,
              \$transid,
              \$transtatus
              );
            if (($usetrans == 0) && (defined ($transid) && ( ($transtatus == $Awfif::memes-> {snnh} {completed}) or ($transtatus == $Awfif::memes-> {snnh} {incomplete}))) ){#record the transid

              &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, $transid, 0, $stransmgrid);
              };#if
# can't free until loose sponsorship
            if ($transtatus == $Awfif::memes-> {snnh} {incomplete}){

              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{cassponsor}, undef (), \$transid, \$transtatus);
              $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
              ¬gcompleted ($myli, $sponsor, teltail ($Awfif::jhls-> {l} [$Awfif::codelet-> {l} [$myli] [31]] [15] [3]),'t');# sponsor should be one after telomeric header
              }#if
            elsif ($transtatus == $Awfif::memes-> {snnh} {completed}){

              $transtatus = $Awfif::memes-> {snnh}{wascassponsor};
              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor}, undef (), \$transid, \$transtatus);
              if( (defined ($transid)) && ($transtatus == $Awfif::memes-> {snnh} {deleted}) #must mask the transaction id
              ){

                &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, 0, 0, $stransmgrid);
                };#if
              };#elsif
            }#if
          else {
# must free once loose sponsorship

            if ( (defined ($usetrans)) ){

              $transtatus = $Awfif::memes-> {snnh}{wascassponsor};
              };#if
            &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor}, undef (), \$transid, \$transtatus);
            if( (defined ($transid)) && ($transtatus == $Awfif::memes-> {snnh} {deleted}) #must mask the transaction id
            ){

              &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, 0, 0, $stransmgrid);
              };#if
            if (($Awfif::codelet-> {l} [$myli] [37] > 0)
            ) {

              $Awfif::tmassl-> {l} [$Awfif::codelet-> {l} [$myli] [37]] [3] = $Awfif::memes-> {snnh} {completed};
              };#if
            };#else
          }#if
        else {
          &imasksupp ($myli);
          };#else
        };#if
      if ($catalysis) {

        &applycodelet ($myli, $sldesc, $cws, $abcwso, \$$kwp, $kwpr, \@$sactset);
        };#if
      $Awfif::memes-> {currentwsbi} = $cwsbi;
      };#got buffer

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ($myli);
    }# devscwldbuilder1
#
sub devpcellevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $sponsortype,
    $grkwp, $grkwpr, $cdn, $cdnx);
    my ($cws, $bcwso, $cwsbi, $launchev, $fbinderc);
    $noswstype = '';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 3)) {

      $cwsbi = $Awfif::memes-> {currentwsbi};
      $launchev = idevpcellevaluator1 ($myli, $sponsor, $signal, $schema, $swstype, $grkwp, $grkwpr, \@$sactset, $noswstype, \$fbinderc);
      if (($launchev)
      ){

        $Awfif::clp = ();
        $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];
        $Awfif::memes-> {currentwsbi} = $cwsbi;
        if ((ifindupri ($myli, $sponsor))
        && ( !( (hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinopp}, $sponsortype) )
        or
        (hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinsopp}, $sponsortype) ) ) )
        ){#

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] / $Awfif::memes-> {pappbu});
          &dropsalience ($myli, $sponsor);
          }#if
        else {

          $Awfif::clp-> {urgency} = ($Awfif::codelet-> {l} [$myli][3] * $Awfif::memes-> {blaunchm});
          };#else
        if (defined ($Awfif::codelet-> {l}[$myli][19])) {

          $Awfif::clp-> {wsi} = $Awfif::codelet-> {l}[$myli][19];
          }#wsi set
        else {

          $Awfif::clp-> {wsi} = $Awfif::memes-> {currentwsbi};
          };
        $Awfif::clp-> {strategy} = "devpcellbuilder";
        $Awfif::clp-> {action}-> {sponsor} = $sponsor;
        $Awfif::clp-> {action}-> {signal} = $Awfif::codelet-> {l} [$myli][16];
        $Awfif::clp-> {action}-> {schema} = $Awfif::codelet-> {l} [$myli][18];
        $Awfif::clp-> {action}-> {ref} = $spi;
        $Awfif::clp-> {action}-> {sws} = $Awfif::codelet-> {l} [$myli] [20];
        $Awfif::clp-> {action}-> {wss} = $Awfif::codelet-> {l} [$myli][21];
        $Awfif::clp-> {action}-> {wse} = $Awfif::codelet-> {l} [$myli][22];
        &groupsinv1 ($myli, undef(), undef(), undef(), undef(), undef(), "devpcellbuilder", $$kwp, $kwpr, \@$sactset);
        };#if
      $Awfif::memes-> {currentwsbi} = $cwsbi;
      };#got buffer

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ($myli);
    }# devpcellevaluator1
#
sub idevpcellevaluator1 {
    my ($myli, $sponsor, $signal, $schema, $swstype, $kwp, $kwpr, $sactset, $noswstype, $fbinderc) = @_;#bsmodeler requires the ignored parameters for its general interface
    my ($sponsortype, $usetrans, $subpid, $dolaunch);
#
# checked for merged workspaces

# vbot development setup world codelet deploys square, takes over cascade sponsorship, and signals and maintains cascade for can setup
    $dolaunch = '';
    my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $twso, $asponsor, $cws, $bcwso, $cwsbi);
#
# checked for merged workspaces

    $twso = trwsoadr (fgrpend ($sponsor), 1);
    $asponsor = awsoadr ($sponsor);
    $sponsortype = wsbasetype ($sponsor);

    $cwsbi = $Awfif::memes-> {currentwsbi};
# now know there is a development integration binder ws locate the developmentb schemata
    if( (ifindb ($myli, $sponsor, 'binderp1', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
    && (ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
    ){#launch builder

      $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);#get the complex context
      $Awfif::memes-> {currentwsbi} = $cws;
      $usetrans = 0;#must be defined to be setup in gettmgr
      $subpid = $Awfif::codelet-> {l} [$myli] [36];
      &mapnonsubtotmgrid ($asponsor, $Awfif::memes-> {snnh} {stran}, 0, \$usetrans);
# idevpcellecompu1
# check that have not completed pcell deployment (devpcellbuilder-(deploy)-> completed)
      if ( (!findbond ($Awfif::wsol-> {l} [ awsoadr ($bcwso)] [2], $Awfif::memes-> {snnh} {completed}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {devpcellbuilder}))
      or ( ($usetrans != 0)) #must continue the transaction
      && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
      ){#launch builder
        $dolaunch = 't';
        };#if
      };#elsif
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("idevpcellevaluatorx ret ($dolaunch)\n");
      };
    return $dolaunch
    }# idevpcellevaluator1
#
sub devpcellbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);

    $salience = ievalbsmodeler1 ($myli, \$$kwp, $kwpr, \@$sactset, \$$and, 'idevpcellevaluator');
    $$and = 't';
    return $salience
    }# devpcellbsmodeler1
#
sub devpcellbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset, $persist, $ihistone) = @_;
    my ($sponsor, $signal, $schema, $swstype, $noswstype, $schemafor, $catalysis, $usetrans, $transid, $transtatus, $stransmgrid, $foundbd, $subpid, $docnssignal,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

# devbtcns codelet deploys the can structure where each can can be found, its position in the robot world is recorded and its state (deployed or picked up can be associated)
    $noswstype = '';
    $docnssignal = '';#currently the cns will just release the vbot cascade and unbind the development cascade
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 3)) {
      my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $twso, $asponsor, $sldesc, $cws, $bcwso, $abcwso, $cwsbi, $sponsortype);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);

      $cwsbi = $Awfif::memes-> {currentwsbi};
      $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
      $schemafor = wsbasetype (trwsoadr ($Awfif::codelet-> {l} [$myli] [21], 2));
# now know there is a development integration binder ws locate the developmentb schemata
      if( (ifindb ($myli, $sponsor, 'binderp1', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
      && (ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $kwp, $kwpr, \@$sactset) == 1)
      ){#setup context for rest of complex

        $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);
        $Awfif::memes-> {currentwsbi} = $cws;
        $usetrans = 0;#must be defined to be setup in gettmgr
        $subpid = $Awfif::codelet-> {l} [$myli] [36];
        &mapnonsubtotmgrid ($asponsor, $Awfif::memes-> {snnh} {stran}, 0, \$usetrans);
# devpcellbcompu1
        if ( (!findbond ($Awfif::wsol-> {l} [ awsoadr ($bcwso)] [2], $Awfif::memes-> {snnh} {completed}, $Awfif::memes-> {snnh} {deploy}, $Awfif::memes-> {snnh} {devpcellbuilder}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        ){#proceed with building

          $foundbd = 't';

          $Awfif::memes-> {fatp} = $Awfif::memes-> {fatp} + $Awfif::memes-> {batp};
          my ($buffer, $bufferws, $externalws, $internalws, $statementws, $nucws);
# devpcellbextmu1
# deploy external membrane

          $buffer = '<membrane><external>';
          $externalws = inewstws ($myli, \$buffer, \$$kwp, $kwpr, $sponsor);
          $buffer = '<liposome><sequence><integration>';
          &iaddsg ($myli, \$buffer, \$$kwp, $kwpr, $sponsor, $externalws);
# devpcellbintbu1
# deploy internal buffer

          $buffer = '<buffer><internal>';
          $bufferws = inewstws ($myli, \$buffer, \$$kwp, $kwpr, $sponsor);
# devpcellbwaru1
# deploy relative wait and relay

          $buffer = '<waitarelay><schema><integration>';
          &iaddsg ($myli, \$buffer, \$$kwp, $kwpr, $sponsor, $bufferws);
# devpcellbrrsu1
# deploy relative receptor signal

          $buffer = '<signal><schema><integration>' . '<signal><integrate><sequence><integration>' . '<signal><compare><streams><sequence><integration>' . '<signal><match><name><sequence><integration>';
          &iaddsg ($myli, \$buffer, \$$kwp, $kwpr, $sponsor, $bufferws);
# devpcellbrgsu1
# deploy relative goal supressor

          $buffer = '<schema><partconstrained><model><selector><schema>';
          &iaddsg ($myli, \$buffer, \$$kwp, $kwpr, $sponsor, $bufferws);
# devpcellbintmu1
# deploy internal membrane

          $buffer = '<membrane><internal>';
          $internalws = inewstws ($myli, \$buffer, \$$kwp, $kwpr, $sponsor);
          $buffer = '<liposome><sequence><integration>';
          &iaddsg ($myli, \$buffer, \$$kwp, $kwpr, $sponsor, $internalws);
# devpcellbactstu1
# deploy active statement workspace

          $buffer = '(<implement><process>' . '<rhlmsge><genetic><algorithm><scell></rhlmsge>' .
          '<subject><rhlmsge><execute><pcell></rhlmsge></subject>' .
          '<verb><rhlmsge><pickup><in><square></rhlmsge></verb>' .
          '<object><rhlmsge><each><cans></rhlmsge></object>' .
          '<development><rhlmsge><develop><square>' . '<pcell></rhlmsge></development>' .
          '</implement>)';
          $statementws = inewaws ($myli, \$buffer, \$$kwp, $kwpr, $sponsor, $Awfif::memes-> {operon});
          $Awfif::wsbl-> {relorabs} [$statementws] = $Awfif::memes-> {snnh} {relative};
# devpcellbnucwsu1
# deploy nuclear workspace

          $nucws = ilbtonws ($myli, 'memes/sclmem001.html', undef (), 't', $grkwp, $grkwpr);
# devpcellbrecwsu1
# record workspaces in statement wso

          my ($stwso, $astwso);
          $stwso = getnstatement ($myli, $Awfif::wsbl-> {wsot} [$statementws], $statementws);
          $Awfif::memes-> {currentwsbi} = $statementws;
          $astwso = awsoadr ($stwso);
          $Awfif::wsol-> {l} [$astwso][2]
            = setupdesc ( $Awfif::memes-> {snnh} {external},
                ($Awfif::memes-> {snnh} {wsi} + $externalws),
                $Awfif::memes-> {snnh} {membrane},
                $Awfif::wsol-> {l} [$astwso][2],
                $astwso);
          $Awfif::wsol-> {l} [$astwso][2]
            = setupdesc ( $Awfif::memes-> {snnh} {nuclear},
                ($Awfif::memes-> {snnh} {wsi} + $nucws),
                $Awfif::memes-> {snnh} {membrane},
                $Awfif::wsol-> {l} [$astwso][2],
                $astwso);
# terminate the cascade

          };#if
# now setup the cws and bcwso in case these have not been setup by the path that got here

        if ( ifindb ($myli, $sponsor, 'binderc', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1) {
          $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);
          $Awfif::memes-> {currentwsbi} = $cws;
          if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [ ($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )#indicating that the square has been setup
          && (defined ($foundbd))#indicates have just initiated the structure so signal to get things going
          or ( ($usetrans != 0)) #must continue the transaction
          && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
          ){#
# become the sponsor of the cascade opp's start
# The builder [mps] signals the nucleus <codelet 21 wso> <schema> [<wso 'string' from schema>]
            my ($giveup);

            $Awfif::memes-> {currentwsbi} = $cwsbi;

            if( ((defined ($transid)) && ($transtatus != $Awfif::memes-> {snnh} {completed})) #must continue the transaction
            or (defined ($foundbd))#indicates have just initiated the structure so signal to get things going
            && ($docnssignal)#this supports cascade
            or ( ($usetrans != 0)
            && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casunbind}, $sponsortype))) )
            ){#sponsor more of self

              &ilaunchnc ($myli, $bcwso, 'casoppi', $Awfif::memes-> {snnh} {casinsopp}, \$giveup, $grkwp, $grkwpr, \@$sactset,
                32, #mask out codelet-> {l} [32] i.e. {tfree}
                $usetrans,
                \$transid,
                \$transtatus
                );
              if (($usetrans == 0) && (defined ($transid) && ( ($transtatus == $Awfif::memes-> {snnh} {completed}) or ($transtatus == $Awfif::memes-> {snnh} {incomplete}))) ){#record the transid

                &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, $transid, 0, $stransmgrid);
                };#if
# can't free until loose sponsorship
              if ($transtatus == $Awfif::memes-> {snnh} {incomplete}){

                &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{cassponsor}, undef (), \$transid, \$transtatus);
                $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
                ¬gcompleted ($myli, $sponsor, teltail ($Awfif::jhls-> {l} [$Awfif::codelet-> {l} [$myli] [31]] [15] [3]),'t');# sponsor should be one after telomeric header
                }#if
              elsif ($transtatus == $Awfif::memes-> {snnh} {completed}){

                $transtatus = $Awfif::memes-> {snnh}{wascassponsor};
                &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor}, undef (), \$transid, \$transtatus);
                if( (defined ($transid)) && ($transtatus == $Awfif::memes-> {snnh} {deleted}) #must mask the transaction id
                ){

                  &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, 0, 0, $stransmgrid);
                  };#if
                };#elsif
              }#if
            else {
# must free once loose sponsorship

              if ( (defined ($usetrans)) ){

                $transtatus = $Awfif::memes-> {snnh}{wascassponsor};
                };#if
              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor}, undef (), \$transid, \$transtatus);
              if( (defined ($transid)) && ($transtatus == $Awfif::memes-> {snnh} {deleted}) #must mask the transaction id
              ){

                &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {update}, $Awfif::memes-> {snnh} {assoctran}, $asponsor, $Awfif::memes-> {snnh} {stran}, 0, 0, $stransmgrid);
                };#if
              if (($Awfif::codelet-> {l} [$myli] [37] > 0)
              ) {

                $Awfif::tmassl-> {l} [$Awfif::codelet-> {l} [$myli] [37]] [3] = $Awfif::memes-> {snnh} {completed};
                };#if
              };#else
            }#if
          else {
            &imasksupp ($myli);
            };#else
          };#if
        };#if
      if ($catalysis) {

        &applycodelet ($myli, $sldesc, $cws, $abcwso, \$$kwp, $kwpr, \@$sactset);
        };#if
      $Awfif::memes-> {currentwsbi} = $cwsbi;
      };#got buffer

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ($myli);
    }# devpcellbuilder1
Market Centric Workshops
The Physics - Politics, Economics & Evolutionary Psychology
Politics, Economics & Evolutionary Psychology

Business Physics
Nature and nurture drive the business eco-system
Human nature
Emerging structure and dynamic forces of adaptation


integrating quality appropriate for each market
 
This page looks at schematic structures and their uses.  It discusses a number of examples:
  • Schematic ideas are recombined in creativity. 
  • Similarly designers take ideas and rules about materials and components and combine them. 
  • Schematic Recipes help to standardize operations. 
  • Modular components are combined into strategies for use in business plans and business models. 

As a working example it presents part of the contents and schematic details from the Adaptive Web Framework (AWF)'s operational plan. 

Finally it includes a section presenting our formal representation of schematic goals. 
Each goal has a series of associated complex adaptive system (CAS) strategy strings. 
These goals plus strings are detailed for various chess and business examples. 
Strategy
| Design |
This page uses an example to illustrate how:
  • A business can gain focus from targeting key customers,
  • Business planning activities performed by the whole organization can build awareness, empowerment and coherence. 
  • A program approach can ensure strategic alignment. 
Program Management
| Home

Profiles | Papers | Glossary | E-mail us