Schematic innate neuron
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 innate neuron

Summary
This page describes a schematic system about abstracted neurons, specialized eukaryotic cells include channels which control flows of sodium and potassium ions across the massively extended cell membrane supporting an electro-chemical wave which is then converted into an outgoing chemical signal transmission from synapses which target nearby neuron or muscle cell receptors.  Neurons are supported by glial cells.  Neurons include a:
  • Receptive element - dendrites
  • Transmitting element - axon and synaptic terminals
  • Highly variable DNA schema using transposons. 
operating in a circuit. 
The neuronal system was designed to focus in on the cellular nature of a schematically defined neuron. 
The goals include:
  • Development of a system of cells, their differentiation and deployment into a neuron network. 
  • Abstract receptor operation must support interactions of a network of neurons and attached cells. 
THE IMPLEMENTATION IS INCOMPLETE AND ONGOING. 
The codelets and infrastructure are included
Introduction
Massive parallel
Agents use sensors to detect events in their environment.  This page reviews how these events become signals associated with beneficial responses in a complex adaptive system (CAS).  CAS signals emerge from the Darwinian information model.  Signals can indicate decision summaries and level of uncertainty. 
signal
Flows of different kinds are essential to the operation of complex adaptive systems (CAS). 
Example flows are outlined.  Constraints on flows support the emergence of the systems.  Examples of constraints are discussed. 
flows
can be
Agents use sensors to detect events in their environment.  This page reviews how these events become signals associated with beneficial responses in a complex adaptive system (CAS).  CAS signals emerge from the Darwinian information model.  Signals can indicate decision summaries and level of uncertainty. 
detected
,
The agents in complex adaptive systems (CAS) must model their environment to respond effectively to it.  Samuel modeling is described as an approach. 
modeled
and responded to by cooperating
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. 
agents
with independent state.  It requires dedicated resources but can be competitively useful. 

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. 
asymmetric (life dinner) arms race
architectures with increased response rates and accurate modeling can be promoted. 
This page reviews the implications of reproduction initially generating a single child cell.  The mechanism and resulting strategic options are discussed. 
Organisms
with complex neuron, specialized eukaryotic cells include channels which control flows of sodium and potassium ions across the massively extended cell membrane supporting an electro-chemical wave which is then converted into an outgoing chemical signal transmission from synapses which target nearby neuron or muscle cell receptors.  Neurons are supported by glial cells.  Neurons include a:
  • Receptive element - dendrites
  • Transmitting element - axon and synaptic terminals
  • Highly variable DNA schema using transposons. 
networks interconnecting arrays of action agents demonstrate the result. 
An agent programming system based neuron network
The neuron, specialized eukaryotic cells include channels which control flows of sodium and potassium ions across the massively extended cell membrane supporting an electro-chemical wave which is then converted into an outgoing chemical signal transmission from synapses which target nearby neuron or muscle cell receptors.  Neurons are supported by glial cells.  Neurons include a:
  • Receptive element - dendrites
  • Transmitting element - axon and synaptic terminals
  • Highly variable DNA schema using transposons. 
, a specialized eukaryotic, 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.   cell,
This page discusses the mechanisms and effects of emergence underpinning any complex adaptive system (CAS).  Key research is reviewed. 
emergently
provides a variety of structures and agents which facilitate the aggregation is when a number of actions become coordinated and operate together.  In the adaptive web framework's Smiley, codelets become coordinated by their relative position in the deployment cascade.  The cascade's dynamics are dependent on the situation, the operating codelets responses to that situation and the grouping of schematic strings they are associated with.  The aggregate affect is a phenotype the adaptive agent. 
.  Our designed schematic innate neuron simulates these structures and agents. 

The adaptive web framework agent programming environment (Smiley) utilizes
The position and operations of different agents within a complex adaptive system (CAS) provide opportunities for strategic advantage.  Examples of CAS agents leveraging their relative positions are described. 
structurally integrated
, associatively modulated
Read Montague explores how brains make decisions.  In particular he explains how:
  • Evolution can create indirect abstract models, such as the dopamine system, that allow
  • Life changing real-time decisions to be made, and how
  • Schematic structures provide encodings of computable control structures which operate through and on incomputable, schematically encoded, physically active structures and operationally associated production functions. 
receptor Workspace complexes
to
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
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. 
associate
This page describes the Smiley infrastructure and codelets that instantiate the epiphenomena defined in the Meta file and Slipnet. 
Infrastructure sensors are introduced. 
The role of phenomena in shaping the environment is discussed. 
The focusing of forces by phenomena in Smiley is discussed. 
The Meta file association of case keywords with phenomena is included. 
The codelets and supporting functions are included. 
phenomena
and signals with models and actions (functions).  The receptor, in biological cells these proteins are able to span the cell membrane and present an active site which is tailored to interact with a specific signal.  When the receptor pairs with its signal, its overall shape changes resulting in changes in the part internal to the cell which can be relayed by the cells signalling infrastructure.  In neuron synapses one type of receptor (fast) is associated with an ion channel.  The other (slow) is associated with a signalling enzyme chain and modulates the neuron's response. 
Workspace complex is analogous to a biological neuron described by Francis Crick.  It must:
Each receptor Workspace complex is positioned schematically in the structural neuron network.  The sensory receptors will be defined by their positional association with the phenomena schematic string, and by the pre-deployed codelet binding schematic string that initiates the receptor activity. 

The receptor complexes must initiate actions rapidly while ensuring the response is moderated by the
The complex adaptive system (CAS) nature of a value delivery system is first introduced.  It's a network of agents acting as relays. 

The critical nature of hub agents and the difficulty of altering an aligned network is reviewed. 

The nature of and exceptional opportunities created by platforms are discussed. 

Finally an example of aligning a VDS is presented. 
environment
and
Representing state in emergent entities is essential but difficult.  Various structures are used to enhance the rate and scope of state transitions.  Examples are discussed. 
state


The innate receptor codelet rchpair (evaluator, builder) can respond to the detection of a matching pair of [i]char WSO by 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.  To be efficient they are low cost to produce and destroy. 
a codelet cascade.  But its actions are mediated by feedback (via ctcicomp) from the integrator codelet rchpint (evaluator, builder). 

The development of the schematic innate neuron is ongoing and still at an early stage. 

The
This page discusses how Smiley provides deployment guarantees to its agent-based applications. 
Smiley's transaction services are reviewed. 
The complex interactions of codelets participating in a deployment cascade are discussed including: 
  • The implementation of schematic switches. 
  • The cooperative use of goal suppression.  
  • Evaluator codelets promotion of other siblings. 
Challenges of initiation of a cascade are discussed. 
Tools to associate transaction protection to an operon deployed codelet are described. 
Special support for sub-program codelets is described.  Completion of transactional sub-programs presents special challenges. 
Priority and synchronization support includes:
  • Delaying the operaton of the cascade sponsor. 
  • Delaying the notgcompleting cascade participant. 
  • Waiting for completion of parallel operations with the wait and relay service.  
The need to sustain resource pools is reviewed. 
The use of signals to coordinate siblings is described. 
The structural binding operon for the wait and relay service is included. 
The codelets and supporting functions are included.
signal cascade
creates an
Rather than oppose the direct thrust of some environmental flow agents can improve their effectiveness with indirect responses.  This page explains how agents are architected to do this and discusses some examples of how it can be done. 
indirectly defined
This page discusses the effect of the network on the agents participating in a complex adaptive system (CAS).  Small world and scale free networks are considered. 
network
associating signal and action. 

The presence of buffered receptor state represented by descriptors deployed in the structural Workspace with indirect address receptorh at operons is an addressable control structure which is used in biological cells to control access to other regions of the DNA. 
receptorb and receptorbi allows the acceleration of the detection action codelet loop. 

The
This page reviews the implications of selection, variation and heredity in a complex adaptive system (CAS).  The mechanism and its emergence are discussed. 
evolutionary
instantiation of receptor networks supporting decisions affecting survival disconnects free will from the epistemological and deterministic paradoxes inherent in dualism.


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. 


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



msshsloc signalled meme
The shsloc 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
(<mergestreams> <source> <target> <merge> <initial>) 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 Slipnet description associates codelet forces (nuclabmevaluator) with the signal. 

 


<comment> (<rhlmspg> <memgroup> <mergestreams> <schema> <source> <target> <merge> <initial> <mergestreams> <for> <source> <target> <compare> <streams> </memgroup> </rhlmspg> )<comment> rchpair



msrchpair signalled meme
The rchpair 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
(<mergestreams> <source> <target> <compare> <streams>) 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 Slipnet description associates codelet forces (nuclabmevaluator) with the signal. 

 


<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

<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> <compare> <streams> <mergestreams> <for> <source> <target> <integrate> <compare> <streams> </memgroup> </rhlmspg> ) comment rchpint

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

#
    my ($pconc, $jhlsid);
# sdshslocbindtomsiggv
# setup the binding string for the multi path signal to control merge streams assert operation processing - assert 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} {mergestreams}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [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} {mergestreams}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {source}, $Awfif::memes-> {snnh} {target}, $Awfif::memes-> {snnh} {merge}, $Awfif::memes-> {snnh} {initial}, $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, 'rchpairbuilder');
    &Awfif::addjhlstm ($jhlsid, 'ripkwmbuilder');
# sdshchpbindtomsiggv
# setup the binding string for the multi path signal to control merge streams assert operation processing - assert 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} {mergestreams}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [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} {mergestreams}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {source}, $Awfif::memes-> {snnh} {target}, $Awfif::memes-> {snnh} {compare}, $Awfif::memes-> {snnh} {streams}, $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, 'rchpintbuilder');
# mscircpebindtobis
# setup the binding string for the innate receptor i char pair

    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [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, undef(), undef(), undef(), 't'), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {mergestreams}, $Awfif::memes-> {snnh} {for}, $Awfif::memes-> {snnh} {source}, $Awfif::memes-> {snnh} {target}, $Awfif::memes-> {snnh} {compare}, $Awfif::memes-> {snnh} {streams}, $Awfif::memes-> {snnh} {attribr});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {rchpairevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# mscirpkwebindtobis

    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [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, undef(), undef(), undef(), 't'), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {mergestreams}, $Awfif::memes-> {snnh} {for}, $Awfif::memes-> {snnh} {source}, $Awfif::memes-> {snnh} {target}, $Awfif::memes-> {snnh} {match}, $Awfif::memes-> {snnh} {name}, $Awfif::memes-> {snnh} {attribr});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {ripkwmevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
# mscirchpintebindtobis

    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {mergestreams}] [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, undef(), undef(), undef(), 't'), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {mergestreams}, $Awfif::memes-> {snnh} {for}, $Awfif::memes-> {snnh} {source}, $Awfif::memes-> {snnh} {target}, $Awfif::memes-> {snnh} {integrate}, $Awfif::memes-> {snnh} {compare}, $Awfif::memes-> {snnh} {streams}, $Awfif::memes-> {snnh} {attribr});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {evaluator}, $Awfif::memes-> {snnh} {rchpintevaluator}, $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);

Functions

#
sub ctcicomp {
    my($myli, $sactset, $type, $rwso, $rws, $strategy)=@_;
    my ($result, $cwsbi, $counteri);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("ctcicomp ");
      };

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $result = $Awfif::memes-> {snnh}{act};#proceed with local action

# in this case only continue if find the descriptor we are interested in
    my ($bcount, $sigcount, $receptorhwso, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $stwso);
    $bcount = ifindb ($myli, undef (), 'receptorh', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, undef (), undef (), \@$sactset);
    $receptorhwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$$rws);
# find the receptor buffer binding and check if there is modeled descriptor
    if ($bcount >= 1) {
# now look at the receptor sub structure

      $bcount = ifindb ($myli, $stwso, $strategy, \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, undef (), undef (), \@$sactset, $$rws);
      $$rwso = getstsbws ($myli, $sigcount, \@lomatchs, \@lola, $$rws);
      if ($bcount == 1) {#check for the receptor generated inhibitory descriptor

        $Awfif::memes-> {currentwsbi} = $$rws;
        if ( ((findcounter ($Awfif::wsol-> {l} [ (awsoadr ($$rwso)) ] [2], $Awfif::memes-> {snnh} {signal}, \$counteri, $Awfif::memes-> {snnh}{act}, $type )) )
        or ((findcounter ($Awfif::wsol-> {l} [ (awsoadr ($$rwso)) ] [2], $Awfif::memes-> {snnh} {signal}, \$counteri, $Awfif::memes-> {snnh}{signal}, $type )) )
        ) {

          $result = ($Awfif::workspace-> {l} [$counteri] [2] - $Awfif::memes-> {snnh} {wsi});#proceed with buffered action signal or act
          }#if
        else {#there is no counter yet

          $result = $Awfif::memes-> {snnh} {signal};#signal the cascade
          };#else continue to signal
        };#if
      };#if
    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      my ($pr);
      $pr = $Awfif::memes-> {snnih} {$result};
      print ("ctcicompx rwso($$rwso) rws($$rws) ret ($result:$pr)\n");
      };

    return ($result)
    }# ctcicomp
#
sub ldlearning {# general feedforward energy delta signal
    my ($result, $update);
#
# checked for merged workspaces

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("ldlearning ");
      };

    $update = '';
    $result = $Awfif::memes-> {ldsignal};
    if ($Awfif::memes-> {ldlcycle} >= $Awfif::memes-> {ldlcyclemax}) {

      $Awfif::memes-> {ldlcycle} = 0;
      $Awfif::memes-> {ldmcycle} = 0;
      $update = 't';
      }
    elsif ($Awfif::memes-> {ldmcycle} >= $Awfif::memes-> {ldmcyclemax}) {

      $Awfif::memes-> {ldlcycle}++;
      $Awfif::memes-> {ldmcycle} = 0;
      $update = 't';
      }
    else {

      $Awfif::memes-> {ldmcycle}++;
      };
# buffer housekeeping
    if ($update) {#update averages & buffer
      my ($ochange, $i, $shift, $gonegative);
# aim to shift the gtp level within maxldav and minldav values

      $shift = 0;
      if (($Awfif::memes-> {ldav} > $Awfif::memes-> {maxldav})
      && ($Awfif::memes-> {fgtp} > int ($Awfif::memes-> {maxldav}/2))
      && (defined ($Awfif::memes-> {ldbmin}))
      && ($Awfif::memes-> {ldbmin} > int ($Awfif::memes-> {maxldav}/2))
      ){

        $shift = $Awfif::memes-> {ldbmin};
        $Awfif::memes-> {fgtp} -= $shift;
        for ($i = 0; $i <= $Awfif::memes-> {ldlcyclemax}; $i++) {

          $Awfif::memes-> {ldbuffer} [$i] -= $shift;
          };#for
        } #if
      elsif (($Awfif::memes-> {ldav} < $Awfif::memes-> {minldav})
      && ($Awfif::memes-> {fgtp} < int ($Awfif::memes-> {minldav}/2))
      && (defined ($Awfif::memes-> {ldbmin}))
      && ($Awfif::memes-> {ldbmin} < int ($Awfif::memes-> {minldav}/2))
      ){

        $shift = $Awfif::memes-> {ldbmin};
        $Awfif::memes-> {fgtp} -= $shift;
        for ($i = 0; $i <= $Awfif::memes-> {ldlcyclemax}; $i++) {

          $Awfif::memes-> {ldbuffer} [$i] -= $shift;
          };#for
        };#else

      $ochange = $Awfif::memes-> {ldav} - $Awfif::memes-> {ldoav};
      $Awfif::memes-> {ldav} -= $shift;
      $Awfif::memes-> {ldoav} = $Awfif::memes-> {ldav};
      $Awfif::memes-> {ldbuffer} [$Awfif::memes-> {ldlcycle}] = $Awfif::memes-> {fgtp};
      $Awfif::memes-> {ldav} = 0;
      $Awfif::memes-> {ldbmin} = $Awfif::memes-> {ldoav};
      if (($Awfif::memes-> {ldbmin} >= 0) ){

        $gonegative = 't';
        }#if
      else {

        $gonegative = '';
        };#else
      for ($i = 0; $i <= $Awfif::memes-> {ldlcyclemax}; $i++) {

        $Awfif::memes-> {ldav} = $Awfif::memes-> {ldav} + ($Awfif::memes-> {ldbuffer} [$i]);
        if (($gonegative) && ($Awfif::memes-> {ldbmin} > $Awfif::memes-> {ldbuffer} [$i])) {

          $Awfif::memes-> {ldbmin} = $Awfif::memes-> {ldbuffer} [$i];
          }#if
        elsif ((!$gonegative) && ($Awfif::memes-> {ldbmin} < $Awfif::memes-> {ldbuffer} [$i])) {

          $Awfif::memes-> {ldbmin} = $Awfif::memes-> {ldbuffer} [$i];
          };#elsif
        };#for
      if ($Awfif::memes-> {ldav} != 0) {

        $Awfif::memes-> {ldav} = int($Awfif::memes-> {ldav}/($Awfif::memes-> {ldlcyclemax}+1));
        };#if
# update the trends

      if ((($Awfif::memes-> {ldav} - $Awfif::memes-> {ldoav}) - $ochange < $Awfif::memes-> {lderr})
      && (($Awfif::memes-> {ldav} - $Awfif::memes-> {ldoav}) - $ochange > (-$Awfif::memes-> {lderr}))) {

        $result = 0;
        }#0
      elsif ((($Awfif::memes-> {ldav} - $Awfif::memes-> {ldoav}) - $ochange > ($Awfif::memes-> {lderr}))) {

        $result = 1;
        }#+ve trend
      else {

        $result = -1;
        };#-ve trend
      };#if
# if the old average - current delta -> new average then no change (0)

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("ldlearningx ldmc $Awfif::memes->{ldmcycle} ret $result\n");
      };

    $Awfif::memes-> {ldsignal} = $result;
    if ($Awfif::memes-> {ldsignal} != 0) {
      $Awfif::memes-> {ldtrend} = $Awfif::memes-> {ldav} - $Awfif::memes-> {ldoav};#want negative if old is bigger than new
      };#if
    return $result
    }# ldlearning
#
#
sub bindercst1 {# setup the labels for binder indirect context
    my($myli, $sti, $lab, $kwp, $kwpr, $sactset, $static)=@_;
    my ($labcount, $i, $cwsbi, $conforms, $ssloc, $shistone, $ri);

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

    $labcount = 0;

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
    for ($i = trwsoadr($Awfif::codelet-> {l} [$myli][21],2);
    ( (!($shistone = chmdefis ($myli, trwsoadr ($i,-1), $Awfif::memes-> {snnh}{histone}, \$conforms)))
    && ($i != trwsoadr ($Awfif::codelet-> {l} [$myli][22],-2) )
    && ($ri = $i)
    && (!($ssloc = chmdefis ($myli, trwsoadr ($i,2), $Awfif::memes-> {snnh}{sloc}, \$conforms))));
    $i = trwsoadr ($i,1)) {

      $labcount = labload (\@$lab, $labcount, wsbasetype ($i));
      };#for
    if ($shistone) {#already done it

      if ($Awfif::memes-> {binderchis}) {&break()};
      }#if
    elsif ($ssloc) {

      $labcount = labload (\@$lab, $labcount, wsbasetype ($ri));
      }#elsif
    else {

      $labcount = labload (\@$lab, $labcount, wsbasetype (trwsoadr ($Awfif::codelet-> {l} [$myli][22],-2)));
      };#else
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {sequence});
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {integration});
    $Awfif::memes-> {currentwsbi} = $cwsbi;

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

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("bindercst1x ret ($labcount)\n");
      };
    return $labcount
    }# bindercst1
#
#
sub receptorb1 {# setup the binding for resolved assert receptor buffer binder
    my($myli, $sti, $lab, $kwp, $kwpr, $sactset, $static)=@_;
    my ($labcount, $cwsbi, $i);

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

    $labcount = 0;
# updated for merged workspaces
    $cwsbi = $Awfif::memes-> {currentwsbi};

    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {signal});
    $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
    for ($i = trwsoadr ($Awfif::codelet-> {l} [$myli][21], 4);
    $i != $Awfif::codelet-> {l} [$myli][22];
    $i = trwsoadr ($i,1)) {
      $labcount = labload (\@$lab, $labcount, wsbasetype ($i));
      };#for
    $labcount = labload (\@$lab, $labcount, wsbasetype ($Awfif::codelet-> {l} [$myli][22]));
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {sequence});
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {integration});

    if (defined ($$static)) {
      $$static = '';#can not depend on this being the same every return - can't cache
      };#if
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("receptorbx ret ($labcount)\n");
      };
    return $labcount
    }# receptorb
#
sub receptorbi1 {# setup the binding for resolved assert receptor buffer binder
    my($myli, $sti, $lab, $kwp, $kwpr, $sactset, $static)=@_;
    my ($labcount, $cwsbi, $i);

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

    $labcount = 0;
# updated for merged workspaces
    $cwsbi = $Awfif::memes-> {currentwsbi};

    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {signal});
    $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
    for ($i = trwsoadr ($Awfif::codelet-> {l} [$myli][21], 5);
    $i != $Awfif::codelet-> {l} [$myli][22];
    $i = trwsoadr ($i,1)) {
      $labcount = labload (\@$lab, $labcount, wsbasetype ($i));
      };#for
    $labcount = labload (\@$lab, $labcount, wsbasetype ($Awfif::codelet-> {l} [$myli][22]));
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {sequence});
    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {integration});

    if (defined ($$static)) {
      $$static = '';#can not depend on this being the same every return - can't cache
      };#if
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("receptorbix ret ($labcount)\n");
      };
    return $labcount
    }# receptorbi
#
sub receptorh1 {# setup the binding for receptor hierarchy signal schematic workspace binder
    my($myli, $sti, $lab, $kwp, $kwpr, $sactset, $static)=@_;
    my ($labcount);

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

    $labcount = 0;

    $labcount = labload (\@$lab, $labcount, $Awfif::memes-> {snnh} {signal});
    $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 ("receptorhx ret ($labcount)\n");
      };
    return $labcount
    }# receptorh
#
sub rchpairevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $abcwso, $sponsortype, $cwsbi,
    $usetrans, $subpid, $transtatus, $stransmgrid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $transid, $eos,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# receptor char pair codelet responds to group complete providing application specific receptor detecting pairs of identical chars or whitespace in the source and target
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $noswstype = '';
    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, $shdesc, $conforms, $cws, $bcwso, $lhdesc, $lhwso);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);
# now know there is an assert mergestreams do binder ws locate the schematic context
      if ( (ifindb ($myli, $sponsor, 'bindercst', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't') == 1)
      ){#look for structural workspace position descriptor

        $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];
        $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercst');
        if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )
        && ( ($Awfif::workspace-> {l} [$sldesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
# and check have not reached end of stream

        && (!($eos = findbond ($Awfif::wsol-> {l} [ $abcwso][2], 0, $Awfif::memes-> {snnh} {stream}, $Awfif::memes-> {snnh} {eos})))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))

        && (($shdesc = findtdesc ($Awfif::wsol-> {l} [ $abcwso ] [2], $Awfif::memes-> {snnh} {shwsposition})) != 0 ) #
        && ( $Awfif::workspace-> {l} [$shdesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $sldesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{char}, \$conforms, $$kwp, $kwpr,))
          or (wsbasetype ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{ichar})
          or (wsbasetype ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{whitespace}) )
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $shdesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{char}, \$conforms, $$kwp, $kwpr,))
          or (wsbasetype ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{ichar})
          or (wsbasetype ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{whitespace}) )
# or the application structural context head does not have a casinit
# context is cws: bcwso
# head is listhead-> lhdesc

        or (($eos) && ($Awfif::codelet-> {l} [$myli] [35] > 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}))
        or ($lhdesc != 0 )
        && (($lhwso = ($Awfif::workspace-> {l} [$lhdesc][2] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && (($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [$lhdesc][3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        &&(!findbond ($Awfif::wsol-> {l} [ awsoadr ($lhwso)] [2], $Awfif::memes-> {snnh} {casinit}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {icompdevaluator}))
        )
        ){#launch builder

          $Awfif::memes-> {currentwsbi} = $cwsbi;
          $Awfif::clp = ();
          $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];

          if ((ifindupri ($myli, $sponsor))
          && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $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} = "rchpairbuilder";
          $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(), "rchpairbuilder", $$kwp, $kwpr, \@$sactset);
          };#if
        }#if
      else {
# see if can recover or mask suppressor

        if (!promotesib ($myli)) {

          &imasksupp ($myli);
          };#if
        };#else
      };#got buffer

    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# rchpairevaluator1
#
sub rchpairbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);
# receptor char pair codelet responds to group complete providing application specific receptor detecting pairs of identical chars or whitespace in the source and target
    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
    }# rchpairbsmodeler1
#
sub rchpairbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $swstype, $noswstype, $abcwso, $sponsortype, $cwsbi, $stwso, $astwso, $aws, $shws, $catalysis,
    $usetrans, $subpid, $transtatus, $transid, $stransmgrid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $jhlabeli, $jhlabeloi, $eos, $gsponsor, $atelhwso,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
# receptor char pair codelet responds to group complete providing application specific receptor detecting pairs of identical chars or whitespace in the source and target
# it is a cascade supporting codelet so it will re-enter until the phase it is sponsoring has completed
# it should conform to the innate receptor architecture
    $noswstype = '';
    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, $shdesc, $conforms, $cws, $bcwso);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);

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

      $usetrans = 0;#must be defined to be setup in gettmgr
      $subpid = $Awfif::codelet-> {l} [$myli] [36];
      $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercst');
      if ( (ifindb ($myli, $sponsor, 'bindercst', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1)
      ){#

        $bcwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$cws);
        $Awfif::memes-> {currentwsbi} = $cws;

        $subpid = $Awfif::codelet-> {l} [$myli] [36];
        if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [ ($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )
        && ( ($Awfif::workspace-> {l} [$sldesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
# and check have not reached end of stream
        && (!($eos = findbond ($Awfif::wsol-> {l} [ $abcwso][2], 0, $Awfif::memes-> {snnh} {stream}, $Awfif::memes-> {snnh} {eos})))
# and check have not had an unbind
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))

        && (($shdesc = findtdesc ($Awfif::wsol-> {l} [ $abcwso ] [2], $Awfif::memes-> {snnh} {shwsposition})) != 0 ) #
        && ( $Awfif::workspace-> {l} [$shdesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
        && ( ($Awfif::memes-> {currentwsbi} = ($aws = ($Awfif::workspace-> {l} [ $sldesc ] [3] - $Awfif::memes-> {snnh} {wsi}))) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{char}, \$conforms, $$kwp, $kwpr,))
          or (wsbasetype ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{ichar})
          or (wsbasetype ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{whitespace}) )
        && ( ($Awfif::memes-> {currentwsbi} = ($shws = ($Awfif::workspace-> {l} [ $shdesc ] [3] - $Awfif::memes-> {snnh} {wsi}))) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{char}, \$conforms, $$kwp, $kwpr,))
          or (wsbasetype ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{ichar})
          or (wsbasetype ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{whitespace}) )

        )
        ){#check for match
# This innate receptor codelet will identify a match of ichar or char wso in the source|target stream current positions
# when a match occurs the current workspace position descriptors will be moved

          if ($usetrans == 0){

            my ($ast4, $shst4, $giveup, $found);

            $Awfif::memes-> {currentwsbi} = $aws;
            $ast4 = getwsost4 ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi});
            $Awfif::memes-> {currentwsbi} = $shws;
            $shst4 = getwsost4 ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi});

            if ($ast4 eq $shst4) {

              my ($rwso, $pws, $action);
              if (($action = ctcicomp ($myli, \@$sactset, $Awfif::memes-> {snnh} {char}, \$rwso, \$pws, 'receptorb')) == $Awfif::memes-> {snnh} {act}) {

                $catalysis = grabcodelet ($myli, $sldesc, $cws, $abcwso, undef (), undef (), 't');
                &movecomplex ($myli, $sldesc, 1, $abcwso);
                &movecomplex ($myli, $shdesc, 1, $abcwso);
                }#if
# rchpairbsigu2
              elsif ($action == $Awfif::memes-> {snnh} {signal}) {#signal receptor cascade

                $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli][20];
                if ($transtatus != $Awfif::memes-> {snnh} {completed}){

                  if (!defined ($transtatus)) {

                    $transtatus = 0;
                    };#if
                  &ilaunchnc ($myli, $bcwso, 'casopai', $Awfif::memes-> {snnh} {casinopp}, \$giveup, $grkwp, $grkwpr, \@$sactset,
                    '32,37', #mask out codelet-> {l} [32] i.e. {tfree}
                    $usetrans,
                    \$transid,
                    \$transtatus,
                    undef (), #subprogram
                    undef (), #jhlabeli
                    undef (), #jhlabeloi
                    undef (), #newli
                    undef (), #hiurg
                    undef (), #usepooling
                    ( (ifindupri ($myli, $sponsor)) && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $sponsortype))) )#buildoffurg
                    );
                  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, $Awfif::codelet-> {l} [$myli] [36], $stransmgrid);
                    &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {add}, $Awfif::memes-> {snnh} {assocf1}, $atelhwso, $Awfif::memes-> {snnh} {stran}, undef(), $Awfif::codelet-> {l} [$myli] [36], $Awfif::codelet-> {l} [$myli] [37], $Awfif::codelet-> {l} [$myli] [36]);
                    };#if
# now want to ungroup if don't find cascade in list in app str workspace list head
# get the app str ws

                  &initiateself ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $sponsor);
                  };#elsif
                }#elsif
              else {#do nothing cascade has afferent action

                };#else
              $found = 't';
              };#if
            }#if usetran = 0
          else {# usetrans implies continue signaling

            $Awfif::memes-> {currentwsbi} = $cwsbi;
            $usetrans = resstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, 'casopai', $usetrans, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, \$jhlabeli, $jhlabeloi,
                ( (ifindupri ($myli, $sponsor)) && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $sponsortype))) )#buildoffurg
                );

            if ( (&transalloc ($myli, $Awfif::memes-> {snnh} {cassponsor}, undef(), $transid, \$transtatus) == $transid)
            && ($transtatus == $Awfif::memes-> {snnh} {incomplete}) #bcsubps transaction is not completed
            ){
# mp signal the sub-program

              my ($sgdi);
              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{cassponsor});
              $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
              &fgrpd ($myli, $sponsor, \$sgdi, $Awfif::memes-> {snnh} {groupcategory} );
              $gsponsor = fgrpsponsor ($sponsor, $Awfif::workspace-> {l} [$sgdi] [3], $Awfif::memes-> {snnh} {groupcategory});

              ¬gcompleted ($myli, $sponsor, teltail ($Awfif::jhls-> {l} [$Awfif::codelet-> {l} [$myli] [31]] [15] [3]),'t');# sponsor should be one after telomeric header
              }#if still need to signal subprogram
            else {

              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor});
              };#else
            };#else
          }#if
        elsif ($eos) {

          if ($Awfif::codelet-> {l} [$myli] [35] != 0) {

            my ($transtatus);
            &transalloc ($myli, $Awfif::memes-> {snnh} {casparticipant}, undef(), $Awfif::codelet-> {l} [$myli] [35], \$$transtatus);
            };#if
          }# elsif
        else {#can't operate currently release the suppressor
          &imasksupp ($myli);
          };#else
        }
      else {#report error 'impossible context situation' to statement codelet
        my ($stwso, $astwso);

        if ($stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr) != 0) {
        $astwso = awsoadr ($stwso);
        $Awfif::wsol-> {l} [$astwso][2]
        = setupdesc ( wsbasetype ( trwsoadr ($Awfif::codelet-> {l} [$myli][21],2)),
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {error}),
            $Awfif::memes-> {snnh} {bind},
            $Awfif::wsol-> {l} [$astwso] [2],
            $astwso);
          };#if
        };
      if ($catalysis) {

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

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# rchpairbuilder1
#
sub ripkwmevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $abcwso, $sponsortype, $cwsbi,
    $usetrans, $subpid, $transtatus, $stransmgrid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $eos, $transid,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
# receptor innate paired keyword match codelet responds to group complete providing application specific detection of paired keywords present in the source and target streams
    $noswstype = '';
    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, $shdesc, $conforms, $cws, $bcwso, $lhdesc, $lhwso);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);
# now know there is an assert mergestreams do binder ws locate the schematic context
      if ( (ifindb ($myli, $sponsor, 'bindercst', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't') == 1)
      ){#look for structural workspace position descriptor

        $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];
        $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercst');
        if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )
        && ( ($Awfif::workspace-> {l} [$sldesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
# and check have not reached end of stream

        && (!($eos = findbond ($Awfif::wsol-> {l} [ $abcwso][2], 0, $Awfif::memes-> {snnh} {stream}, $Awfif::memes-> {snnh} {eos})))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))

        && (($shdesc = findtdesc ($Awfif::wsol-> {l} [ $abcwso ] [2], $Awfif::memes-> {snnh} {shwsposition})) != 0 ) #
        && ( $Awfif::workspace-> {l} [$shdesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $sldesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{target}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{stays}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{version}, \$conforms, $$kwp, $kwpr,)) )
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $shdesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{target}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{stays}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{version}, \$conforms, $$kwp, $kwpr,)) )
# or the application structural context head does not have a casinit
# context is cws: bcwso
# head is listhead-> lhdesc

        or (($eos) && ($Awfif::codelet-> {l} [$myli] [35] > 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}))
        or ($lhdesc != 0 )
        && (($lhwso = ($Awfif::workspace-> {l} [$lhdesc][2] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && (($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [$lhdesc][3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        &&(!findbond ($Awfif::wsol-> {l} [ awsoadr ($lhwso)] [2], $Awfif::memes-> {snnh} {casinit}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {icompdevaluator}))
        )
        ){#launch builder

          $Awfif::memes-> {currentwsbi} = $cwsbi;
          $Awfif::clp = ();
          $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];

          if ((ifindupri ($myli, $sponsor))
          && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $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} = "ripkwmbuilder";
          $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(), "ripkwmbuilder", $$kwp, $kwpr, \@$sactset);
          };#if
        }#if
      else {
# see if can recover or mask suppressor

        if (!promotesib ($myli)) {

          &imasksupp ($myli);
          };#if
        };#else
      };#got buffer

    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# ripkwmevaluator1
#
sub ripkwmbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);
# receptor innate paired keyword match codelet responds to group complete providing application specific detection of paired keywords present in the source and target streams
    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
    }# ripkwmbsmodeler1
#
sub ripkwmbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $swstype, $noswstype, $abcwso, $sponsortype, $cwsbi, $stwso, $astwso, $aws, $shws, $catalysis, $eos,
    $usetrans, $subpid, $transtatus, $stransmgrid, $transid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $jhlabeli, $jhlabeloi, $cwsposition, $cshwsposition, $gsponsor, $atelhwso,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
# receptor innate paired keyword match codelet responds to group complete providing application specific detection of paired keywords present in the source and target streams
# it is a cascade supporting codelet so it will re-enter until the phase it is sponsoring has completed
# it conforms to the innate receptor architecture
    $noswstype = '';
    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, $shdesc, $conforms, $cws, $bcwso);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);

# Find the statement wso and obtain the statement's wso type
      $stwso = igetmynowner ($myli, $sponsor, 'bustatement', $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);
      $usetrans = 0;#must be defined to be setup in gettmgr
      $subpid = $Awfif::codelet-> {l} [$myli] [36];
      $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercst');
      if ( (ifindb ($myli, $sponsor, 'bindercst', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset) == 1)
      ){#

        $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];
        if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [ ($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )
        && ( ($Awfif::workspace-> {l} [$sldesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
# and check have not reached end of stream
        && (!findbond ($Awfif::wsol-> {l} [ $abcwso][2], 0, $Awfif::memes-> {snnh} {stream}, $Awfif::memes-> {snnh} {eos}))
# and check have not had an unbind
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))

        && (($shdesc = findtdesc ($Awfif::wsol-> {l} [ $abcwso ] [2], $Awfif::memes-> {snnh} {shwsposition})) != 0 ) #
        && ( $Awfif::workspace-> {l} [$shdesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
        && ( ($Awfif::memes-> {currentwsbi} = ($aws = ($Awfif::workspace-> {l} [ $sldesc ] [3] - $Awfif::memes-> {snnh} {wsi}))) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{target}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($cwsposition = $Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{stays}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{version}, \$conforms, $$kwp, $kwpr,)) )
        && ( ($Awfif::memes-> {currentwsbi} = ($shws = $Awfif::workspace-> {l} [ $shdesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($cshwsposition = $Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{target}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{stays}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{version}, \$conforms, $$kwp, $kwpr,)) )

        )
        ){#check for match
# This innate receptor codelet will identify a match of identical keywords in the source|target stream current positions
# when a match occurs the current workspace position descriptors will be moved

          if ($usetrans == 0){

            my ($ast4, $shst4, $giveup, $found);

            $Awfif::memes-> {currentwsbi} = $aws;
            $ast4 = getwsost4 ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi});
            $Awfif::memes-> {currentwsbi} = $shws;
            $shst4 = getwsost4 ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi});

            if ($ast4 eq $shst4) {

              my ($rwso, $pws, $action);
              if (($action = ctcicomp ($myli, \@$sactset, $Awfif::memes-> {snnh} {char}, \$rwso, \$pws, 'receptorb')) == $Awfif::memes-> {snnh} {act}) {

                $catalysis = grabcodelet ($myli, $sldesc, $cws, $abcwso, undef (), undef (), 't');
                if ( sinkskeyword ($myli, \$cwsposition, $sldesc, $abcwso) ){

                  &sinkekeyword ($myli, \$cwsposition, $sldesc, $cws, $abcwso, 1);
                  };#if
                if ( sinkskeyword ($myli, \$cshwsposition, $shdesc, $abcwso) ){

                  &sinkekeyword ($myli, \$cshwsposition, $shdesc, $cws, $abcwso, 1);
                  };#if
                }#if
              elsif ($action == $Awfif::memes-> {snnh} {signal}) {#signal receptor cascade

                $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli][20];
                if ($transtatus != $Awfif::memes-> {snnh} {completed}){

                  if (!defined ($transtatus)) {

                    $transtatus = 0;
                    };#if
                  &ilaunchnc ($myli, $bcwso, 'casopai', $Awfif::memes-> {snnh} {casinopp}, \$giveup, $grkwp, $grkwpr, \@$sactset,
                    '32,37', #mask out codelet-> {l} [32] i.e. {tfree}
                    $usetrans,
                    \$transid,
                    \$transtatus,
                    undef (), #subprogram
                    undef (), #jhlabeli
                    undef (), #jhlabeloi
                    undef (), #newli
                    undef (), #hiurg
                    undef (), #usepooling
                    ( (ifindupri ($myli, $sponsor)) && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $sponsortype))) )#buildoffurg
                    );
                  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, $Awfif::codelet-> {l} [$myli] [36], $stransmgrid);
                    &transmgr ($myli, $myli, $Awfif::memes-> {snnh} {add}, $Awfif::memes-> {snnh} {assocf1}, $atelhwso, $Awfif::memes-> {snnh} {stran}, undef(), $Awfif::codelet-> {l} [$myli] [36], $Awfif::codelet-> {l} [$myli] [37], $Awfif::codelet-> {l} [$myli] [36]);
                    };#if
# now want to ungroup if don't find cascade in list in app str workspace list head
# get the app str ws

                  &initiateself ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $sponsor);
                  };#elsif
                }#elsif
              else {#do nothing cascade has afferent action

                };#else
              $found = 't';
              };#if
            }#if usetran = 0
          else {# usetrans implies continue signaling

            $Awfif::memes-> {currentwsbi} = $cwsbi;
            $usetrans = resstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, 'casopai', $usetrans, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, \$jhlabeli, $jhlabeloi,
                ( (ifindupri ($myli, $sponsor)) && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $sponsortype))) )#buildoffurg
                );

            if ( (&transalloc ($myli, $Awfif::memes-> {snnh} {cassponsor}, undef(), $transid, \$transtatus) == $transid)
            && ($transtatus == $Awfif::memes-> {snnh} {incomplete}) #bcsubps transaction is not completed
            ){
# mp signal the sub-program

              my ($sgdi);
              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{cassponsor});
              $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$myli] [20];
              &fgrpd ($myli, $sponsor, \$sgdi, $Awfif::memes-> {snnh} {groupcategory} );
              $gsponsor = fgrpsponsor ($sponsor, $Awfif::workspace-> {l} [$sgdi] [3], $Awfif::memes-> {snnh} {groupcategory});

              ¬gcompleted ($myli, $sponsor, teltail ($Awfif::jhls-> {l} [$Awfif::codelet-> {l} [$myli] [31]] [15] [3]),'t');# sponsor should be one after telomeric header
              }#if still need to signal subprogram
            else {

              &cascadesponsor ($myli, $sponsor, $Awfif::memes-> {snnh}{wascassponsor});
              };#else
            };#else
          }#if
        elsif ($eos) {

          if ($Awfif::codelet-> {l} [$myli] [35] != 0) {

            my ($transtatus);
            &transalloc ($myli, $Awfif::memes-> {snnh} {casparticipant}, undef(), $Awfif::codelet-> {l} [$myli] [35], \$$transtatus);
            };#if
          }# elsif
        else {#can't operate currently release the suppressor
          &imasksupp ($myli);
          };#else
        }
      else {#report error 'impossible context situation' to statement codelet
        my ($stwso, $astwso);

        if ($stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr) != 0) {
        $astwso = awsoadr ($stwso);
        $Awfif::wsol-> {l} [$astwso][2]
        = setupdesc ( wsbasetype ( trwsoadr ($Awfif::codelet-> {l} [$myli][21],2)),
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {error}),
            $Awfif::memes-> {snnh} {bind},
            $Awfif::wsol-> {l} [$astwso] [2],
            $astwso);
          };#if
        };
      if ($catalysis) {

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

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# ripkwmbuilder1
#
sub rchpintevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $abcwso, $sponsortype, $cwsbi,
    $usetrans, $subpid, $transtatus, $stransmgrid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $transid,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
# receptor char par integration codelet
    $noswstype = '';
    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, $shdesc, $conforms, $cws, $bcwso, $lhdesc, $lhwso);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);
# now know there is an assert mergestreams do binder ws locate the schematic context
      if ( (ifindb ($myli, $sponsor, 'bindercs', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't') == 1)
      ){#look for structural workspace position descriptor
# &updatelog ($myli,'ae', 5, $file);

        $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];
        $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercs');
        if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )
        && ( ($Awfif::workspace-> {l} [$sldesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
# and check have not reached end of stream

        && (!findbond ($Awfif::wsol-> {l} [ $abcwso][2], 0, $Awfif::memes-> {snnh} {stream}, $Awfif::memes-> {snnh} {eos}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))

        && (($shdesc = findtdesc ($Awfif::wsol-> {l} [ $abcwso ] [2], $Awfif::memes-> {snnh} {shwsposition})) != 0 ) #
        && ( $Awfif::workspace-> {l} [$shdesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $sldesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{char}, \$conforms, $$kwp, $kwpr,))
          or (wsbasetype ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{ichar}) )
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $shdesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{char}, \$conforms, $$kwp, $kwpr,))
          or (wsbasetype ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}) == $Awfif::memes-> {snnh}{ichar}) )
# or the application structural context head does not have a casinit
# context is cws: bcwso
# head is listhead-> lhdesc

        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}))
        or ($lhdesc != 0 )
        && (($lhwso = ($Awfif::workspace-> {l} [$lhdesc][2] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && (($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [$lhdesc][3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        &&(!findbond ($Awfif::wsol-> {l} [ awsoadr ($lhwso)] [2], $Awfif::memes-> {snnh} {casinit}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {icompdevaluator}))
        )
        ){#launch builder

          $Awfif::memes-> {currentwsbi} = $cwsbi;
          $Awfif::clp = ();
          $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];

          if ((ifindupri ($myli, $sponsor))
          && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $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} = "rchpintbuilder";
          $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(), "rchpintbuilder", $$kwp, $kwpr, \@$sactset);
          };#if
        }#if
      else {
# see if can recover or mask suppressor

        if (!promotesib ($myli)) {

          &imasksupp ($myli);
          };#if
        };#else
      };#got buffer

    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# rchpintevaluator1
#
sub rchpintbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);
# receptor char par integration codelet
    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
    }# rchpintbsmodeler1
#
sub rchpintbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $swstype, $noswstype, $sponsortype, $cwsbi, $stwso, $astwso,
    $usetrans, $subpid, $transtatus, $stransmgrid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $counteri, $bcount, $transid,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# receptor char par integration codelet
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $noswstype = '';
    if (getcontext ($myli, \$sponsor, \$signal, \$schema, \$swstype, \$grkwp, \$grkwpr, $noswstype, \$cdn, \$cdnx, 3)) {

      my ($sigcount, @lomatchs, @lola, @loconcs, @lostrts, @loends, @logb, @loge, $twso, $asponsor, $rws, $rhwso, $rwso, $arwso);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);

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

      $usetrans = 0;#must be defined to be setup in gettmgr
      $subpid = $Awfif::codelet-> {l} [$myli] [36];
      $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercs');
      if ( (($bcount = ifindb ($myli, $sponsor, 'receptorh', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset)) >= 1)
      ){#

        $rhwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$rws);
        $Awfif::memes-> {currentwsbi} = $rws;

# now look at the receptor sub structure

        $bcount = ifindb ($myli, $stwso, 'receptorbi', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, undef (), undef (), \@$sactset, $rws);
        $rwso = getstsbws ($myli, $sigcount, \@lomatchs, \@lola, $rws);
        if ($bcount == 1) {#check for the receptor generated inhibitory descriptor

          $Awfif::memes-> {currentwsbi} = $rws;
          if ( (!findcounter ($Awfif::wsol-> {l} [ (awsoadr ($rwso)) ] [2], $Awfif::memes-> {snnh}{signal}, \$counteri, $Awfif::memes-> {snnh}{act}, $Awfif::memes-> {snnh}{char} ) )
          ) {#setup counter

            $arwso = awsoadr ($rwso);
            $Awfif::wsol-> {l} [$arwso][2]
            = inccounter ( $Awfif::memes-> {snnh}{char}, #pltype
                ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {act}), #pto
                $Awfif::memes-> {snnh} {signal}, #from
                $Awfif::wsol-> {l} [$arwso] [2],#dlinkh
                $arwso,#awso
                ''#synccod
                );
            };#if
          if ($Awfif::codelet-> {l} [$myli] [35] != 0) {

            my ($transtatus);
            &transalloc ($myli, $Awfif::memes-> {snnh} {casparticipant}, undef(), $Awfif::codelet-> {l} [$myli] [35], \$$transtatus);
            };#if
          };#if
        }
      else {#report error 'impossible context situation' to statement codelet
        my ($stwso, $astwso);

        if ($stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr) != 0) {
        $astwso = awsoadr ($stwso);
        $Awfif::wsol-> {l} [$astwso][2]
        = setupdesc ( wsbasetype ( trwsoadr ($Awfif::codelet-> {l} [$myli][21],2)),
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {error}),
            $Awfif::memes-> {snnh} {bind},
            $Awfif::wsol-> {l} [$astwso] [2],
            $astwso);
          };#if
        };
      $Awfif::memes-> {currentwsbi} = $cwsbi;
      };#got buffer
# and switch back to current context
    $Awfif::memes-> {currentwsbi} = $cwsbi;

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# rchpintbuilder1
#
sub rpkwmintevaluator1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $spi, $swstype, $noswstype, $abcwso, $sponsortype, $cwsbi,
    $usetrans, $subpid, $transtatus, $stransmgrid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $transid, $eos,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
# receptor paired keyword match integration codelet *** only part implemented
    $noswstype = '';
    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, $shdesc, $conforms, $cws, $bcwso, $lhdesc, $lhwso);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);
# now know there is an assert mergestreams do binder ws locate the schematic context
      if ( (ifindb ($myli, $sponsor, 'bindercs', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset, undef(), undef(), undef(), 't') == 1)
      ){#look for structural workspace position descriptor

        $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];
        $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercs');
        if ( ( ($sldesc = findtdesc ($Awfif::wsol-> {l} [($abcwso = awsoadr ($bcwso))] [2], $Awfif::memes-> {snnh} {wsposition})) != 0 )
        && ( ($Awfif::workspace-> {l} [$sldesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
# and check have not reached end of stream

        && (!($eos = findbond ($Awfif::wsol-> {l} [ $abcwso][2], 0, $Awfif::memes-> {snnh} {stream}, $Awfif::memes-> {snnh} {eos})))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))

        && (($shdesc = findtdesc ($Awfif::wsol-> {l} [ $abcwso ] [2], $Awfif::memes-> {snnh} {shwsposition})) != 0 ) #
        && ( $Awfif::workspace-> {l} [$shdesc] [2] != ($Awfif::memes-> {snnh} {wsi} + 0))
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $sldesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{target}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{stays}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $sldesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{version}, \$conforms, $$kwp, $kwpr,)) )
        && ( ($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [ $shdesc ] [3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && ( (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{target}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{stays}, \$conforms, $$kwp, $kwpr,))
        && (chmdefis ($myli, ($Awfif::workspace-> {l} [ $shdesc ] [2] - $Awfif::memes-> {snnh} {wsi}), $Awfif::memes-> {snnh}{version}, \$conforms, $$kwp, $kwpr,)) )
# or the application structural context head does not have a casinit
# context is cws: bcwso
# head is listhead-> lhdesc

        or (($eos) && ($Awfif::codelet-> {l} [$myli] [35] > 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}))
        or ($lhdesc != 0 )
        && (($lhwso = ($Awfif::workspace-> {l} [$lhdesc][2] - $Awfif::memes-> {snnh} {wsi})) != 0)
        && (($Awfif::memes-> {currentwsbi} = ($Awfif::workspace-> {l} [$lhdesc][3] - $Awfif::memes-> {snnh} {wsi})) != 0)
        &&(!findbond ($Awfif::wsol-> {l} [ awsoadr ($lhwso)] [2], $Awfif::memes-> {snnh} {casinit}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {model}))
        && (!findbond ($Awfif::wsol-> {l} [ awsoadr ($Awfif::wsbl-> {wsoh} [$cws])] [2], $Awfif::memes-> {snnh} {casunbind}, $sponsortype, $Awfif::memes-> {snnh} {icompdevaluator}))
        )
        ){#launch builder

          $Awfif::memes-> {currentwsbi} = $cwsbi;
          $Awfif::clp = ();
          $Awfif::clp-> {log} = $Awfif::codelet-> {l} [$myli][13];

          if ((ifindupri ($myli, $sponsor))
          && (!(hdescexists ($myli, $cws, $bcwso, $Awfif::memes-> {snnh} {casinit}, $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} = "rpkwmintbuilder";
          $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(), "rpkwmintbuilder", $$kwp, $kwpr, \@$sactset);
          };#if
        }#if
      else {
# see if can recover or mask suppressor

        if (!promotesib ($myli)) {

          &imasksupp ($myli);
          };#if
        };#else
      };#got buffer

    $Awfif::memes-> {currentwsbi} = $cwsbi;
    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# rpkwmintevaluator1
#
sub rpkwmintbsmodeler1 {
    my ($myli, $kwp, $kwpr, $sactset, $and) = @_;
    my ($salience);
# receptor paired keyword match integration codelet *** only part implemented
    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
    }# rpkwmintbsmodeler1
#
sub rpkwmintbuilder1 {
    my ($myli, $kwp, $kwpr, $sactset) = @_;#The ignored parameters are required by the codelet calling architecture
    my ($sponsor, $signal, $schema, $swstype, $noswstype, $abcwso, $sponsortype, $cwsbi, $stwso, $astwso, $catalysis,
    $usetrans, $subpid, $transtatus, $stransmgrid, $transid, $reportcaspart, $f1transid, $f1trmgrid, $samesubpid, $bcount, $rhwso, $rws, $rwso, $arwso, $counteri,
    $grkwp, $grkwpr, $cdn, $cdnx);
#
# checked for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
# receptor innate paired keyword match codelet responds to group complete providing application specific detection of paired keywords present in the source and target streams
# it is a cascade supporting codelet so it will re-enter until the phase it is sponsoring has completed
# it conforms to the innate receptor architecture
    $noswstype = '';
    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);
      $twso = trwsoadr (fgrpend ($sponsor), 1);
      $asponsor = awsoadr ($sponsor);
      $sponsortype = wsbasetype ($sponsor);

# Find the statement wso and obtain the statement's wso type
      $stwso = igetmynowner ($myli, $sponsor, 'bustatement', $grkwp, $grkwpr);
      $astwso = awsoadr ($stwso);
      $usetrans = 0;#must be defined to be setup in gettmgr
      $subpid = $Awfif::codelet-> {l} [$myli] [36];
      $usetrans = chstoff1 ($myli, $sponsor, $kwp, $kwpr, \@$sactset, \$f1transid, \$f1trmgrid, \$transtatus, \$transid, \$stransmgrid, \$samesubpid, \$reportcaspart, 'bindercs');
      if ( (($bcount = ifindb ($myli, $sponsor, 'receptorh', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, $$kwp, $kwpr, \@$sactset)) >= 1)
      ){#

        $rhwso = getfbws ($myli, $sigcount, \@lomatchs, \@lola, \$rws);
        $Awfif::memes-> {currentwsbi} = $rws;

# now look at the receptor sub structure

        $bcount = ifindb ($myli, $stwso, 'receptorbi', \$sigcount, \@lomatchs, \@lola, \@loconcs, \@lostrts, \@loends, \@logb, \@loge, undef (), undef (), \@$sactset, $rws);
        $rwso = getstsbws ($myli, $sigcount, \@lomatchs, \@lola, $rws);
        if ($bcount == 1) {#check for the receptor generated inhibitory descriptor

          $Awfif::memes-> {currentwsbi} = $rws;
          if ( (!findcounter ($Awfif::wsol-> {l} [ (awsoadr ($rwso)) ] [2], $Awfif::memes-> {snnh}{signal}, \$counteri, $Awfif::memes-> {snnh}{act}, $Awfif::memes-> {snnh}{char} ) )
          ) {#setup counter

            $arwso = awsoadr ($rwso);
            $Awfif::wsol-> {l} [$arwso][2]
            = inccounter ( $Awfif::memes-> {snnh}{char}, #pltype
                ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {act}), #pto
                $Awfif::memes-> {snnh} {signal}, #from
                $Awfif::wsol-> {l} [$arwso] [2],#dlinkh
                $arwso,#awso
                ''#synccod
                );
            };#if
          if ($Awfif::codelet-> {l} [$myli] [35] != 0) {

            my ($transtatus);
            &transalloc ($myli, $Awfif::memes-> {snnh} {casparticipant}, undef(), $Awfif::codelet-> {l} [$myli] [35], \$$transtatus);
            };#if
          };#if
        }
      else {#report error 'impossible context situation' to statement codelet
        my ($stwso, $astwso);

        if ($stwso = getmystatement ($myli, $sponsor, $grkwp, $grkwpr) != 0) {
        $astwso = awsoadr ($stwso);
        $Awfif::wsol-> {l} [$astwso][2]
        = setupdesc ( wsbasetype ( trwsoadr ($Awfif::codelet-> {l} [$myli][21],2)),
            ($Awfif::memes-> {snnh} {wsi} + $Awfif::memes-> {snnh} {error}),
            $Awfif::memes-> {snnh} {bind},
            $Awfif::wsol-> {l} [$astwso] [2],
            $astwso);
          };#if
        };
      if ($catalysis) {

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

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("$cdnx\n");
      };
    &clogstatx ();
    }# rpkwmintbuilder1
#
#
sub coderack (%) {
    my($kwp, $kwpr, $sactset, $restoring, $metaname )= @_;
    my(
#<!-- end tag scc -->
    $codelet, $s, $oktodelete, $wait, $ikwp, $ikwpr, $wslp, $cwsbi, $linitialkwp, $lkwpr, $moreurgent,
    @notetemp,
#<!-- start tag scc -->
    $initialkwp, $wasaachange, $buffer, $dsponsor, $dirprefix,
    %ics,
    );
#
#
# coderack is a routine that implements a parallel terraced scan and
# probabalistically selects and passes control to codelets.
#
#
# checked for merged workspaces
#

    use Time::HiRes 'time';
# coderackrestor1

    ($Awfif::starttime-> {sec},
    $Awfif::starttime-> {min},
    $Awfif::starttime-> {hour},
    $Awfif::starttime-> {mday},
    $Awfif::starttime-> {mon},
    $Awfif::starttime-> {year},
    $Awfif::starttime-> {wday},
    $Awfif::starttime-> {yday},
    $Awfif::starttime-> {isdat}) = localtime(time);
    &ittimerzero (\%ics);
# coderackvbtrestore
# setup the store restore dirprefix
    $dirprefix = '';
    if ($metaname =~ /vbt/){

      $dirprefix = 'vbt';
      };#if
    if ((!defined ($restoring)) or (!$restoring)){
      $Awfif::memes-> {kwpr} = $kwpr;
      $Awfif::memes-> {kwp} = $$kwp;
      $initialkwp = $$kwp;
      $wasaachange = '';
# setup the wait and relay workspace
# coderackwarws

      $buffer = '<waitarelay><schema><integration>';
      $dsponsor = $Awfif::wsbl->{wsoh}[2];# convbws requires a sponsor
      &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $dsponsor);
# setup the receptor signal buffer workspace
# coderacksigws

      $buffer = '<signal><schema><integration>' . '<signal><integrate><sequence><integration>' . '<signal><compare><streams><sequence><integration>' . '<signal><match><name><sequence><integration>';
      $dsponsor = $Awfif::wsbl->{wsoh}[2];# convbws requires a sponsor
      &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $dsponsor);
# setup the goal suppressor structural workspace
# coderackugssw

      $buffer = '<schema><partconstrained><model><selector><schema>';
      $dsponsor = $Awfif::wsbl->{wsoh}[2];# convbws requires a sponsor
      &inewstws ($Awfif::memes-> {codeleth}, \$buffer, \$$kwp, $kwpr, $dsponsor);
      &actnodes ($Awfif::memes-> {snnh} {terminate}, - $Awfif::memes->{actmax});# if a previous command/test schemata activated termination then reset it
      };#if not restoring
#<!-- end tag scc -->

    do {

      $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {endtime}] = time ();
      $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {starttime}];

      &ittimetr (\@{$Awfif::memes-> {time}}, $Awfif::memes-> {codelettime}, $Awfif::memes-> {coderacktime}, $Awfif::memes-> {spctime}, $Awfif::memes-> {satime}, $Awfif::memes-> {sttime}, $Awfif::memes-> {sltime}, $Awfif::memes-> {hatime}, $Awfif::memes-> {tetime}, $Awfif::memes-> {seltime}, $Awfif::memes-> {fotime}, $Awfif::memes-> {ldtime}, $Awfif::memes-> {frtime}, $Awfif::memes-> {sumtime},\%ics);
      $wait = 0;
      if ($Awfif::memes-> {allowspigrabamp} > 0) {

        $Awfif::memes-> {allowspigrabamp}--;#this ensures that spigrabamp will enter. If it fails to make progress it will inhibit further amplification until gets back to here again
        };#if
      $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {starttime}] = time ();
      &itcpdist ($Awfif::memes->{codeleth}, $Awfif::starttime-> {hour}, $Awfif::starttime-> {min}, $Awfif::starttime-> {sec});
# setup each of the active workspaces
      $cwsbi = $Awfif::memes-> {currentwsbi};
      $wslp = $Awfif::wsbl->{h};
      $lkwpr = $Awfif::memes-> {kwpr};
      $linitialkwp = $initialkwp;
      while (($wslp != 1) && ($wslp != $Awfif::wsbl->{t})) {#setup salience for this workspace
        $Awfif::memes-> {currentwsbi} = $wslp;
# coderackactws

        if ($Awfif::wsbl-> {wsactive} [$wslp]) {

          if ($Awfif::memes-> {iphase} < $Awfif::memes-> {iphasecomp}) {

            if (($Awfif::memes-> {iphase} == ($Awfif::memes-> {iphasecomp}-1)) && ($wslp != 2)){

              for my $act (@$sactset) {
                &setinhib ($Awfif::memes->{snnh}{$act},0);
                };#for

# all lines of the ws cache should be invalid across all ws
              &wstcinv (\@$sactset);
              };#if
            $Awfif::memes-> {iphase}++;#mark the initial phase of coderack activity
            };#if

          if ($Awfif::wsbl-> {wsas}[$wslp]) {#supports sentinals etc
            $initialkwp = $Awfif::wsbl-> {wsoh}[$wslp];
            $Awfif::memes-> {kwpr} = $Awfif::wsbl-> {wsft}[$wslp];

            $ikwpr = $Awfif::wsbl-> {wsft}[$wslp];
            }
          else {
            $initialkwp = $linitialkwp;
            $Awfif::memes-> {kwpr} = $lkwpr;
            };

# define the focus of the coderack
          $ikwp = $Awfif::wsbl-> {winkwp}[$wslp];
          $ikwpr = $Awfif::wsbl-> {winkwpr}[$wslp];
          &crfocus ($initialkwp, \$$kwp, $kwpr, \$ikwp, \$ikwpr);
          $Awfif::wsbl-> {winkwp}[$wslp] = $ikwp;
          $Awfif::wsbl-> {winkwpr}[$wslp] = $ikwpr;
# calculate the instantaneous salience of the workspace

          if (($Awfif::memes-> {activationchange} [$Awfif::memes-> {currentwsbi}] != 0) or (!$wasaachange)) {
#

            $Awfif::memes-> {time} [$Awfif::memes-> {sttime}] [$Awfif::memes-> {starttime}] = time ();
            &itstrengths ($ikwp, $ikwpr, \@$sactset);
            $Awfif::memes-> {time} [$Awfif::memes-> {sttime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {sttime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {sttime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {sttime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {sttime}] [$Awfif::memes-> {starttime}];
#
            $Awfif::memes-> {time} [$Awfif::memes-> {sltime}] [$Awfif::memes-> {starttime}] = time ();
            &itsalience ($ikwp, $ikwpr, \@$sactset);
            $Awfif::memes-> {time} [$Awfif::memes-> {sltime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {sltime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {sltime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {sltime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {sltime}] [$Awfif::memes-> {starttime}];
#
# happiness will use salience calculation to decide how loud to shout
#
            $Awfif::memes-> {time} [$Awfif::memes-> {hatime}] [$Awfif::memes-> {starttime}] = time ();
            &ithappiness ($ikwp, $ikwpr, \@$sactset);
            $Awfif::memes-> {time} [$Awfif::memes-> {hatime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {hatime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {hatime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {hatime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {hatime}] [$Awfif::memes-> {starttime}];
#
# adjust the temperature to reflect changes in the environment
#
            $Awfif::memes-> {time} [$Awfif::memes-> {tetime}] [$Awfif::memes-> {starttime}] = time ();
            &ittemperature ($ikwp, $ikwpr, \@$sactset);
            $Awfif::memes-> {time} [$Awfif::memes-> {tetime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {tetime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {tetime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {tetime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {tetime}] [$Awfif::memes-> {starttime}];
#
# spread activation, initiate top down processes and action decay
            $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {starttime}] = time ();
            &supactivatn ($ikwp, $ikwpr, \@$sactset);
            $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {starttime}];
            };#activation changed in this workspace
          };#active rather than structural workspace
        $wslp = $Awfif::wsbl->{l}[$wslp] [0];
        };#while each active workspace

      $Awfif::memes-> {currentwsbi} = $cwsbi;
      if ($Awfif::wsbl-> {wsas}[$Awfif::memes-> {currentwsbi}]) {#supports sentinals etc

        $initialkwp = $Awfif::wsbl-> {wsoh}[$Awfif::memes-> {currentwsbi}];
        $Awfif::memes-> {kwpr} = $Awfif::wsbl-> {wsft}[$Awfif::memes-> {currentwsbi}];
        $ikwpr = $Awfif::wsbl-> {wsft}[$Awfif::memes-> {currentwsbi}];
        }
      else {

        $initialkwp = $linitialkwp;
        $Awfif::memes-> {kwpr} = $lkwpr;
        };
      do {
        my ($cwsbi, $freeup, $bcindex);
        $wait++;
# warm place up if no top down cooling
        if (($Awfif::memes->{temp} [$Awfif::memes-> {currentwsbi}] < $Awfif::memes-> {bondthreshold}) && (($wait == 1) or (((int($wait/100)) *100) == $wait ))) {

          $Awfif::memes->{temp} [$Awfif::memes-> {currentwsbi}]++;
          };
        if ($Awfif::memes-> {drwait} >= $Awfif::memes-> {crwait}) {

          $Awfif::memes-> {drwait} = 0;
          }#if
        else {

          $Awfif::memes-> {drwait}++;
          };#else
#
# ********* allow some codelet to execute ***********
#
        $Awfif::memes-> {time} [$Awfif::memes-> {seltime}] [$Awfif::memes-> {starttime}] = time ();

        $codelet = selcodelet (\$moreurgent);
        $Awfif::memes-> {time} [$Awfif::memes-> {seltime}] [$Awfif::memes-> {endtime}] = time ();
        $Awfif::memes-> {time} [$Awfif::memes-> {seltime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {seltime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {seltime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {seltime}] [$Awfif::memes-> {starttime}];
#
        $s = $Awfif::codelet-> {l} [$codelet] [2];
        if ($codelet != 0) {# execute the strategy routine

          if ($Awfif::codelet-> {l} [$codelet] [2] eq 0) {

            print ("empty strategy $s\n");
            };
# atppenalty5
          if ($Awfif::memes-> {fatp} > 0) {# codelets use up energy

            $Awfif::memes-> {fatp}--;
            };
          if ($Awfif::memes-> {fgtp} > 0) {# codelets use up energy

            $Awfif::memes-> {fgtp}--;
            };
          $cwsbi = $Awfif::memes-> {currentwsbi};
          if ($Awfif::codelet-> {l} [$codelet] [19]) {# knows which ws it operates on

            $Awfif::memes-> {currentwsbi} = $Awfif::codelet-> {l} [$codelet] [19];
            };# setup ws for codelet

          if ($Awfif::memes-> {currentwsbi} == 0) {&break ();};
          if ($Awfif::wsbl-> {wsas}[$Awfif::memes-> {currentwsbi}]) {#supports sentinals etc

            $initialkwp = $Awfif::wsbl-> {wsoh}[$Awfif::memes-> {currentwsbi}];
            $Awfif::memes-> {kwpr} = $Awfif::wsbl-> {wsft}[$Awfif::memes-> {currentwsbi}];
            $ikwpr = $Awfif::wsbl-> {wsft}[$Awfif::memes-> {currentwsbi}];
            }
          else {

            $initialkwp = $linitialkwp;
            $Awfif::memes-> {kwpr} = $lkwpr;
            };
#
          $ikwp = $Awfif::wsbl-> {winkwp}[$Awfif::memes-> {currentwsbi}];
          $ikwpr = $Awfif::wsbl-> {winkwpr}[$Awfif::memes-> {currentwsbi}];
          if ($wait != 1) {

            $Awfif::memes-> {time} [$Awfif::memes-> {fotime}] [$Awfif::memes-> {starttime}] = time ();
            &crfocus ($initialkwp, \$$kwp, $kwpr, \$ikwp, \$ikwpr);
            $Awfif::wsbl-> {winkwp}[$Awfif::memes-> {currentwsbi}] = $ikwp;
            $Awfif::wsbl-> {winkwpr}[$Awfif::memes-> {currentwsbi}] = $ikwpr;
            $Awfif::memes-> {time} [$Awfif::memes-> {fotime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {fotime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {fotime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {fotime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {fotime}] [$Awfif::memes-> {starttime}];
# spread activation, initiate top down processes and action decay
#
            $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {starttime}] = time ();
            &supactivatn ($ikwp, $ikwpr, \@$sactset);
            $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {satime}] [$Awfif::memes-> {starttime}];
#
            $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {endtime}] = time ();

            $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {starttime}];
            };#if
          $Awfif::memes-> {time} [$Awfif::memes-> {codelettime}] [$Awfif::memes-> {starttime}] = time ();
          $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {starttime}] = time ();
          if (($Awfif::memes-> {currentwsbi} == 1)
          or (!$Awfif::wsbl-> {wsactive} [$Awfif::memes-> {currentwsbi}])
          ){
            &break();
            };#if corrupted wsbi
#
# ********* run the codelet ********
#
          no strict 'refs';

# break if codelet matches breakcodelet
          if (($bcindex = matchbreakcodelet ($codelet)) > 0) {

            break ();
            };#if
          if (!defined ($Awfif::memes-> {binds}-> {$Awfif::codelet-> {l} [$codelet] [2]})) {

            break ();
            }#if
          else {
# coderfreepu1

            $Awfif::memes-> {cruna}[ ++$Awfif::memes-> {cruna}[0] ] = $codelet;#protect the running codelet from freecodelet
            $Awfif::memes-> {binds}-> {$Awfif::codelet-> {l} [$codelet] [2]}-> ($codelet, \$ikwp, $ikwpr, \@$sactset);
            $Awfif::memes-> {cruna}[ $Awfif::memes-> {cruna}[0]-- ] = undef();

            if ($Awfif::memes-> {currentwsbi} == 0) {&break ();};
            };
          $Awfif::memes-> {breakmyli} = 0;
          $Awfif::memes-> {bmbcindex} = 0;
# applycsharecru1
# update sharing info with applycodelet
          if (($Awfif::memes-> {applycount}) <= 1) {
            $Awfif::memes-> {applycount} = $Awfif::memes-> {applycth} + $Awfif::memes-> {applyramp};
            };#if
#
#
          $Awfif::memes-> {time} [$Awfif::memes-> {codelettime}] [$Awfif::memes-> {endtime}] = time ();
          $Awfif::memes-> {time} [$Awfif::memes-> {codelettime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {codelettime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {codelettime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {codelettime}] [$Awfif::memes-> {starttime}];
          $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {endtime}] = time ();
          if ($Awfif::codelet-> {l} [$codelet] [27] ne '') {

            $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [27]}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [27]}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {starttime}];
            }#if
          else {

            $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {spctime}] [$ics{$Awfif::codelet-> {l} [$codelet] [2]}] [$Awfif::memes-> {starttime}];
            };#else

          $Awfif::memes-> {time} [$Awfif::memes-> {coderacktime}] [$Awfif::memes-> {starttime}] = time ();
# process learning signals

          $Awfif::memes-> {currentwsbi} = $cwsbi;
#
          $Awfif::memes-> {time} [$Awfif::memes-> {ldtime}] [$Awfif::memes-> {starttime}] = time ();
# crldlearn
          $Awfif::memes-> {ldsignal} = ldlearning ();
          $Awfif::memes-> {time} [$Awfif::memes-> {ldtime}] [$Awfif::memes-> {endtime}] = time ();
          $Awfif::memes-> {time} [$Awfif::memes-> {ldtime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {ldtime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {ldtime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {ldtime}] [$Awfif::memes-> {starttime}];
          if ($Awfif::memes-> {ldsignal} < 0) {
# reduce the activation of recently participating concepts

            }
          elsif ($Awfif::memes-> {ldsignal} > 0) {
# increase the activation of recently participating concepts

            };
# remove the codelet
#
          $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {starttime}] = time ();
          &freecodelet ($codelet, 1);
          $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {endtime}] = time ();
          $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {starttime}];
# crcpstate
          if ($Awfif::memes-> {storetheds}) {

            $Awfif::memes-> {storetheds} = '';
            &storetofiles ($codelet, $dirprefix);
            };#if
          }# run the codelet
# crmapenergy
# respond to the instantaneous temperature
        if (($moreurgent != 0)
        && (!defined ($notetemp[$Awfif::memes-> {currentwsbi}]))
        ){

          $notetemp [$Awfif::memes-> {currentwsbi}] = $Awfif::memes-> {temp} [$Awfif::memes-> {currentwsbi}];
          $Awfif::memes-> {temp} [$Awfif::memes-> {currentwsbi}] = $Awfif::memes-> {manthreshold} - 1;#reduce codelet submissions
          }#if
        elsif (($moreurgent != 0)
        && (defined ($notetemp[$Awfif::memes-> {currentwsbi}]))
        ){

          $Awfif::memes-> {temp} [$Awfif::memes-> {currentwsbi}] = $Awfif::memes-> {manthreshold} - 1;#reduce codelet submissions
          }#elsif
        elsif (($moreurgent == 0)
        && (defined ($notetemp [$Awfif::memes-> {currentwsbi}]))
        ){

          $Awfif::memes-> {temp} [$Awfif::memes-> {currentwsbi}] = $notetemp [$Awfif::memes-> {currentwsbi}];
          $notetemp [$Awfif::memes-> {currentwsbi}] = ();
          };#elsif
# crbucodelets
        &crsubmitcodelets ($wait);
        if ($moreurgent == 0){
# crlcodelets

          $freeup = toomanycodelets ();#
          $oktodelete = 1;
          while (($freeup > 0) && ($oktodelete != 0)) {
# filter out the oldest active codelets
#

            my ($tail);
            $tail = $Awfif::memes-> {codelett};
            $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {starttime}] = time ();
            $oktodelete = freecodelet ($tail);
            $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {endtime}] = time ();
            $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {sumtime}] = $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {sumtime}] + $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {endtime}] - $Awfif::memes-> {time} [$Awfif::memes-> {frtime}] [$Awfif::memes-> {starttime}];
            if ($oktodelete > 0){# 0 => stop & -1 => redo last attempt

              $freeup--;
              };#if
            };#while
          };#if not bumped by more urgent codelets
        }#do while
      while (($codelet != 0) && ($wait < $Awfif::memes-> {crwait}) && (!($wasaachange = actchange ())) && (!$Awfif::memes-> {storestop}));

      }
    while ((($codelet != 0)
    or ($Awfif::memes-> {temp} [$Awfif::memes-> {currentwsbi}] > -5))
    && ($Awfif::memes->{snw} [$Awfif::memes-> {currentwsbi}]-> {snna}{terminate} < $Awfif::memes-> {actth})
    && (!$Awfif::memes-> {storestop})
    );
#<!-- start tag scc -->

    return $Awfif::memes-> {temp} [$Awfif::memes-> {currentwsbi}];
    }} # of coderack
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