Associative labels
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

Associative label space

Summary
This page describes the
This page describes the Adaptive Web framework (AWF) test system and the agent programming framework (Smiley) that supports its operation. 
Example test system statements are included.  To begin a test a test statement is loaded into Smiley while Smiley executes on the Perl interpreter. 
Part of Smiley's Perl code focused on setting up the infrastructure is included bellow. 
The setup includes:
  • Loading the 'Meta file' specification,
  • Initializing the Slipnet, and Workspaces and loading them
  • So that the Coderack can be called. 
The Coderack, which is the focus of a separate page of the Perl frame then schedules and runs the codelets that are invoked by the test statement structures. 
Smiley
infrastructure that supports the associative binding of
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. 
schematic strings
to codelets defined in the Meta file is loaded by the adaptive web framework's (AWF) Smiley.  It defines the application system's basic rules, its keywords and their properties and the form of the assertion or implementation statement the application uses.   and
This page describes the Copycat Slipnet. 
The goal of the Slipnet is reviewed. 
Smiley's specialized use of the Slipnet is introduced. 
The initial Slipnet network used by the 'Merge Streams' and 'Virtual Robot' agent-based applications is setup in initchemistry and is included. 
The Slipnet infrastructure and initialization functions are included. 
Slipnet

The infrastructure supporting the associations is introduced
The role of Jeff Hawkins neocortical attributes is discussed
Relevant
This page describes the Copycat Slipnet. 
The goal of the Slipnet is reviewed. 
Smiley's specialized use of the Slipnet is introduced. 
The initial Slipnet network used by the 'Merge Streams' and 'Virtual Robot' agent-based applications is setup in initchemistry and is included. 
The Slipnet infrastructure and initialization functions are included. 
Slipnet
configurations are included
The codelets and supporting functions are included
Introduction
In Smiley, an
This page describes the Adaptive Web framework (AWF) test system and the agent programming framework (Smiley) that supports its operation. 
Example test system statements are included.  To begin a test a test statement is loaded into Smiley while Smiley executes on the Perl interpreter. 
Part of Smiley's Perl code focused on setting up the infrastructure is included bellow. 
The setup includes:
  • Loading the 'Meta file' specification,
  • Initializing the Slipnet, and Workspaces and loading them
  • So that the Coderack can be called. 
The Coderack, which is the focus of a separate page of the Perl frame then schedules and runs the codelets that are invoked by the test statement structures. 
agent programming framework
,
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. 
associations
are defined by two sets of relations:
  1. The association data structure $Awfif::jhls represents all associations that are currently present.  They are based on concepts represented in the
    This page describes the Copycat Slipnet. 
    The goal of the Slipnet is reviewed. 
    Smiley's specialized use of the Slipnet is introduced. 
    The initial Slipnet network used by the 'Merge Streams' and 'Virtual Robot' agent-based applications is setup in initchemistry and is included. 
    The Slipnet infrastructure and initialization functions are included. 
    Slipnet
    Some examples for the concept 'model' are included below
  2. The individual concepts within a schematic string are also linked back to each containing association $Awfif::jhls-> {l} struct by the 'jhlabel' data structures and infrastructure, which associate each concept with all the active associations (represented by the associations $gsinds - typically a pseudo concept) that the concept is contained in.  Once associations have been integrated with the Slipnet and label space they will be detected when a
    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
    structure is created which includes sub-sequences with the associations. 
Smiley Infrastructure supports the associations
The associations are supported by infrastructure (functions) which provides physical
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
with
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
localized targets. 
Jeff Hawkins neocortical attributes
The associative 'jhlabel's reflect the first three neocortical is the main part of the cerebral cortex in mammals.  It was originally thought to exist only in mammals but is also present in reptiles and birds buried behind other areas of the for-brain.  The for-brain develops based on a genetic plan consistent across all vertebrates.  The neocortex processes vision in the visual hierarchy V1, V2, V3 .. V5 ... V20; and language with areas including Wernicke's and Broca's with sensors in the inner ear.  Primate species with bigger social groups have larger cortices.  Human cortex size suggests traditional human cultures had an average size of 150 people. 
attributes outlined by Jeff Hawkins in On Intelligence.  He asserts:
  1. The neocortex is the main part of the cerebral cortex in mammals.  It was originally thought to exist only in mammals but is also present in reptiles and birds buried behind other areas of the for-brain.  The for-brain develops based on a genetic plan consistent across all vertebrates.  The neocortex processes vision in the visual hierarchy V1, V2, V3 .. V5 ... V20; and language with areas including Wernicke's and Broca's with sensors in the inner ear.  Primate species with bigger social groups have larger cortices.  Human cortex size suggests traditional human cultures had an average size of 150 people. 
    stores sequences of patterns. 
  2. The neocortex recalls patterns auto-associatively. 
  3. The neocortex stores patterns in an invariant form. 
  4. The neocortex stores patterns in a hierarchy. 

The associations are used extensively within
This page describes the Adaptive Web framework (AWF) test system and the agent programming framework (Smiley) that supports its operation. 
Example test system statements are included.  To begin a test a test statement is loaded into Smiley while Smiley executes on the Perl interpreter. 
Part of Smiley's Perl code focused on setting up the infrastructure is included bellow. 
The setup includes:
  • Loading the 'Meta file' specification,
  • Initializing the Slipnet, and Workspaces and loading them
  • So that the Coderack can be called. 
The Coderack, which is the focus of a separate page of the Perl frame then schedules and runs the codelets that are invoked by the test statement structures. 
Smiley
to create a coherent active system: 
 


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. 



<comment> (<rhlmspg> <memgroup> <model> <schema> <casecategory> <selector> <groupcomplete> <model> <casecategory> <selector> <salience> <threshold> <model> <casecategory> <selector> <jhlabel> <groupcomplete> </memgroup> </rhlmspg> )<comment>

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

    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnd}
      [$Awfif::memes-> {snnh} {model}] = 8;
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc}
      [$Awfif::memes-> {snnh} {model}][0] = 13;#13
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc}
      [$Awfif::memes-> {snnh} {model}][1] = 12;#5
#<!-- start tag swp -->

# nlmbindtomsiggc
# setup the binding string for the multi path signal to initiate model - model 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} {model}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {model}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {model}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {partscategory}, $Awfif::memes-> {snnh} {subject}, $Awfif::memes-> {snnh} {groupcomplete});
    $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::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {model}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {model},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {model}]);

# nlmbindtomsiggcv
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {model}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {model}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {model}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {partscategory}, $Awfif::memes-> {snnh} {verb}, $Awfif::memes-> {snnh} {groupcomplete});
    $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::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {model}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {model},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {model}]);

# nlmbindtomsiggco
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {model}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {model}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {model}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {partscategory}, $Awfif::memes-> {snnh} {object}, $Awfif::memes-> {snnh} {groupcomplete});
    $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::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {model}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {model},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {model}]);

# mdevbindtomsiggc
    $Awfif::memes-> {maxoper}++; $jhlsid = 0;
    $pconc = Awfif::pconc ($Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {model}] [0], $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnc} [$Awfif::memes-> {snnh} {model}] [1], 8, $Awfif::memes-> {currentwsbi});
    $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$pconc] = Awfif::newnlink ($Awfif::memes-> {snnh} {attrib}, Awfif::addjhlst ($Awfif::memes-> {snnh} {mpsignal}, $pconc, 1, $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc], $pconc), $pconc,# ****
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$pconc]);
    &Awfif::addjhlattribs ($pconc, $Awfif::memes-> {snnh} {model}, $Awfif::memes-> {snnh} {schema}, $Awfif::memes-> {snnh} {partscategory}, $Awfif::memes-> {snnh} {development}, $Awfif::memes-> {snnh} {groupcomplete});
    $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::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}
      [$Awfif::memes-> {snnh} {model}] = Awfif::newnlink ( $Awfif::memes-> {snnh} {cinstance},$pconc,$Awfif::memes-> {snnh} {model},
                  $Awfif::memes-> {snw} [$Awfif::memes-> {currentwsbi}]-> {snnl}[$Awfif::memes-> {snnh} {model}]);

Functions

#
sub ifindb {# see if there is a bound workspace with the schematic string
    my($myli, $sti, $strategy, $sigcount, $lomatchs, $lola, $loconcs, $lostrts, $loends, $logb, $loge, $kwp, $kwpr, $sactset, $stws, $issubp, $subp, $dontcallbreak, $dontusebice)=@_;
    my ($i, $bcount, $linki, $cwsbi, $static, $labcount, $hchain, $srws, $erws);
    my (@lab );

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      my ($pr);
      $pr = $Awfif::memes-> {currentwsbi};
      print ("ifindb myli $myli currentwsbi $pr ");
      };
# updated for merged workspaces

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

    $static = '';
    $labcount = $Awfif::memes-> {binds}-> {$strategy}->
        ($myli, $sti, \@lab, $kwp, $kwpr, \@$sactset, \$static);
# ifindbcrelu1

    $srws = 0; #must be defined for relifindb
    $erws = 0; #must be defined for relifindb
    &relifindb ($myli, \$Awfif::ifbhcl, \$srws, \$erws);

    if (((!defined ($dontusebice)) or (!$dontusebice))
    && (($linki = getifb ($myli, $strategy, $labcount, \@lab, \$hchain, $subp, $stws, $srws, $erws)) != 0)
    && ($hchain != 0)
    ) {#usebice cache setup

      $$sigcount = usebice ($Awfif::ifbhcl-> {l} [$linki][4], \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge);
      $bcount = $Awfif::bicl-> {l} [$Awfif::ifbhcl-> {l} [$linki][4]][3];
      }#if
    else {

      if ((defined ($stws)) && (defined ($srws)) && (defined ($erws)) ){#use structural ws sequence for search

        $$sigcount = labinv2 ($myli, \@lab, $labcount, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge, 'wsseqstbinding', undef (), $srws, $erws);
        }#if
      elsif ((!defined ($stws)) && (defined ($srws)) && (defined ($erws)) ){#use specific stws only for search

        $$sigcount = labinv2 ($myli, \@lab, $labcount, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge, 'wsseqoporstbinding', undef (), $srws, $erws);
        }#elsif
      elsif ((defined ($stws)) && (defined ($issubp)) ){#use specific stws only for search

        $$sigcount = labinv2 ($myli, \@lab, $labcount, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge, 'specsubpstonly', $stws);
        }#elsif
      elsif ((defined ($stws)) ){#use specific stws only for search

        $$sigcount = labinv2 ($myli, \@lab, $labcount, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge, 'specstonly', $stws);
        }#elsif
      else {

        $$sigcount = labinv2 ($myli, \@lab, $labcount, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge, 'onlyoporstbinding');
        };#else
      if ($$sigcount > 0) {

        for ($i = 0; $i < $$sigcount; $i++) {
          if ($$lomatchs[$i]) {

            if ( (defined ($issubp))
            && ($Awfif::jhls-> {l} [$$lola[$i]][4] == $issubp)
            ){
              $bcount++;
              }#if
            elsif (($Awfif::jhls-> {l} [$$lola[$i]][4] == $Awfif::memes-> {snnh}{subpstbinding}) && ( ($$lola[$i] == $Awfif::subpl-> {l} [$Awfif::codelet-> {l} [$myli] [36]] [4]) or ($$lola[$i] == $Awfif::subpl-> {l} [$Awfif::codelet-> {l} [$myli] [36]] [8]) or ($$lola[$i] == $Awfif::subpl-> {l} [$Awfif::codelet-> {l} [$myli] [36]] [5])) ) {

              $bcount++;
              }#elsif
            elsif ($Awfif::jhls-> {l} [$$lola[$i]][4] == $Awfif::memes-> {snnh}{stbinding}) {

              $bcount++;
              }#elsif
            else {
              $$lomatchs [$i] = '';
              };#else ignore this one
            };#if
          };#for
        };#if
      if ( ($bcount > 0)
      && ((!defined ($dontusebice)) or (!$dontusebice)) ) {
# ifindbcrelu2

        &addifb ($myli, $strategy, $labcount, \@lab, addbice ($Awfif::memes-> {currentwsbi}, $bcount, 5, $$sigcount, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge), $subp, $stws, $srws, $erws);
        };#stable answer can be cached
      };#else
    if (($bcount == 0)
    && !($dontcallbreak)
    ){

      &break ();
      };#if

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("ifindbx ret ($bcount)\n");
      };
    $Awfif::memes-> {currentwsbi} = $cwsbi;
    return $bcount
    }# ifindb
#
#<!-- end tag dli -->
#<!-- end tag aso -->
#
sub getfbws {# get the index of the first bound workspace
    my($myli, $sigcount, $lomatchs, $lola, $ws, $jhlsi, $stws, $subp)=@_;
    my ($i, $bwso, $found, $cwsbi);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("getfbws myli $myli ");
      };
# updated for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $found = '';
    for ($i = 0; (($i < $sigcount) && (!$found)) ; $i++) {
      if ($$lomatchs[$i]) {
        if ( ($Awfif::jhls-> {l} [$$lola[$i]][4] == $Awfif::memes-> {snnh}{stbinding})
        or ( subpst ($myli, $$lola[$i], $stws, $subp) )
        ){
          $$ws = $Awfif::jhls-> {l} [$$lola[$i]] [7];
          $bwso = $Awfif::jhls-> {l} [$$lola[$i]] [8];
          $found = 't';
          if (defined ($$jhlsi)) {
            $$jhlsi = $$lola[$i];
            };#if
          };#if
        };#if
      };#for

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("getfbwsx ws $$ws ret ($bwso)\n");
      };
    $Awfif::memes-> {currentwsbi} = $cwsbi;
    return $bwso
    }# getfbws
#
sub subpst {# check if this jhls index is for a subprogram and matches the specific subprogram index
    my($myli, $i, $ws, $subpi)=@_;
    my ($found, $cwsbi, $subpii);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("subpst myli $myli ");
      };
# updated for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $found = '';
    if ((defined ($ws)) && (defined ($subpi))
    && ( ($Awfif::subpl-> {l} [$subpi] [2] == $ws)
    or ($Awfif::subpl-> {l} [$subpi] [6] == $ws)
    or ($Awfif::subpl-> {l} [$subpi] [7] == $ws) )
    ){

      if ( ($Awfif::jhls-> {l} [$i][4] == $Awfif::memes-> {snnh}{subpstbinding})
      && (($Awfif::jhls-> {l} [$i][7] == $Awfif::subpl-> {l} [$subpi] [2])
        or ($Awfif::jhls-> {l} [$i][7] == $Awfif::subpl-> {l} [$subpi] [6])
        or ($Awfif::jhls-> {l} [$i][7] == $Awfif::subpl-> {l} [$subpi] [7]) )
      ){

        $found = 't';
        };#if
      }#if
    elsif ((!defined ($ws))
    ){

      if (!defined ($subpi) ) {

        $subpii = $Awfif::codelet-> {l} [$myli] [36];
        }
      else {

        $subpii = $subpi;
        };
      if ( ($Awfif::jhls-> {l} [$i][4] == $Awfif::memes-> {snnh}{subpstbinding})
      && ( ((defined ($Awfif::subpl-> {l} [$subpii] [2]))
        && ($Awfif::subpl-> {l} [$subpii] [2] == $Awfif::jhls-> {l} [$i][7]))
        or ((defined ($Awfif::subpl-> {l} [$subpii] [6]))
        && ($Awfif::subpl-> {l} [$subpii] [6] == $Awfif::jhls-> {l} [$i][7]))
        or ((defined ($Awfif::subpl-> {l} [$subpii] [7]))
        && ($Awfif::subpl-> {l} [$subpii] [7] == $Awfif::jhls-> {l} [$i][7])) )
      ){

        $found = 't';
        };#if
      }#elsif
    elsif ((defined ($ws))
    ){

      $subpii = $Awfif::codelet-> {l} [$myli] [36];
      if ( ($Awfif::jhls-> {l} [$i][4] == $Awfif::memes-> {snnh}{subpstbinding})
      && ( ((defined ($Awfif::subpl-> {l} [$subpii] [2]))
        && ($Awfif::subpl-> {l} [$subpii] [2] == $Awfif::jhls-> {l} [$i][7]))
        or ((defined ($Awfif::subpl-> {l} [$subpii] [6]))
        && ($Awfif::subpl-> {l} [$subpii] [6] == $Awfif::jhls-> {l} [$i][7]))
        or ((defined ($Awfif::subpl-> {l} [$subpii] [7]))
        && ($Awfif::subpl-> {l} [$subpii] [7] == $Awfif::jhls-> {l} [$i][7])) )
      && ( ($Awfif::subpl-> {l} [$subpii] [2] == $ws)
      or ($Awfif::subpl-> {l} [$subpii] [7] == $ws)
      or ($Awfif::subpl-> {l} [$subpii] [6] == $ws) )
      ){

        $found = 't';
        };#if
      };#else

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("subpstx ret ($found)\n");
      };
    $Awfif::memes-> {currentwsbi} = $cwsbi;
    return $found
    }# subpst
#
#<!-- start tag aso -->
#
sub getstsbws {# get the index of the first bound workspace
    my($myli, $sigcount, $lomatchs, $lola, $ws, $stws, $subp)=@_;
    my ($i, $bwso, $found, $cwsbi);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("getstsbws myli $myli ");
      };
# updated for merged workspaces

    $cwsbi = $Awfif::memes-> {currentwsbi};
    $found = '';
    for ($i = 0; (($i < $sigcount) && (!$found)) ; $i++) {
      if ($$lomatchs[$i]) {
        if (( ($Awfif::jhls-> {l} [$$lola[$i]][4] == $Awfif::memes-> {snnh}{stbinding})
        && ($Awfif::jhls-> {l} [$$lola[$i]][7] == $ws) )
        or ( subpst ($myli, $$lola[$i], $stws, $subp) )
        ){
          $bwso = $Awfif::jhls-> {l} [$$lola[$i]] [8];
          $found = 't';
          };#if
        };#if
      };#for

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("getstsbwsx ret ($bwso)\n");
      };
    $Awfif::memes-> {currentwsbi} = $cwsbi;
    return $bwso
    }# getstsbws
#
#<!-- start tag sss -->
#<!-- start tag ws -->
#
sub labinv1 {
    my ($myli, $as, $ae, $ael, $sponsor, $lomatchs, $lola, $loconcs, $lostrts, $loends, $logb, $loge, $filstrategy) = @_;
    my ($i, $i2, $label, $type, $ltype, $sigcount, $aer);
# inversion of group builder complete's label space code
#
# checked for merged workspaces

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("labinv1 myli $myli as $as ae $ae ");
      if ($myli > 0) {
        &itcpoutput ($myli);
        };
      };

    $label = '';
    $ltype = '';
    $i2 = 0;
    $aer = '';
# labinv1nsu1

    $i = trwsoadr ($as, 1);
    while ((($ael && !$aer) or (!$ael && ($i != $ae))) && ( awsoadr ($i) != 0)) {
      my($kwai, $akwai, $kws, $kwl, $slab);
      if ($ael && ($i == $ae)) {

        $aer = 't';
        };#if
# sponsor is now stable can mark its position in group members wso

      if ($sponsor ne '') {# if use defined here no work gets done???

        if ((defined ($Awfif::wsol-> {l} [awsoadr ($i)] [ $Awfif::memes-> {wsogstart} ]))
        && ($Awfif::wsol-> {l} [awsoadr ($i)] [ $Awfif::memes-> {wsogstart} ] != 0)
        && ($Awfif::wsol-> {l} [awsoadr ($i)] [ $Awfif::memes-> {wsogstart} ] != $sponsor)
        ){

          &break ();
          };#if
        my ($ngcsponsor);
        $ngcsponsor =
          $Awfif::wsol-> {l}[awsoadr ($i)][ $Awfif::memes-> {wsogcsponsor}]; #*** submacrok ***#

        if (($ngcsponsor != 0) && ($ngcsponsor != $sponsor)) {&break ()};
        $Awfif::wsol-> {l}[awsoadr ($i)][ $Awfif::memes-> {wsogcsponsor}] = $sponsor;#*** submacrok ***#
        $Awfif::wsol-> {l}[awsoadr ($i)][ $Awfif::memes-> {wsogcsponsored}] = $sponsor;#*** submacrok ***#
        };#update sponsor if specified

      $type = ' ' . wsbasetype ($i);
      $slab = getwsost4 ($i);
      if ((($type == $Awfif::memes-> {snnh} {mkeywords}) or ($type == $Awfif::memes-> {snnh} {mkeyworde})) && (mkwlabel (\$slab, \$kwai, \$akwai, \$kws, \$kwl)) && (!ismemetic ($akwai))) {
# labinv1m1
        my ($sparam, $param, $param2);
        $sparam = jhlmappl ($kws);

        if ($sparam =~ /,/) {
          while ($sparam =~ /(\d+)+(,)*/i) {

            $param = $1;
            $param2 = $2;
            $sparam =~ s/$param$param2//;
            $type = ' '.$param;
            $label = $label.$type;
            $$lostrts[$i2++] = $i;
            };#while
          };#if
        $ltype = '';#no repeats on mkeyword
        }
      else {
        if ($type eq ' '.wsbasetype ( trwsoadr ($i, 1))) {#note repeat

          $type = '_' . wsbasetype ($i);
          };#repeat
        if ($ltype ne $type) {# ignore repeats

          $label = $label.$type;
          $$lostrts[$i2++] = $i;
          };#build direct label
        $ltype = $type;
        };#else
      $i = trwsoadr ($i, 1);
      };#for
# apply the linking function of group completion
# if the groups labels result in a match with a signal then raise the signal
#

    $sigcount = msublabel1 ($myli, \$label, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge, $filstrategy);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("labinv1x ret $sigcount\n");
      };
    return $sigcount
    }# labinv1
#<!-- end tag ws -->
#
sub labinv2 {
    my ($myli, $lab, $labcount, $lomatchs, $lola, $loconcs, $lostrts, $loends, $logb, $loge, $filstrategy, $stws, $srws, $erws) = @_;
    my ($i, $i2, $label, $type, $ltype, $sigcount);
# stws parameter is optional in msublabel1. It is a specific filter used in some filter strategies
# inversion of group builder complete's label space code
#
# checked for merged workspaces

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

    $label = '';
    $ltype = '';
    $i2 = 0;

    for ($i = 1; $i <= $labcount; $i++) {
      my ($sparam, $param, $param2);
      $sparam = $$lab [$i];
# labinv2m1
      if ($sparam =~ /,/) {

        while ($sparam =~ /(\d+)+(,)*/i) {
          $param = $1;
          $param2 = $2;
          $sparam =~ s/$param$param2//;
          $type = ' '.$param;
          $label = $label.$type;
          $$lostrts[$i2++] = $i;
          };#while
        $ltype = '';#no repeats on mkeyword
        }#if
      else {
        $type = ' ' . $$lab [$i];
        if ($type eq ' '. $$lab [$i + 1]) {#note repeat

          $type = '_' . $$lab [$i];
          };#repeat
        if ($ltype ne $type) {# ignore repeats

          $label = $label.$type;
          $$lostrts[$i2++] = $i;
          };#build direct label
        $ltype = $type;
        };#else
      };#for
# apply the linking function of group completion
# if the groups labels result in a match with a signal then raise the signal
#

    $sigcount = msublabel1 ($myli, \$label, \@$lomatchs, \@$lola, \@$loconcs, \@$lostrts, \@$loends, \@$logb, \@$loge, $filstrategy, $stws, $srws, $erws);

    if ($Awfif::memes-> {trace} > $Awfif::memes-> {traceentry}) {
      print ("labinv2x ret $sigcount\n");
      };
    return $sigcount
    }# labinv2
#
#<!-- end tag sss -->
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