Universal Systems Language: Difference between revisions

Content deleted Content added
Removed duplicate text
Tag: section blanking
possible vandalism, changed back to well known version
Line 7:
 
USL is regarded by some users as more [[usability|user-friendly]] than other formal systems.<ref>Krut, Jr., B., "[http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA293427 Integrating 001 Tool Support in the Feature-Oriented Domain Analysis Methodology]" (CMU/SEI-93-TR-11, ESC-TR-93-188), Pittsburgh, SEI, Carnegie Mellon University, 1993.</ref> It is not only a formalism for software, but also defines [[ontology (information science)|ontologies]] for common elements of problem domains, such as physical space and event timing.
 
==Formalism for a theory of control==
{{close paraphrasing|section|source=http://www.htius.com/Articles/r12ham.pdf|free=no|date=July 2016}}
A [[systems philosophy]] formalism for representing the logic of the control of systems, USL is based on a set of axioms of a general systems control theory with formal rules for its application. At the base of every USL system is a set of six axioms and the assumption of a universal set of objects.<ref>[[Margaret Hamilton (scientist)|Hamilton, M.]], "[http://www.htius.com/Articles/ELECTRONIC_DESIGN/INSIDE_DBTF.pdf Inside Development Before the Fact"], cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.</ref><ref>[[Margaret Hamilton (scientist)|Hamilton, M.]], "[http://www.htius.com/Articles/ELECTRONIC_DESIGN/001_A_FULL_LIFE_CYCLE.pdf 001: A FULL LIFE CYCLE SYSTEMS ENGINEERING AND SOFTWARE DEVELOPMENT ENVIRONMENT Development Before The Fact In Action"], cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.</ref> The axioms provide the formal foundation for a USL "hierarchy" – referred to as a map, which is a tree of control that spans networks of relations between objects. Explicit rules for defining a map have been derived from the axioms, where – among other things – structure, behavior, and their integration are captured. Each axiom defines a relation of immediate domination of a parent over its children. The union of these relations is control. Among other things, the axioms establish the relationships of an object for invocation in time and space, input and output (___domain and codomain), input access rights and output access rights (___domain access rights and codomain access rights), error detection and recovery, and ordering during its developmental and operational states. Every system can ultimately be defined in terms of three primitive control structures, each of which is derived from the six axioms – resulting in a universal semantics for defining systems.
 
All representations of a system are defined in terms of a function map (FMap) and a type map (TMap). With USL, all functions in a system and their relationships are defined with a set of FMaps. Similarly, all types in a system and their relationships are defined with a set of TMaps. FMaps represent the dynamic (doing) world of action by capturing functional and temporal (including priority) characteristics. TMaps represent the static (being) world of objects by capturing spatial characteristics – for example, containment of one object by another or relationships between locations of objects in space. FMaps are inherently integrated with TMaps. Three universal primitive structures derived from the set of axioms and non-primitive structures derived ultimately in terms of the primitive structures specify each map. Primitive structures are universal in that they are able to be used to derive new abstract universal structures, functions or types. The process of deriving new objects (i.e., structures, types and functions) is equivalent to the process of deriving new types in a constructive type theory. Primitive functions, corresponding to primitive operations on types defined in a TMap, reside at the bottom nodes of an FMap. Primitive types, each defined by its own set of axioms, reside at the bottom nodes of a TMap. Each primitive function (or type) can be realized as a top node of a map on a lower (more concrete) layer of the system. Resident at every node on a map is the same kind of object (for example, a function on every node of an FMap and a type on a TMap). The object at each node plays multiple roles; for example, the object can serve as a parent (in control of its children) or a child (being controlled by its parent). Whereas each function on an FMap has a ''mapping'' from its input to output (___domain to codomain), each type on a TMap has a ''relation'' between its ___domain and codomain. A structure relates each parent and its children according to the set of rules derived from the axioms of control. A primitive structure provides a relationship of the most primitive form (finest grain) of control. All maps are defined ultimately in terms of the primitive structures and therefore abide by the rules associated with each structure: A parent controls its children to have a dependent (Join), independent (Include), or decision-making relationship (Or).
 
[[Image:ucs rules.png|center|frame|Caption|Figure. 1 The three primitive control structures and their rules form a universal foundation for constructing maps in the domains of time and space as FMaps and TMaps]]
 
Any system can be defined completely using only primitive structures, but less primitive structures defined by and derived from the primitive structures – and therefore governed by the control axioms – accelerate the definition and understanding of a system. The defined structure, a form of template-like reuse, provides a mechanism to define a map without explicitly defining some of its elements. An FMap structure has placeholders for variable functions; a TMap structure has placeholders for variable types; a universal structure has placeholders for functions or types. Async is an example of a real-time, distributed, communicating FMap structure with both asynchronous and synchronous behavior. An example of a TMap structure is TreeOf, a collection of the same type of objects ordered using a tree indexing system. Each TMap structure assumes its own set of possible relations for its parent and children types. Abstract types decomposed with the same TMap structure inherit the same primitive operations and therefore the same behavior (each of which is available to FMaps that have access to members of each of its TMap's types).
 
==Implementation==