This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Promise theory is a method of analysis suitable for studying any system of interacting components. In the context of information science, promise theory offers a methodology for organising and understanding systems by modelling voluntary cooperation between individual actors or agents, which make public their intentions to one another in the form of promises. Promise theory is grounded in graph theory and set theory. [1]
The goal of promise theory is to reveal the behavior of a whole by taking the viewpoint of the parts rather than the whole. In other words, it is a bottom-up, constructionist view of the world. Promise theory is not a technology or design methodology. It doesn't advocate any position or design principle, except as a method of analysis. [2]
Promise theory is being used in a variety of disciplines ranging from network (SDN) [3] and computer systems management [4] to organizations [5] and finance. [6]
An early form of promise theory was proposed by physicist and computer scientist Mark Burgess in 2004, [3] initially in the context of information science, in order to solve observed problems with the use of obligation-based logics in computer management schemes, in particular for policy-based management. [7]
A collaboration between Burgess and Dutch computer scientist Jan Bergstra refined the model of a promise, which included the notion of impositions and the role of trust. The cooperation resulted in several books and many scientific papers covering a range of different applications. [1] [6] [8] [9] [10] [11] [12] [13]
In spite of wider applications of promise theory, it was originally proposed by Burgess as a way of modelling the computer management software CFEngine and its autonomous behaviour. CFEngine had been under development since 1993 [4] and Burgess had found that existing theories based on obligations were unsuitable as "they amounted to wishful thinking". [14] Consequently, CFEngine uses a model of autonomy - as implied by promise theory—both as a way of avoiding distributed inconsistency in policy and as a security principle against external attack. As of January 2023, more than 2700 companies are using CFEngine worldwide. [15]
Outside the configuration management and DevOps disciplines, promise theory had a slow start. In the essay Promise You A Rose Garden (2007) [14] Burgess used a more popular, less academic style, but it failed to widen the general visibility of the concept at the time. A few years later, in 2012, things changed when Cisco began using promise theory in their growing SDN initiatives, also known as Application Centric Infrastructure (ACI). [16] The tech media picked up the usage in 2013, [17] [3] [18] [19] which led to a number of applications of promise theory in new disciplines in the years following, such as biology, [20] supply chain management, [21] design, [22] business/leadership [23] [5] and systems architecture. [24] Tim O'Reilly discusses promise theory in his bestseller WTF: What's the Future. [25]
Promise theory is described as a modeling tool or a method of analysis suitable for studying any system of interacting components. It is not a technology or design methodology and does not advocate any position or design principle, except as a method of analysis.[ citation needed ]
Agents in promise theory are said to be autonomous, meaning that they are causally independent of one another. This independence implies that they cannot be controlled from without, they originate their own behaviours entirely from within, yet they can rely on one another's services through the making of promises to signal cooperation. Agents are thus self-determined until such a time as they partially or completely give up their independence by promising to accept guidance from other agents.[ citation needed ]
Agents may be as simple as a heading in an HTML document, or as complex as a name server in a network (e.g., a DNS server). Regardless of internal complexity, agents encapsulate mechanisms which make and keep promises. An HTML heading makes promises about its own rendering via CSS statements. [26] A DNS server promises to provide answers to questions about domain names, host names and IP addresses. [14] The first is extremely simple, the latter much more sophisticated. These differences in internal process complexity lead to a definition of so-called semantic scaling of agent complexity.
Agents in promise theory may have intentions. An intention may be realized by a behaviour or a target outcome. Intentions are thus made concrete by defining a set of acceptable outcomes associated with each intention. An outcome is most useful when it describes an invariant or mathematical fixed point in some description of states, because this can be both dynamically and semantically stable.
Each intention expresses a quantifiable outcome, which may be described as a state of an agent. Intentions are sometimes described as targets, goals, or desired states. The selection of intentions by an agent is left unexplained so as to avoid questions about free will. [1]
Agents express their intentions to one another by promise or by imposition. This provides a measure by which they can assess whether intentions are fulfilled or not (i.e. whether promises are kept).[ citation needed ]
Promises arise when an agent shares one of its intentions with another agent voluntarily (e.g., by publishing its intent). The method of sharing is left to the modeller to explain.
For example, an object, such as a door handle, is an agent that promises to be suitable for opening a door, although it could be used for something else (e.g., for digging a hole in the ground). We cannot assume that agents will accept the promises given in the spirit in which they were intended, because every agent has its own context and capabilities. The promise of door handleness could be expressed by virtue of its physical form or by having a written label attached in some language. An agent that uses this promise can assess whether the agent keeps its promise, or is fit for purpose. Any agent can decide this for itself.
A promise may be used voluntarily by another agent in order to influence its usage of the other agent. Promises facilitate interaction, cooperation, and tend to maximize an intended outcome. Promises are not commands or deterministic controls.[ citation needed ]
Obligations, rather than promises have been the traditional way of modelling behaviour—in society, in technology, and in other areas. [27] While still dominant, the obligation based model has known weaknesses, in particular in areas like scalability and predictability, because of its rigidness and lack of dynamism.
Promise theory's point of departure from obligation logics is the idea that all agents in a system should have autonomy of control—i.e. that they cannot be coerced or forced into a specific behaviour. Obligation theories in computer science often view an obligation as a deterministic command that causes its proposed outcome. In promise theory an agent may only make promises about its own behaviour. For autonomous agents, it is meaningless to make promises about another's behaviour.
Although this assumption could be interpreted morally or ethically, in promise theory this is simply a pragmatic engineering principle, which leads to a more complete declaration of the intended roles of the actors or agents in a system: When making assumptions about others' behaviour is disallowed, one is forced to document every promise more completely in order to make predictions, which in turn will reveal possible failure modes by which cooperative behaviour could fail.
Command and control systems—like those that motivate obligation theories—can easily be reproduced by having agents voluntarily promise to follow the instructions of another agent (this is also viewed as a more realistic model of behaviour). Since a promise can always be withdrawn, there is no contradiction between voluntary cooperation and command and control.
In philosophy and law, a promise is often viewed as something that leads to an obligation; promise theory rejects that point of view. Bergstra and Burgess state that the concept of a promise is quite independent of that of obligation. [27]
Promises can be valuable to the promisee or even to the promiser. They might also lead to costs. There is thus an economic story to tell about promises. The economics of promises naturally motivate selfish agent behaviour, and promise theory can be seen as a motivation for game theoretical decision making, in which multiple promises play the role of strategies in a game. [28]
Promise theory has also been used to model and build new insights into monetary systems. [6]
In computer science, the promise theory describes policy governed services, in a framework of completely autonomous agents, which assist one another by voluntary cooperation alone. It is a framework for analyzing realistic models of modern networking, and as a formal model for swarm intelligence. [29]
Promise theory may be viewed as a logical and graph theoretical framework for understanding complex relationships in networks, where many constraints have to be met, which was developed at Oslo University College, by drawing on ideas from several different lines of research conducted there, including policy based management, graph theory, logic and configuration management. It uses a constructivist approach that builds conventional management structures from graphs of interacting, autonomous agents. Promises can be asserted either from an agent to itself or from one agent to another and each promise implies a constraint on the behavior of the promising agent. The atomicity of the promises makes them a tool for finding contradictions and inconsistencies.
The promises made by autonomous agents lead to a mutually approved graph structure, which in turn leads to spatial structures in which the agents represent point-like locations. This allows models of smart spaces, i.e. semantically labeled or even functional spaces, such as databases, knowledge maps, warehouses, hotels, etc., to be unified with other more conventional descriptions of space and time. The model of semantic spacetime uses promise theory to discuss these spacetime concepts.
Promises are more mathematically primitive than graph adjacencies, since a link requires the mutual consent of two autonomous agents, thus the concept of a connected space requires more work to build structure. This makes them mathematically interesting as a notion of space, and offers a useful way of modeling physical and virtual information systems. [30]
The Open Leadership Network and Open Space Technology organizers Daniel Mezick and Mark Sheffield invited promise theory originator Mark Burgess to keynote at the Open Leadership Network's Boston conference in 2019. This led to applying the formal development of promise theory to teach agile concepts. Burgess later extended the lecture notes into an online study course, [31] which he claims prompted an even deeper study of the concepts of social systems, including trust and authority. [32] [33]
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
In mathematics, graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of vertices which are connected by edges. A distinction is made between undirected graphs, where edges link two vertices symmetrically, and directed graphs, where edges link two vertices asymmetrically. Graphs are one of the principal objects of study in discrete mathematics.
Knowledge representation and reasoning is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medical condition or having a dialog in a natural language. Knowledge representation incorporates findings from psychology about how humans solve problems and represent knowledge, in order to design formalisms that will make complex systems easier to design and build. Knowledge representation and reasoning also incorporates findings from logic to automate various kinds of reasoning.
A semantic network, or frame network is a knowledge base that represents semantic relations between concepts in a network. This is often used as a form of knowledge representation. It is a directed or undirected graph consisting of vertices, which represent concepts, and edges, which represent semantic relations between concepts, mapping or connecting semantic fields. A semantic network may be instantiated as, for example, a graph database or a concept map. Typical standardized semantic networks are expressed as semantic triples.
The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable.
Universal Networking Language (UNL) is a declarative formal language specifically designed to represent semantic data extracted from natural language texts. It can be used as a pivot language in interlingual machine translation systems or as a knowledge representation language in information retrieval applications.
Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics, astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.
In psychology and sociology, a trust metric is a measurement or metric of the degree to which one social actor trusts another social actor. Trust metrics may be abstracted in a manner that can be implemented on computers, making them of interest for the study and engineering of virtual communities, such as Friendster and LiveJournal.
A multi-agent system is a computerized system composed of multiple interacting intelligent agents. Multi-agent systems can solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. Intelligence may include methodic, functional, procedural approaches, algorithmic search or reinforcement learning.
In sociology, social complexity is a conceptual framework used in the analysis of society. In the sciences, contemporary definitions of complexity are found in systems theory, wherein the phenomenon being studied has many parts and many possible arrangements of the parts; simultaneously, what is complex and what is simple are relative and change in time.
CFEngine is a configuration management system, written by Mark Burgess. Its primary function is to provide automated configuration and maintenance of large-scale computer systems, including the unified management of servers, desktops, consumer and industrial devices, embedded network devices, mobile smartphones, and tablet computers.
Mark Burgess is an independent researcher and writer, formerly professor at Oslo University College in Norway and creator of the CFEngine software and company, who is known for work in computer science in the field of policy-based configuration management.
Johannes Aldert "Jan" Bergstra is a Dutch computer scientist. His work has focussed on logic and the theoretical foundations of software engineering, especially on formal methods for system design. He is best known as an expert on algebraic methods for the specification of data and computational processes in general.
In information security, computational trust is the generation of trusted authorities or user trust through cryptography. In centralised systems, security is typically based on the authenticated identity of external parties. Rigid authentication mechanisms, such as public key infrastructures (PKIs) or Kerberos, have allowed this model to be extended to distributed systems within a few closely collaborating domains or within a single administrative domain. During recent years, computer science has moved from centralised systems to distributed computing. This evolution has several implications for security models, policies and mechanisms needed to protect users’ information and resources in an increasingly interconnected computing infrastructure.
Agent-based social simulation consists of social simulations that are based on agent-based modeling, and implemented using artificial agent technologies. Agent-based social simulation is a scientific discipline concerned with simulation of social phenomena, using computer-based multiagent models. In these simulations, persons or group of persons are represented by agents. MABSS is a combination of social science, multiagent simulation and computer simulation.
In Australia, the Australian Artificial Intelligence Institute (Australian AI Institute, AAII, or A2I2) was a government-funded research and development laboratory for investigating and commercializing artificial intelligence (AI), specifically intelligent software agents.
Forest informatics is the combined science of forestry and informatics, with a special emphasis on collection, management, and processing of data, information and knowledge, and the incorporation of informatic concepts and theories specific to enrich forest management and forest science; it has a similar relationship to library science and information science.
A social network is a social structure made up of a set of social actors, sets of dyadic ties, and other social interactions between actors. The social network perspective provides a set of methods for analyzing the structure of whole social entities as well as a variety of theories explaining the patterns observed in these structures. The study of these structures uses social network analysis to identify local and global patterns, locate influential entities, and examine network dynamics.
This glossary of artificial intelligence is a list of definitions of terms and concepts relevant to the study of artificial intelligence, its sub-disciplines, and related fields. Related glossaries include Glossary of computer science, Glossary of robotics, and Glossary of machine vision.
Semantic spacetime is a theoretical framework for agent-based modelling of spacetime, based on Promise Theory. It is relevant both as a model of computer science and as an alternative network based formulation of physics in some areas.