<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Active System Integrity Fences</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
							<email>topcycal@gmail.com</email>
							<affiliation key="aff0">
								<orgName type="institution">Topcy House Consulting</orgName>
								<address>
									<settlement>Thousand Oaks</settlement>
									<region>California</region>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Active System Integrity Fences</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">4CB874EFB3F7A8E116693B2E7A20A6E3</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:15+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Self-Aware Systems</term>
					<term>Self-Adaptive Systems</term>
					<term>Self-Modeling Systems</term>
					<term>Get Stuck Theorems</term>
					<term>Behavior Mining</term>
					<term>Dynamic Knowledge Management</term>
					<term>Wrapping Integration Infrastructure</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper describes the architecture of a Wrapping-Based Self-Modeling System that includes all of the models and processes we have mentioned in our previous papers on the subject of methods for mitigating the effects of the Get Stuck theorems. To make the description more concrete, we have selected a particular application domain example: "active system integrity fences", that protect and defend a complex computing system or network (called the host system) from all enemies, foreign and domestic.</p><p>An "active integrity fence" sits on an interface between two system components, with an explicit notion of the characteristics expected in the traffic (in both directions), derived from expectations provided at design time and observations collected at run time. We do not describe a particular host system, since our primary interest is in the protector system, and we expect that it applies to any host system for which we can specify the expected internal interactions.</p><p>We define the relevant models and processes, and how they interact with each other and with the host system. We also provide a short description of the Wrapping infrastructure that holds the system together and organizes and executes all of its behavior, both protective and mission.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction to the Problem</head><p>This paper is a further continuation of and companion to previous papers on Self-Modeling Systems <ref type="bibr" target="#b31">[31]</ref>  <ref type="bibr" target="#b26">[26]</ref>, concerning new and extended methods for mitigating the effects of the "Get Stuck" Theorems (see <ref type="bibr" target="#b31">[31]</ref> for a more recent explanation. and <ref type="bibr" target="#b26">[26]</ref> for a discussion of issues). These theorems basically say that the system needs to be able to rearrange its own knowledge structures for compactness and efficiency, if it expects to survive for long periods of time in a demanding environment <ref type="bibr" target="#b30">[30]</ref>  <ref type="bibr" target="#b31">[31]</ref>. The mechanism for doing that must include comparison of design-time expectation models with run-time observations of behavior. Self-Modeling Systems will do these comparisons themselves, as much as feasible. Though, strictly speaking, this is a way to decide on adaptations, not an adaptation itself; the adaptation processes we use fall out of the Wrapping infrastructure.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.1.">Example: Active System Integrity Fences</head><p>In this Subsection, we describe our application example: "active system integrity fences", which are modules charged with a single simple (if difficult) goal: explore system behavior and look for anomalies.</p><p>We use the term "fences" intentionally, to emphasize a distinction in purpose: guards keep things out, wardens keep things in, watchers and monitors do neither, and fences do both.</p><p>We consider complex engineered systems that are managed or controlled by software, but that have essential hardware components driven by the software. These systems may be distributed, and operate in environments that are too large, too remote, too hazardous, or too rapid for direct human operation. They therefore need a great deal of autonomy, and even local adaptivity.</p><p>These systems are not entirely software. Hardware in systems is usually accompanied by very specific operating conditions, provided by the manufacturer. Complex hardware often has a large and diverse set of commands that it interprets, and part of the role of the active fences here is to guarantee that the command streams do not drive the hardware outside its operating envelope without a certain level of authorized over-ride (there are frequently multiple levels of envelopes for any hardware component ranging from "not recommended" to "this will break it".</p><p>The purpose of an active system integrity fence is to protect and defend a complex computing system or network (called the host system) from all enemies, foreign and domestic.</p><p>An active integrity fence sits on an interface between two system components (or at the common entry interface of one component), with an explicit notion of the characteristics expected in the traffic (in both directions, both temporal behavior and semantics), derived from expectations provided at design time and observations collected at run time.</p><p>In the simplest case, it can throttle the data volume to an acceptable level (by silently ignoring or pointedly rejecting input), but it can also use constraints on the contents of data to make similar decisions (e.g., for routing, acceptance, and even explicit rejection or tacit dropping of data).</p><p>The criteria are a combination of "type" constraints on the content characteristics of the data and associated "allowed data volumes" (more complex examples have explicit state-machine protocol identifiers and constraints on their allowed transition volume).</p><p>The main purpose is to identify unexpected consequences and prevent them from damaging system performance: for example, even after a system password compromise, the notion that certain external entities can access the system is a failure that should be rejected.</p><p>What are the likely dangerous unexpected consequences?</p><p>• system leaks (provides data content it should not)</p><p>• system overloads</p><p>• system thrashes</p><p>• system forgets (loses data)</p><p>• system breaks (still runs, but wrong answers)</p><p>• system stops Available computational resources dictate whether the fence is continuous (checking whenever anything in the interface changes) or sporadic (occasional, periodic, or other event based activity rule).</p><p>Our focus here is on the computational mechanisms that enable this kind of protection.</p><p>We can also consider mobile fences, moving around in the system or network, either transferring from one machine to another, or just changing focus on different interfaces (which clearly needs a map of the interfaces to define the space of movement.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.2.">Structure of Rest of Paper</head><p>The structure of the rest of the paper is as follows. In Section2, we provide some background on Wrappings, to make the paper more self-contained.</p><p>In Section3, we provide some comments on why we consider self-modeling systems, and how they relate to the self-world. We also briefly introduce the "Get Stuck" theorems, which motivate this mitigation approach.</p><p>In Section 4, we provide a notional system architecture, based on Wrappings, that is sufficiently flexible to allow the "behind-the-scenes" knowledge management that is performed by our mitigation processes, and within which the mitigation models interact.</p><p>In Section 5, we provide a description of the models used in our application and in the mitigation processes, and describe the mitigation processes in more detail, Finally, in Section 6, we present our conclusions and prospects for further advances.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Background on Wrapping</head><p>We provide a short description of Wrappings in this Section, since there are many other more detailed descriptions elsewhere <ref type="bibr" target="#b27">[27]</ref> [25] <ref type="bibr" target="#b5">[6]</ref>, and especially the tutorials <ref type="bibr" target="#b33">[33]</ref>  <ref type="bibr" target="#b34">[34]</ref>. The Wrapping integration infrastructure is our approach to run-time flexibility, with its run-time contextaware decision processes and computational resources. The basic idea is that Wrappings are Knowledge-Based interfaces to the uses of computational resources in context, and they are interpreted by processes that are themselves resources.</p><p>The basic idea starts with the "Problem Posing" interpretation of programs <ref type="bibr" target="#b27">[27]</ref>, which replaces explicit invocation of computationsl resources with an implicit request to address a problem.</p><p>Thus, programs interpreted in this style do not "call functions", "issue commands", or "send messages"; they "pose problems" (these are information service requests). Program fragments are not written as "functions", "modules", or "methods" that do things; they are written as "resources" that can be "applied" to problems (these are information service providers).</p><p>Because we separate the problems from the applicable resources, we can use more flexible mechanisms for connecting them than simply using the same name.</p><p>We have shown that this approach leads to some interesting flexibilities, when combined with the "meta-reasoning" approach of Wrappings <ref type="bibr" target="#b4">[5]</ref>, including such properties as software reuse without source code modification, delaying language semantics to run-time, and system upgrades by incremental migration instead of version based replacement.</p><p>We specifically want to make the mapping from problems to resources explicit, because implicit mechanisms are hard to study, so for Wrappings we use a Knowledge Base.</p><p>The Wrapping integration infrastructure is defined by its two complementary aspects, the Wrapping Knowledge Bases and the Problem Managers.</p><p>The Wrapping Knowledge Bases (WKBs) contain the Wrappings that map problems to resources in context. They define the entire set of problems that the system knows how to treat (there are usually also default problems that catch the ones otherwise not recognized). The mappings are problem-, problem parameter-, and context-dependent.</p><p>The Problem Managers (PMs) are the programs that read WKBs and select and apply resources to problems. The meta-recursion follows because the PMs are also resources, and are Wrapped in exactly the same way as other resources, and are therefore available for the same flexible integration as any resources. These systems therefore have no privileged resource; anything can be replaced. Default PMs are provided with any Wrapping implementation, but the defaults can be superseded in the same way as any other resource. These are the processes that replace the implicit invocation process, allowing arbitrary processes to be inserted in the middle of the resource invocation process. This choice leads to very flexible systems <ref type="bibr" target="#b33">[33]</ref>  <ref type="bibr" target="#b34">[34]</ref>.</p><p>The basic notion is the interaction of one very simple loop, called the "Coordination Manager", and a very simple planner, called the "Study Manager".</p><p>The default Coordination Manager (CM) is responsible for keeping the system going. It has only three repeated steps, after an initial FC = Find Context step as shown in Figure <ref type="figure" target="#fig_0">1</ref>.</p><p>To "Find Context" means to establish a context for problem study, possibly by requesting a selection from a user, but more often getting it explicitly or implicitly from the system invocation. It is our placeholder for conversions from that part of the system's invocation environment that  is necessary for the system to represent to whatever internal context structures are used by the system.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>SM</head><p>To "Pose Problem" means to get a problem to study from the problem poser (a user or the system), which includes a problem name and some problem data, and to convert it into whatever kind of problem structure is used by the system (we expect this is mainly by parsing of some kind).</p><p>To "Study Problem" means to use an SM and the Wrappings to study the given problem in the given context, and to "Assimilate Results" means to use the result to affect the current context, which may mean to tell the poser what happened. Each step is a problem posed to the system by the CM, which then uses the default SM to manage the system's response to the problem. The first problem, "Find Context", is posed by the CM in the initial context of "no context yet", or in some default context determined by the invocation style of the program.</p><p>The main purpose of the default CM is cycling through the other three problems, which are posed by the CM in the context found by the first step. This way of providing context and tasking for the SM is familiar from many interactive programming environments: the "Find context" part is usually left implicit, and the rest is exactly analogous to LISP's "read-eval-print" loop, though with very different processing at each step, mediated by one of the SMs. In this sense, this CM is a kind of "heartbeat" that keeps the system moving.</p><p>If the Coordination Manager is the basic cyclic program heartbeat, then the Study Manager is a planner that organizes the resource applications. The CM and SM interact as shown schematically in Figure <ref type="figure" target="#fig_0">1</ref>.</p><p>We have divided the "Study Problem" process into three main steps: "Interpret Problem", which means to find a resource to apply to the problem; "Apply Resource", which means to apply the resource to the problem in the current context; and "Assess Results", which means to evaluate the result of applying the resource, and possibly posing new problems. We further subdivide problem interpretation into five steps, which organize it into a sequence of basic steps that we believe represent a fundamental part of problem study and solution. These are implemented in the default Study Manager (SM).</p><p>To "Match Resources" is to find a set of resources that might apply to the current problem in the current context. It is intended to allow a superficial first pass through a possibly large collection of Wrapping Knowledge Bases.</p><p>To "Resolve Resources" is to eliminate those that do not apply. It is intended to allow negotiations between the posed problem and each Wrapping of the resource to determine whether or not it can be applied, and make some initial bindings of formal parameters of resources that still apply.</p><p>To "Select Resource" is simply to make a choice of which of the remaining candidate resources (if any) to use.</p><p>To "Adapt Resource" is to set it up for the current problem and problem context, including finishing all required bindings.</p><p>To "Advise Poser" is to tell the problem poser (who could be a user or another part of the system) what is about to happen, i.e., what resource was chosen and how it was set up to be applied.</p><p>To "Apply Resource" is to use the resource for its information service, which either does something, presents something, or makes some information or service available.</p><p>To "Assess Results" is to determine whether the application succeeded or failed, and to help decide what to do next.</p><p>Finally, we insist that every step in the above sequences is actually a posed problem, and is treated in exactly the same way as any other, which makes these sequences "meta"-recursive <ref type="bibr" target="#b0">[1]</ref>. That means that if we have any knowledge at all that a different planner may be more appropriate for the context and application at hand, we can use it (after defining the appropriate context conditions), either to replace the default SM when it is applicable, or to replace individual steps of the SM, according to that context (which can be selected at run time).</p><p>Of course, we also have to have something to replace or supersede. We have therefore provided default resources for each of the CM and SM steps, to be used when no other is selected to supersede it (as the above SM is the default resource for the problem "Study Problem"). A simple complication occurs with the default among many possible resources for the "Select Resource" problem: we want to allow other resources to be used, so we insist that the default resource (which otherwise might just pick the first resource on the list) not pick itself if there is another choice when it is addressing the "Select Resource" problem.</p><p>In addition, since the resources that read the WKB are selected in context as is any other, the WKB can be heterogeneous, with context determining which reader is used for which format of Knowledge Base. This helps greatly for implementing improvements to programs, since the new and old formats can exist simultaneously, unti the old format is no longer needed.</p><p>We have used these algorithms many times to explain and implement autonomous and reflective agents and systems <ref type="bibr" target="#b28">[28]</ref>  <ref type="bibr" target="#b29">[29]</ref>, and shown that they provide the appropriate level of manageable flexibility and auditable integration. The advantage in flexibility this approach provides over other activity loops that have been proposed is that the SM and CM steps are "meta"-steps, with posed problems for the activities, allowing one further level of abstraction and indirection when it is useful. There are a number of other activity loops that we have seen described in various places <ref type="bibr" target="#b4">[5]</ref>, especially the popular MAPE-K loop of autonomic computing <ref type="bibr" target="#b21">[21]</ref> [24] [3] <ref type="bibr" target="#b39">[40]</ref>, and we have shown that our CM / SM meta-recursive interaction subsumes all of them. The meta-interpretation style <ref type="bibr" target="#b0">[1]</ref> of Wrappings <ref type="bibr" target="#b27">[27]</ref> can of course be applied to any of them to make them much more flexible.</p><p>We have implemented several different kinds of CMs in addition to the simple default CM defined above. There are CMs that short cut the reflection by calling the default step resources directly, and fully recursive versions that have extra levels of problem posing. Some of them are described in other papers in the references.</p><p>We have also used different SMs, beyond the default one that tries only one resource: one SM tries all applicable resources and returns with the first success, another tries them all and evaluates them to return the best success, and one collects all successes and summarizes. There are also different kinds of SM steps. The Match and Resolve resources that read XML WKBs are different from the ones that read text only WKBs. A different Match or Resolve might invoke a more sophisticated planner if there are no matches. A different Select might choose all compatible resources, then negotiate among them. Different versions of apply, beyond the default function call, might send a request message, or invoke an interpreter or other process. Another one might simply add the resource to a configuration, instead of invoking it.</p><p>Wrapping-based systems support run-time decisions about which resources to apply in the current context, both at the application level (the resources that perform the task at hand) and at the meta-level (the resources that are used to select and organize the application level resources). This flexibility does come with a cost, but there are also mechanisms based on partial evaluation <ref type="bibr" target="#b13">[13]</ref> [20] <ref type="bibr" target="#b27">[27]</ref> [41] <ref type="bibr" target="#b15">[15]</ref> for removing any decisions that will be made the same way every time, thus leaving the costs where the variabilities need to be.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Self-Modeling Systems</head><p>Our approach is related to the architectures of robots and autonomous vehicles <ref type="bibr" target="#b1">[2]</ref> [37], but we add some features not computationally feasible at the beginning. Our systems are Self-Adaptive <ref type="bibr" target="#b5">[6]</ref> [9] <ref type="bibr" target="#b23">[23]</ref>, which means that they can observe their own behavior, reason about it, and use the results to adjust the behavior.</p><p>We are especially enamored of Self-Modeling Systems <ref type="bibr" target="#b28">[28]</ref>  <ref type="bibr" target="#b29">[29]</ref>, which have models of their own behavior, derived from original specifications of intent (from the designers), as modified by observation of actual behavior, because (in this author's paraphrase):</p><p>No plan ... extends with any certainty beyond the first contact with ... [reality], reference <ref type="bibr" target="#b38">[39]</ref>, p.92 These models are interpreted to produce the system's behavior. That is to say, the behavior, sometimes including the interpreter itself, is the interpretation of the models (this is not as hard as it seems <ref type="bibr" target="#b41">[42]</ref> [28] <ref type="bibr" target="#b31">[31]</ref>).</p><p>The reason for self-modeling systems is to retain as much flexibility in the operational system as possible, and to allow the system to depart wildly from its original design specifications (under carefully controlled or appropriately identified situations, of course). Additionally, it allows the system to examine itself, looking for anomalies:</p><p>O wad some Power the giftie gie us To see oursels as ithers see us! <ref type="bibr" target="#b9">[10]</ref> This architectural approach also supports the processes that mitigate the effects of the "Get Stuck" Theorems, which essentially say that any software-intensive system that makes models of its environment and behavior will eventually need to reorganize its knowledge structures. To that end, we defined several mitigation processes in <ref type="bibr" target="#b26">[26]</ref>  <ref type="bibr" target="#b32">[32]</ref>, and this paper is a description of a notional architecture in which to implement the processes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Architecture</head><p>In this Section, we describe an architectural context for the mitigation processes, using a Wrapping infrastructure to provide the flexibility of operations that we want. In the next Section, we describe the processes in a little more detail and show how they might interact.</p><p>A notional picture of the architecture under consideration is in Figure <ref type="figure">2</ref>.</p><p>The top part of the picture is the usual Wrapping CM / SM loop, accessing the WKB in context to apply resources to posed problems, possibly also adjusting the context (and allowing the context to be changed by the system environment). This is the standard behavior of a Wrapping-based system.</p><p>The other processes in the main system, that is, the ones in the application domain, are invoked by the SM, and build and maintain the domain knowledge bases that are the focus of the mitigation effort (though, of course, the same mitigation processes apply equally well to the Wrapping Knowledge Base. due to reflection).</p><p>The mitigation processes BM, KnRef, and DKM collect information from the choices made in the SM and adjust the WKB, and they collect information from the domain knowledge bases and adjust them also.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Description of Models Used</head><p>There are three classes of models (processes): the infrastructure models, such as the CM, SM, and other PMs; the application models that perform the system's objective activity, and the mitigation models that sit behind that activity and keep it running.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1.">Infrastructure Models</head><p>The infrastructure has been described before, in Section 2. It contains the default PMs, which are the various flavors of SM (default is straight line plan, others are try all until success, try all and combine, and others. These can be fully recursive or not.</p><p>It contains the various flavors of CM used in the system, such as the default simple loop and the Mud CM for distributed components, and these can be recursive or not. It contains the WKB and the context knowledge base, and the reflective nature of Wrappings allows both of them to be heterogeneous, since the knowledge base readers are also resources, selected according to posed problems in the usual way.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2.">Fences Application Models</head><p>These are the models that do the fences application work. Each fence is responsible for one class of interfaces (often just one interface).</p><p>• instrumentation: record summaries of data types and volume for all (or just representative) crossing the interface in either direction; in certain cases, the content matters also;</p><p>• movement: for mobile fences, decisions about when and where to move (perhaps to track down a problem or just randomly spot check); this process clearly needs a map of system interfaces;</p><p>• examination: build models of the data crossing the interface (in both directions), infer actual protocol with performance measurements; in the simplest case, just measuring close approaches to acceptability boundaries is enough model;</p><p>• retention: store these models in a system domain knowledge base;</p><p>• communication: announce current status and observed behavior, trends and variability distributions; interact with other fences to discover and isolate problems; announce to the system that there is an issue in certain places (so that the context can be chand to avoid them);</p><p>• cooperation: interact with other fences to discover and isolate problems; apply a requested data throttle at an interface;</p><p>• escalation: when a problem gets dangerous or large or widespread enough (criteria supplied by the designers). ask for help.</p><p>Each of these processes has relatively simple inputs, and only the examination process has any difficult algorithms, Most of the difficulty lies in the criteria for data extraction, modeling , and escalation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3.">Mitigation Models</head><p>These are the ones that do the mitigations <ref type="bibr" target="#b31">[31]</ref> [26]:</p><formula xml:id="formula_0">• Behavior Mining • Model Deficiency Analysis • Knowledge Refactoring • Dynamic Knowledge Management • Constructive Forgetting • Continual Contemplation</formula><p>We describe the intent of each of these processes and how they might interact.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3.1.">Behavior Mining. This process examines every decision in context, recording the following data:</head><p>• problem with parameters,</p><p>• relevant context,</p><p>• resource application selected and constructed.</p><p>The relevant context is the set of context conditions that were examined and succeeded for the selection. In fancier cases, this will also include resources not selected for this problem, and why (according to the context conditions that eliminated them).</p><p>In general, problems are stratified into layers, based on their resolution (in time, space, or concept). Strictly speaking, this should be called semiotic content, but that discussion leads beyond the scope of this paper.</p><p>The BM process also examines changes to the domain knowledge base, looking for infelicities, which can be statistical or even esthetic (unbalanced trees, different amounts of detail in different areas, unique or very low frequency references, which often results from specification errors). In this case, the models are "plausibility" models, since there is no available basis to declare them correct or incorrect.</p><p>The BM process then feeds its results to the MDA process for resolution. 5.3.2. Model Deficiency Analysis. This process attempts to determine where models have gone wrong (this is a retrospective analysis, not predictive). The simplest form of this begins with a behavioral assertion about model effects that has been violated.</p><p>We expect the assertions to be provided initially by the designers, since models are expected to provide some information service, and the model creators decide what that is. After all, there was a purpose for creating the model in the first place, and these assertions define the designers' expectations for it.</p><p>Every behavioral assertion involves some of the variables within the model (or some performance parameters). In the most intrusive case, every change to any of those variables causes the assertion to be (it is possible to reduce this a little bit if if can be proven that the change cannot make an assertion go fro true to false).</p><p>When an assertion fails, the hard part begins: the assignment of blame, that is, how can the system decide where the failure is and who did it. This is especially difficult for assertions in the usual kinds of first-order logic, since mathematically there is no such culprit.</p><p>However, the assertions are not the only information available to the MDA process. It also has access to the component behavior models constructed by the BM process, and sometimes it can use those to decide which part of an assertion is less likely to be wrong. This assessment can often be done by maintaining a reliability "reputation" for each of the assertions, each of its components and each of the processes that produce the variables tha occur in those components. The reputation of an assertion component is enhanced by its success frequency (tempered by a measure of how well the input data to each variable producer fits the input assumptions).</p><p>In addition, the MDA process gets warnings from the BM process about models that may be incorrect due to statistical or esthetic considerations. It tries to decide when a strange structure is an error and when it is just strange. Of course, it can't really do that, mainly for undecideability reasons, but it can discover certain kinds of problems and announce the others to the system monitors to try to get help. If no help is forthcoming, then the issue is simply recorded as a problem that the MDA process cannot solve, and if enough instances of those occur, it escalates the issue to a deficiency warning.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3.3.">Knowledge</head><p>Refactoring. This process is partly housekeeping: re-arranging knowledge for efficiencies: it can be applied to the context conditions for the same problem (e.g., to get the shortest average time for decision, given the time distribution of conditions). It is also related to the esthetic criteria in the BM process: if we consider any knowledge representation mechanism as a graph with labeled nodes and directed labeled edges, then nodes with an excessive number of edges may be too general, and nodes with too few edges may be too specific.</p><p>This process is also sensitive to the access patterns of the knowledge elements. We want elements that are accessed very often to have shorter access paths, which can distort any nice a priori ontology (the goal in this case is not readability; it is efficiency; other semantics-preserving refactorings may be needed for readability).</p><p>This process is intended to be transparent to the users of the knowledge bases, in the sense that their access mechanisms remain exactly the same; only the resulting search performance is affected.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3.4.">Dynamic Knowledge</head><p>Management. This process organizes the knowledge for quick reasoning; it subsumes Constructive Forgetting (a mitigation from <ref type="bibr">[31] [26]</ref>). We called that one out explicitly because it is not normally acceptable to throw knowledge away, but we have shown that it is inevitable.</p><p>The idea here is that there are different frequencies of access for different parts of the knowledge base, and rearranging the knowledge base can take that into account.</p><p>The simplest version of this is to pushd the Least Recently Used (LRU) knowledge elements off to longer access paths (this is much the same process as defining Huffman codes <ref type="bibr" target="#b19">[19]</ref> [36] <ref type="bibr" target="#b14">[14]</ref>). This measure of recency can be weighted by importance of consequences and gathered by relevant context (big context change implies much knowledge re-ordering). There are also other relevant factors that will be different for each different application.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3.5.">Continual Contemplation.</head><p>This process is the general term for all the background concurrent examination processes that examine everything: some examine as-is models (from Behavior Mining), and compare with as-designed models (from system definition). These functions are described earlier in this Section.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusions and Prospects</head><p>We have argued that the flexibility of self-modeling systems make them well-suited to handle remote, complex, and / or hostile environments, but that flexibility comes with the obvious cost in performance, and a less obvious cost in organization. How much of this infrastructure machinery is used in any given application is an application-specific engineering decision that depends on the expected level of hazard and the required level of performance.</p><p>We have shown that the Wrapping infrastructure supports a very flexible interweaving of domain resources and infrastructure resources, and can now include processes that mitigate the effects of the "Get Stuck" Theorems, which limit the lifetime of any autonomous system that builds and maintains models.</p><p>One of the most exciting prospects is that the system has enough knowledge about its own behavior that it can explain what it is doing, or what it is about to do, and why, and most particularly, what it is not doing and why (the SM manages the selection, so it has the data to explain what it does not select). This requires the system to reason about the situation it is in <ref type="bibr" target="#b3">[4]</ref>, so they can describe it.</p><p>A key advance in the state of the reasoning processes would be to provide tools for them to reason about incomplete and inconsistent information <ref type="bibr" target="#b6">[7]</ref> [8] <ref type="bibr" target="#b12">[12]</ref>, since that describes essentially all of the system's knowledge. Similarly, various kinds of advanced learning methods <ref type="bibr" target="#b11">[11]</ref> [38] <ref type="bibr" target="#b18">[18]</ref> [17] could be applied in the model building processes, to avoid needing to specify a model type or structure in advance. These could be of great use to the model building processes in these systems.</p><p>However, learning methods such as XCS <ref type="bibr">[43] [44]</ref> have not much place here, since the behaviors in these systems are not well modeled by MDP (Markov Decision Processes) or even POMDP (Partially Observable MDP) in most cases, and these methods are not model-free; they assume a state transition model that can be described as a POMDP.</p><p>We also described mobile fences, moving around in the system or network, with the responsibility to explore, detect, decide and act or escalate. If these fences are also knowledgeable about more of the system behavioral expectations, then they should be able to detect certain software errors, in addition to external anomalies.</p><p>We can also imagine some physical existence for "touch points" (like the little blue police / watchman boxes for periodic checking in), so the fence can monitor and examine its own progress.</p><p>We think that these systems can be made much safer than they are now, but that requires an engineering judgment based choice of how much protective infrastructure to include.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. CM and SM Steps</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>Figure 2. Notional Architecture</figDesc></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">The Structure and Interpretation of Computer Programs</title>
		<author>
			<persName><forename type="first">Harold</forename><surname>Abelson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gerald</forename><surname>Sussman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Julie</forename><surname>With</surname></persName>
		</author>
		<author>
			<persName><surname>Sussman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1985">1985</date>
			<publisher>now MIT</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Engineering of Mind: An Introduction to the Science of Intelligent Systems</title>
		<author>
			<persName><forename type="first">James</forename><forename type="middle">S</forename><surname>Albus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><forename type="middle">M</forename><surname>Meystel</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
			<publisher>Wiley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Modeling and Analyzing MAPE-K Feedback Loops for Self-Adaptation</title>
		<author>
			<persName><forename type="first">Paolo</forename><surname>Arcaini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Elvinia</forename><surname>Riccobene</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Patrizia</forename><surname>Scandurra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings SEAMS 2015: The 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems</title>
				<meeting>SEAMS 2015: The 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems<address><addrLine>Florence, Italy</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2015-05-19">18-19 May 2015. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The Situation in Logic</title>
		<author>
			<persName><forename type="first">Jon</forename><surname>Barwise</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">CSLI Lecture Notes</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<date type="published" when="1989">1989</date>
			<publisher>Center for the Study of Language and Information</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Managing Variable and Cooperative Time Behavior</title>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Dr</forename><surname>Bellman</surname></persName>
		</author>
		<author>
			<persName><surname>Christopher Landauer</surname></persName>
		</author>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Phyllis</surname></persName>
		</author>
		<author>
			<persName><surname>Nelson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The 13th IEEE International Symposium on Object/component/service-oriented Realtime distributed Computing</title>
				<meeting><address><addrLine>Carmona, Spain</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2010-05-05">05 May, part of ISORC 2010. 05-06 May 2010. 2010</date>
		</imprint>
	</monogr>
	<note>Proceedings SORT 2010: The First IEEE Workshop on Self-Organizing Real-Time Systems</note>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Selfmodeling and Self-awareness</title>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Phyllis</forename><surname>Nelson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Nelly</forename><surname>Bencomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sebastian</forename><surname>Götz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Peter</forename><surname>Lewis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lukas</forename><surname>Esterle</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Chapter</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="279" to="304" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Inconsistency Tolerance</title>
	</analytic>
	<monogr>
		<title level="s">Springer Lecture Notes in Computer Science</title>
		<editor>Leopoldo E. Bertossi, Anthony Hunter, Torsten Schaub</editor>
		<imprint>
			<biblScope unit="volume">3300</biblScope>
			<date type="published" when="2004">2004</date>
			<publisher>Springer Verlag</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m">Handbook of Paraconsistency</title>
				<editor>
			<persName><forename type="first">Jean-Yves</forename><surname>Beziau</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Walter</forename><surname>Carnielli</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Dov</forename><surname>Gabbay</surname></persName>
		</editor>
		<imprint>
			<publisher>King&apos;s College</publisher>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Self-aware Computing Systems: Open Challenges and Future Research Directions</title>
		<author>
			<persName><forename type="first">Robert</forename><surname>Birke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Javier</forename><surname>Cámara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lydia</forename><forename type="middle">Y</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lukas</forename><surname>Esterle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kurt</forename><surname>Geihs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Erol</forename><surname>Gelenbe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Holger</forename><surname>Giese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anders</forename><surname>Robertsson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Xiaoyun</forename><surname>Zhu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Chapter</title>
		<imprint>
			<biblScope unit="volume">26</biblScope>
			<biblScope unit="page" from="709" to="722" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">To a Louse</title>
		<author>
			<persName><forename type="first">Robert</forename><surname>Burns</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1768">1768</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m">along with many other collections and web sites</title>
				<imprint>
			<publisher>Waverley Press</publisher>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
	<note>Robert Burns in Your Pocket</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Learning by Analogy: Formulating and Generating Plans from Past Experience</title>
		<author>
			<persName><forename type="first">Jaime</forename><forename type="middle">G</forename><surname>Carbonell</surname></persName>
		</author>
		<imprint>
			<biblScope unit="page">38</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Logics of Formal Inconsistency</title>
		<author>
			<persName><forename type="first">Walter</forename><forename type="middle">A</forename><surname>Carnielli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">E</forename><surname>Coniglio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Marcos</surname></persName>
		</author>
		<imprint>
			<biblScope unit="page" from="15" to="107" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Tutorial Notes on Partial Evaluation</title>
		<author>
			<persName><forename type="first">C</forename><surname>Consel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Danvy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings PoPL 1993: The 20th ACM Symposium on Principles of Programming Languages</title>
				<meeting>PoPL 1993: The 20th ACM Symposium on Principles of Programming Languages<address><addrLine>Charleston, SC</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1993-01-13">10-13 January 1993. January 1993</date>
			<biblScope unit="page" from="493" to="501" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Introduction to Algorithms</title>
		<author>
			<persName><forename type="first">H</forename><surname>Thomas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Charles</forename><forename type="middle">E</forename><surname>Cormen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ronald</forename><forename type="middle">L</forename><surname>Leiserson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Clifford</forename><surname>Rivest</surname></persName>
		</author>
		<author>
			<persName><surname>Stein</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1990">1990. 2001</date>
			<publisher>McGraw-Hill</publisher>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="page">385392</biblScope>
		</imprint>
	</monogr>
	<note>Second Edition</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Higher Abstractions for Dynamic Analysis</title>
		<author>
			<persName><forename type="first">Marcus</forename><surname>Denker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Orla</forename><surname>Greevy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michele</forename><surname>Lanza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings PCODA&apos;2006: the 2nd International Workshop on Program Comprehension through Dynamic Analysis</title>
				<meeting>PCODA&apos;2006: the 2nd International Workshop on Program Comprehension through Dynamic Analysis</meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="2006" to="2011" />
		</imprint>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m">Handbook of Philosophical Logic</title>
				<editor>
			<persName><forename type="first">D</forename><surname>Gabbay</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Guenthner</surname></persName>
		</editor>
		<imprint>
			<publisher>Reidel</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">14</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title level="m" type="main">Deep Learning</title>
		<author>
			<persName><forename type="first">Ian</forename><surname>Goodfellow</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yoshua</forename><surname>Bengio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Aaron</forename><surname>Courville</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2016">2016</date>
			<publisher>MIT</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<author>
			<persName><forename type="first">Trevor</forename><surname>Hastie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Robert</forename><surname>Tibshirani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jerome</forename><surname>Friedman</surname></persName>
		</author>
		<title level="m">The Elements of Statistical Learning: Data Mining, Inference, and Prediction</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009. 2016</date>
		</imprint>
	</monogr>
	<note>2nd ed</note>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">A Method for the Construction of Minimum-Redundancy Codes</title>
		<author>
			<persName><forename type="first">David</forename><forename type="middle">A</forename><surname>Huffman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the IRE</title>
				<meeting>the IRE</meeting>
		<imprint>
			<date type="published" when="1952">1952</date>
			<biblScope unit="volume">40</biblScope>
			<biblScope unit="page" from="1098" to="1101" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Partial Evaluation</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">D</forename><surname>Jones</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computing Surveys</title>
		<imprint>
			<biblScope unit="volume">28</biblScope>
			<biblScope unit="issue">3</biblScope>
			<date type="published" when="1996-09">September 1996</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Feedback on feedback in autonomic computing systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Kephart</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings FC 2012: the 7th International Workshop on Feedback Computing</title>
				<meeting>FC 2012: the 7th International Workshop on Feedback Computing<address><addrLine>San Jose, California</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<title level="m">Self-Aware Computing Systems</title>
				<editor>
			<persName><forename type="first">Samuel</forename><surname>Kounev</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Jeffrey</forename><forename type="middle">O</forename><surname>Kephart</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Aleksandar</forename><surname>Milenkoski</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Xiaoyun</forename><surname>Zhu</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">The Notion of Self-aware Computing</title>
		<author>
			<persName><forename type="first">Samuel</forename><surname>Kounev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Peter</forename><surname>Lewis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Nelly</forename><surname>Bencomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Javier</forename><surname>Cámara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ada</forename><surname>Diaconescu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lukas</forename><surname>Esterle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kurt</forename><surname>Geihs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Holger</forename><surname>Giese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sebastian</forename><surname>Götz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Paola</forename><surname>Inverardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jeffrey</forename><forename type="middle">O</forename><surname>Kephart</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrea</forename><surname>Zisman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Chapter</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="3" to="16" />
		</imprint>
	</monogr>
	<note>22</note>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<author>
			<persName><forename type="first">Philippe</forename><surname>Lalanda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Julie</forename><forename type="middle">A</forename><surname>Mccann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ada</forename><surname>Diaconescu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Autonomic Computing: Principles, Design and Implementation</title>
		<title level="s">Undergraduate Topics in Computer Science Series</title>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Infrastructure for Studying Infrastructure</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings ESOS 2013: Workshop on Embedded Self-Organizing Systems, 25</title>
				<meeting>ESOS 2013: Workshop on Embedded Self-Organizing Systems, 25<address><addrLine>San Jose, California; San Jose, California</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2013-06-24">June 2013. 24-28 June 2013. 2013</date>
		</imprint>
	</monogr>
	<note>part of 2013 USENIX Federated Conference Week</note>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Mitigating the Inevitable Failure of Knowledge Representation</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings M@RT@ICAC 2017: The 2nd International Workshop on Models@run.time for Self-aware Computing Systems, Part of ICAC2017: The 14th International Conference on Autonomic Computing</title>
				<meeting>M@RT@ICAC 2017: The 2nd International Workshop on Models@run.time for Self-aware Computing Systems, Part of ICAC2017: The 14th International Conference on Autonomic Computing<address><addrLine>Columbus, Ohio</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2017-07-21">17-21 July 2017. 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Generic Programming, Partial Evaluation, and a New Programming Paradigm</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Software Process Improvement</title>
				<editor>
			<persName><forename type="first">Gene</forename><surname>Mcguire</surname></persName>
		</editor>
		<imprint>
			<publisher>Idea Group Publishing</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="page" from="108" to="154" />
		</imprint>
	</monogr>
	<note>Chapter</note>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Self-Modeling Systems</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Self-Adaptive Software</title>
		<title level="s">Springer Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">R</forename><surname>Laddaga</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><surname>Shrobe</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="volume">2614</biblScope>
			<biblScope unit="page" from="238" to="256" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Managing Self-Modeling Systems</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings Third International Workshop on Self-Adaptive Software</title>
				<editor>
			<persName><forename type="first">R</forename><surname>Laddaga</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><surname>Shrobe</surname></persName>
		</editor>
		<meeting>Third International Workshop on Self-Adaptive Software<address><addrLine>Arlington, VA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003-06-11">09-11 Jun 2003. 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">Model-Based Cooperative System Engineering and Integration</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings SiSSy 2016: 3rd Workshop on Self-Improving System Integration</title>
				<meeting>SiSSy 2016: 3rd Workshop on Self-Improving System Integration<address><addrLine>Wuerzburg, Germany</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2016-07-19">19 July 2016. ICAC2016. 19-22 July 2016. 2016</date>
		</imprint>
	</monogr>
	<note>13th IEEE International Conference on Autonomic Computing</note>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">Self-Modeling Systems Need Models at Run Time</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Part of ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems</title>
				<meeting><address><addrLine>Saint Malo, Brittany, France</addrLine></address></meeting>
		<imprint>
			<publisher>Palais du Grand Large</publisher>
			<date type="published" when="2016-10-04">04 October 2016. 02-07 October 2016. 2016</date>
		</imprint>
	</monogr>
	<note>Proceedings M@RT 2016: the 11th International Workshop on Models@run.time</note>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">An Architecture for Self-Awareness Experiments</title>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Landauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kirstie</forename><forename type="middle">L</forename><surname>Bellman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings SeAC 2017: 2nd Workshop on Self-Aware Computing, Part of ICAC2017: The 14th International Conference on Autonomic Computing</title>
				<meeting>SeAC 2017: 2nd Workshop on Self-Aware Computing, Part of ICAC2017: The 14th International Conference on Autonomic Computing<address><addrLine>Columbus, Ohio</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2017-07-21">17-21 July 2017. 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">Wrapping Tutorial: How to Build Self-Modeling Systems</title>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><surname>Christopher Landauer</surname></persName>
		</author>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Kirstie</surname></persName>
		</author>
		<author>
			<persName><surname>Bellman</surname></persName>
		</author>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Phyllis</surname></persName>
		</author>
		<author>
			<persName><surname>Nelson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings SASO 2012: The 6th IEEE Intern. Conf. on Self-Adaptive and Self-Organizing Systems</title>
				<meeting>SASO 2012: The 6th IEEE Intern. Conf. on Self-Adaptive and Self-Organizing Systems<address><addrLine>Lyon, France</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2012-09-14">10-14 Sep 2012. 2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Wrapping Tutorial: How to Build Self-Modeling Systems</title>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><surname>Christopher Landauer</surname></persName>
		</author>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Kirstie</surname></persName>
		</author>
		<author>
			<persName><surname>Bellman</surname></persName>
		</author>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Phyllis</surname></persName>
		</author>
		<author>
			<persName><surname>Nelson ; Landauer</surname></persName>
		</author>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Kirstie</surname></persName>
		</author>
		<author>
			<persName><surname>Bellman</surname></persName>
		</author>
		<author>
			<persName><surname>Dr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Phyllis</surname></persName>
		</author>
		<author>
			<persName><surname>Nelson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings CogSIMA 2013: 2013 IEEE Intern. Inter-Disciplinary Conf. Cognitive Methods for Situation Awareness and Decision Support</title>
				<meeting>CogSIMA 2013: 2013 IEEE Intern. Inter-Disciplinary Conf. Cognitive Methods for Situation Awareness and Decision Support<address><addrLine>San Diego, California; Paderborn, Germany</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2013-02-28">25-28 February 2013. 2013. 20 June 2013. 2013. 19-21 Jun 2013. 2013</date>
		</imprint>
	</monogr>
	<note>The 16th IEEE International Symposium on Object / component / service-oriented Real-time distributed Computing</note>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">On the construction of Huffman trees</title>
		<author>
			<persName><forename type="first">Jan</forename><surname>Van Leeuwen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings ICALP 1976: the Third International Colloquium on Automata, Languages and Programming</title>
				<meeting>ICALP 1976: the Third International Colloquium on Automata, Languages and Programming<address><addrLine>Edinburgh</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1976-07-23">20-23 July 1976. 1976</date>
			<biblScope unit="page" from="382" to="410" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<monogr>
		<author>
			<persName><forename type="first">Alexander</forename><forename type="middle">M</forename><surname>Meystel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">James</forename><forename type="middle">S</forename><surname>Albus</surname></persName>
		</author>
		<title level="m">Intelligent Systems: Architecture, Design, and Control</title>
				<imprint>
			<publisher>Wiley</publisher>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b37">
	<monogr>
		<title level="m" type="main">Machine Learning: An Artificial Intelligence Approach</title>
		<editor>Ryszard S. Michalski, Jaime G. Carbonell, Tom M. Mitchell</editor>
		<imprint>
			<date type="published" when="1983">1983</date>
			<publisher>Tioga Press</publisher>
			<pubPlace>Palo Alto, CA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">On Strategy</title>
		<author>
			<persName><forename type="first">Helmuth</forename><surname>Karl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bernhard</forename><surname>Graf Von Moltke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Moltke on the Art of War: Selected Writings</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Daniel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Harry</forename><surname>Hughes</surname></persName>
		</editor>
		<editor>
			<persName><surname>Bell</surname></persName>
		</editor>
		<imprint>
			<publisher>Presidio Press</publisher>
			<date type="published" when="1993">1993. 1995</date>
		</imprint>
	</monogr>
	<note>paperback</note>
</biblStruct>

<biblStruct xml:id="b39">
	<monogr>
		<title level="m" type="main">Feedback Control as MAPE-K loop in Autonomic Computing</title>
		<author>
			<persName><forename type="first">E</forename><surname>Rutten</surname></persName>
		</author>
		<idno>RR-8827</idno>
		<imprint>
			<date type="published" when="2015-12-10">10 Dec 2015</date>
		</imprint>
		<respStmt>
			<orgName>INRIA Sophia Antipolis -Méditerranée ; INRIA Grenoble -Rhône-Alpes</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Research Report</note>
</biblStruct>

<biblStruct xml:id="b40">
	<analytic>
		<title level="a" type="main">Dynamic Partial Evaluation</title>
		<author>
			<persName><forename type="first">Gregory</forename><forename type="middle">T</forename><surname>Sullivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings PADO II: Second Symposium on Programs as Data Objects</title>
				<meeting>PADO II: Second Symposium on Programs as Data Objects<address><addrLine>Aarhus, Denmark</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2001-05">May 2001. 2001</date>
			<biblScope unit="page" from="21" to="23" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<analytic>
		<title level="a" type="main">Reflections on Trusting Trust</title>
		<author>
			<persName><forename type="first">Ken</forename><surname>Thompson</surname></persName>
		</author>
		<ptr target="http://dl.acm.org/citation.cfm?id=358210(availabilitylastchecked" />
	</analytic>
	<monogr>
		<title level="j">Comm. of the ACM</title>
		<imprint>
			<biblScope unit="volume">27</biblScope>
			<biblScope unit="issue">8</biblScope>
			<biblScope unit="page" from="761" to="763" />
			<date type="published" when="1984-08-03">Aug 1984. 03 Apr 2017. Apr 2017</date>
		</imprint>
	</monogr>
	<note>); see also the &quot;back door&quot; entry of &quot;The Jargon File&quot;, widely available on the Web, and other comments findable by searching for &quot;back door Ken Thompson moby hack&quot; (availability last checked 03</note>
</biblStruct>

<biblStruct xml:id="b42">
	<analytic>
		<title level="a" type="main">Classifier Fitness Based on Accuracy</title>
		<author>
			<persName><forename type="first">Stewart</forename><forename type="middle">W</forename><surname>Wilson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Evolutionary Computation</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page">149175</biblScope>
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b43">
	<analytic>
		<title level="a" type="main">Generalization in the XCS Classifier System</title>
		<author>
			<persName><forename type="first">Stewart</forename><forename type="middle">W</forename><surname>Wilson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings GP 1998: the Third Annual Conference on Genetic Programming</title>
				<editor>
			<persName><forename type="first">John</forename><forename type="middle">R</forename><surname>Koza</surname></persName>
		</editor>
		<meeting>GP 1998: the Third Annual Conference on Genetic Programming<address><addrLine>Madison, Wisconsin</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1998-07">July 1998. 1998</date>
			<biblScope unit="page" from="22" to="25" />
		</imprint>
		<respStmt>
			<orgName>University of Wisconsin</orgName>
		</respStmt>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
