HMI.GLOSSARY Updated: 25.November .2001 (glossary of terms relevant to the HumanMarkup TC) ------------------------------ Introduction ------------ This glossary was created to assist researchers and people who that are interested in the work of the HumanMarkup Technical Committee. We are borrowing the "::" operator sign from C++ to signify "scope resolution" which is taken to be specific to use by the Human Markup Language Specification, and the OASIS HumanMarkup Technical Committee in the process of developing the Human Markup Language Specification. By making working definitions and concepts explicit, researchers will be able to 1) understand the group's current usage of a specific term and 2) be able to propose changes, elaborations, and updates to the glossary words and definitions. If there is a term you would like to add, define, or elaborate, please make a suggestion to humanmarkup-comment@lists.oasis-open.org. Purpose ------- For the purpose of defining the vocabulary of the HumanMarkup Language, apart from its actual use in XML Namespaces, XML Schemata, UML Models, RDF Models and RDF Schemata, This glossary attempts to define the uses of various term found on our website and in our documents. Where appropriate the acronyms XML, RDF, or UML will precede a definition that is specific to those systems or usages. For a more complete view of terms which have specific definitions in various related standards like XML, RDF and UML, see the column headers in our "Table of Classes and Properties" (URL: http:// ) In the further pursuit of our purpose, we will also include brief monographs concerning the usages of our terms and vocabularies where such mongraphs add important information, especially for terms which have many, sometimes conflicting at worst but confusing at best, definitions by various working groups and technical committees of standards organizations and by various disciplines within the academic sphere. -------------------- Glossary Definitions -------------------- Anthropomorphism :: An interpretation of what is not human or personal in terms of human or personal characteristics; example: a non-human entity such as a software agent or 'bot' that is presented as an animated human face or face and body. Note: such representations, whether or actual biological humans, or software agents are commonly called 'avatars.' Construct :: Something constructed especially by mental synthesis; example: a plan to build physical object, a bicycle, represented by another physical object, such as a mechanical drawing of the plan to build the bicycle, built by mentally assembling and integrating sense-data into a mental picture of a plan, the construct, then representing the constuct by creating the first physical object, the plan as a drawing on paper. Note: the construct in this example, the plan, exists prior to and separate from the representation of the construct, the drawing, or the end product, the bicycle. CWM :: Common Warehouse Metamodel; one of the object-oriented, object-based Meta-Language family of specifications and interrelated languages, protocols and services developed by The Object Management Group (OMG http://www.omg.org), aimed in this case at developing a standard for data warehousing that will make interoperability more likely and easier; separate from and unrelated to RDF CWM (See RDF CWM). CWS/CMS :: California Health and Human Services Agency; Data Services Child Welfare Service Case Management System. (Occurs in a UML Use-Case Diagram Example) Domain :: Field or discipline of human activity which HumanML can map to a corresponding database (Not RDF Schema ConstraintProperty); the two primary domains of XML are Publishing and Data Exchange; secondary domains, such as those within HumanML purview, fall within these two primary domains. Monograph: The word domain is both overused and poorly differentiated in those uses. The Dictionary definitions are: 1 territory or land owned and controlled by a single ruler or government; 2 an area or sphere of influence, knowledge, interest or activity, as in the domain of literature; 3 a region with distinct flora or fauna, such as the domain of tall trees; 4 the set of elements to which a mathematical or logical variable is limited. However, in use, it can mean a realm as high and rarefied as the top level of a specific hierarchy of closely related endeavors, or the names of the top levels of several similar such hierarchies, such as Automobile Industry, Airline Industry, Steel Industry, etc, or as low, broad and inclusive Numerical Data or Published Text or as vague as Knowledge Domains. This leads to misunderstanding and misuse, especially in highly technical applications of the terms in standards efforts that overlap. Because this is exactly the kind of misunderstanding, misuse and miscommunication which the HumanMarkup Language Initiative was first conceived to reduce, we will refrain from using such words in the specifications which we produce, and when we must use them, as with the word, domain, we will specify the meaning as clearly as we can, and attempt not to use it where it has a specific definition, such as RDF, except as it is defined in that specification or recommendation. Driver Language :: A High Level Authoring Language (HLAL) which instructs lower level languages by specifying what tasks to accomplish down the chain to an end use. Genre :: Specialized variant Human Markup Language describing specific forms of commonly used human expressions often found in mass communications or presentations, typically in the domains of entertainment and journalism, such as Western Movies, Musical Comedy Theatre, or Prime Time National Network Affiliate Television Newscasts. Grammar :: Collection of Syntax Rules and Recommended Practices that govern the use of a computer language. HLAL (concomittant, LLAL) :: High Level Authoring Language; Low Level Authoring Language. Mongraph: For instance the Human Markup Language is an HLAL which will be used in a specific middleware application which will take input from a website using this chain of languages and applications, translate the Human Markup Tags with their values into a set of string instructions to be sent to the External Authoring Interface of the LLAL, X3D Language (currently VRML97) which will then be used to animate 3D Humanoid Animations (H-Anim) which represent Human individuals or entites in the X3D Website environment. Human/human :: In the Human Markup Language, the word Human with an Upper Case H signifies a self-defined entity that may or may not be an individual human being; a Human may be a software agent or an individual human being; the word human with a lower case h signifies a self-described Human who is also an individual human being. Human Object :: An instance of the Human class corresponding to Human defined above; contains, or is comprised of, characteristics and characteristicSets; the defining element of the Human Markup Language as defined by the Human Markup XML Schema. HumanML:: Official abbreviation for the Human Markup Language Specification. huml :: Official XML Namespace for the Human Markup Language Specification. Interface :: The boundary at which independent systems or entities meet and interact; the connection by which interaction or communication between independent systems or entities takes place. Interpretative Matrix A conceptual visual device to describe how the Human Markup Language is designed to work (url:http:// ); not a computational construct, nor anything other than a description of how HumanMarkup processors would operate in the computational environment of the Internet.] Knowledge Base :: A collection of documents ordered as a database by topics for search and retrieval of relevant information by topics; conceptually, knowledge bases are the foundational units of knowledge management; (Note: Knowledge Management using Knowledge Bases is both very immature as a technology, and not standardized by conventional practice or by a recognized Standards Organization.); operational objective of XML Schema for ISO 13250 Topic Maps where the concept of Knowledge Base is called knowledge domain and which may soon be unified by common practice and a standard through the OASIS Topic Maps Published Subjects Technical Committee, with which the the OASIS HumanMarkup Technical Committee is considering an official liaison. Meta-Language [:: A language designed to be used to construct other languages; literally 'a langauge about languages;' XML, the eXtensible Markup Language is the language being recommended by the W3C as the overall or overarching language of the World Wide Web; the HumanMarkup Language will be derived from XML and will also be a Meta-Language from which other, further, sub-languages, as well as applications will be constructed.] Monograph: The concept of Meta-Languages was developed out of the need for consistent formal systems for building and using existing and future, largely numerical, data information organized into databases which make a wide variety of information available for all the uses of business and society. This gave rise to metadata, or 'data about data.' This came about through the study of systems: What kind of information is in the system? How is it named? How is it formatted? How is it organized? As computing developed, many different kinds of data in different kinds of systems were developed. Similar to the development of programming languages, the database management systems were first designed in ways that led to what is known as 'confetti code' which meant that each instruction or use of data had to written anew each time it was needed and, thus, eventually needed to be thoroughly reorganized along principles of modularity or reuseability and inheritability which first manifested in the practice of writing subroutines which were simple programs that could be reused by 'calling' or instancing them and classes which were concepts representing collections of characteristics or attributes which other classes derived from that baseclass would also have and to which new characteristics or attributes could be added, thereby extending the baseclass. With each specific instance of a class becoming an object, the name object-oriented came to describe this kind of programming, In database management this led to the organization of data in reuseable rows and columns, or matrices known as hashtables which were relatively easy to use and rendered verifiably accurate results whenever used correctly. These were the first relational databases. The ability to retrieve such information led to widespread, but unstandardized, proliferation of such databases that became known as legacy databases. Most of these resided in large mainframe computers which accumulated a great deal of such information over the time period before the rapid increase in computing capacity produced the widespread market penetration of computers today. The large investment which business had made in such systems required that these legacy databases be maintained and perpetuated as the power and storage capacity of computers increased far beyond the capabilities of those earlier mainframe systems, and so the multiplicity of different programming languages for different data storage and retrieval systems prevented large-scale standardization until very recently. It is to create this standardization that Meta-Languages are being developed now. In programming, the many concepts that have been developed for reuseability and modularity have given rise to object-oriented programming and to standardized markup languages which can be used across different platforms and legacy database systems. The storage, searchability and retrievability of different kinds of data about different kinds of 'objects' gave rise to object databases. There is now a continuing effort by many business and academic organizations to create new kinds of object/relational databases which combine the qualities and strengths of both types of databases. Much of this effort comes in the field of repurposing various kinds of content in various kinds of communication media. The potential benefits of object-oriented programming and standardized database management systems is now being realized. What has yet to be realized is the value of making available the contextual information in text, video and audio as databases through the use of markup techniques. This is the core motivation for such efforts as ours in the Human Markup Language Specification(s) effort(s). So, as you can see, there is a great deal more to a Meta-Language than simply its being a "language about languages." Modules :: a self contained unit of combined elements or characteristics that will add greater depth of contextual information as needed; Modules exist only for the named purposes, as a set of operations such InteractionGestures where you could have a Module dedicated to silent instructions like semaphores, as a set of characteristics such as CulturalModules where you could have a set of dietary restrictions like kosher food items. Note: these examples have been given in conversational language rather than code samples so that there can be no mistaking of naming conventions, use of punctuation marks, hyphenation or use of upper and lower case letters. Node :: An intersection of one or more entities; In a tree structure as used in directory or database management and programming, a point where two or more lines or branches of the tree meet; A public interface specification that is a set of related instructions that comprise a unit such as Shape, which is comprised of Geometry and Appearance Nodes which contain description instruction information which can be comprised of further Nodes such as Texture and Color as used in the Virtual Realtiy Modeling Language. Ontology :: From http://www-ksl.stanford.edu/kst/what-is-an-ontology.html "An ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where an Ontology is a systematic account of Existence. For AI systems, what "exists" is that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can be represented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, in the context of AI, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms. Formally, an ontology is the statement of a logical theory." Monograph: The concept of Ontology is a foundation for many disciplines because it stands at the beginning of almost any discipline that seeks to describe how any part of the phenomenological world that we can perceive actually works or operates. Ontology also forms the basis for Knowledge Representation. The Human Markup Language uses the concept of Ontology as the guiding principle for organizing the various taxonomies of related and derivative information together under the ontological framework that logically contains it within the particular kind of usage in which the information is used or presented. RDF (Resource Description Framework) :: A recommendation from the W3C for representing RDF metadata as well as a syntax for encoding and transporting this metadata in a manner that maximizes the interoperability of independently developed Web servers and clients. It provides a data modeling language that can be used to catalog an entire Web site, an HTML page or an element within the page. RDF provides a common way to create metadata about a Web resource. RDF CWM-- Closed World Machine RDF Properties [(see http://www.w3.org/TR/rdf-schema/#s2.2.2) ::] rdf:Property rdf:Property represents the subset of RDF resources that are properties, i.e., all the elements of the set introduced as 'Properties' in section 5 of the Model and Syntax specification [RDFMS] http://www.w3.org/TR/REC-rdf-syntax/. RDF subClass subClass (See http://www.w3.org/TR/rdf-schema/#s2.3.2) :: rdfs:subClassOf this property specifies a subset/superset relation between classes. The rdfs:subClassOf property is transitive. If class A is a subclass of some broader class B, and B is a subclass of C, then A is also implicitly a subclass of C. Consequently, resources that are instances of class A will also be instances of C, since A is a sub-set of both B and C. Only instances of rdfs:Class can have the rdfs:subClassOf property and the property value is always of rdf:type rdfs:Class. A class may be a subclass of more than one class. Redefinable components -- The various use of parameter entities in the HTML DTDs were analyzed to discover how they were being used. Various categories were introduced to handle the different uses: in the case of DTDs these are still implemented using parameter entities, but with a convention the parameter entity names have a suffix giving their category. In an W3C XML Schema implementation, many of the categories have more direct analogs. The categories include:.content for general content models .class for substitution groups .mix for mixed content models .attrib for attribute groups Representation - a method of making something visible, clearer, and more explicit. HumanMarkup will use various types of visual, audio, and spatial representations of internal states, contexts, and other human communication traits. Sign [(Semiotics: http://www.aber.ac.uk/media/Documents/S4B/sem-gloss.html#S) :: " A sign is a meaningful unit which is interpreted as 'standing for' something other than itself. Signs are found in the physical form of words, images, sounds, acts or objects (this physical form is sometimes known as the sign vehicle). Signs have no intrinsic meaning and become signs only when sign-users invest them with meaning with reference to a recognized code. Semiotics is the study of signs."; HumanMarkup will ensure visual, verbal, and nonverbal signs are made explicit via XML]. (Note: Because they do not actually appear in the literature, which subsumes the concepts, I am deleting Signal and Symbol. I plead guilty to having turned a blind eye to this all along, allowing a cognitive disorder of some type to make me ignore this continuing misuse of terms not actually used in semiotics. I think I just went along because explaining all this is a major pain, but now I think we can and ought to do better, even when it just means citing the resource and leaving the reader to do their own investigation of the topic.) Signified (Semiotics http://pespmc1.vub.ac.be/SEMIOTER.html#Signifier) :: "That part of a sign which is stood for by the signifier. Sometimes thought of as the meaning of the signifier"; the referent or the thing which a sign, usually a word, symbolizes. Signifier (Semiotics http://pespmc1.vub.ac.be/SEMIOTER.html#Signifier) :: "That part of a sign which stands for the signified, for example a word or a DNA codon"; usually a word; sometimes thought of as a symbol. Stereotypes :: At the time of this draft, because in UML Stereotypes are specific constraints or sets of constraints, HumanMarkup has not yet decided either to reserve its use of this term to that narrow interpretation, or to modify the term in some way with a prefix, suffix, another word making a compound term or some other modifier to indicate our specific interpretation, for other specific uses of this term which has so many associations in the human sphere. Syntax :: The rules governing the grammatical structure of a language and thereby the way in which it can be used; Human Markup Language Syntax will be that of XML, RDF, and in practical use, as opposed to rules of functionality, UML for the purpose of useability and interoperability. Monograph: The secondary definition contains a constraint with respect to UML, which has its own extensive set of rules and conditions which apply to it when it uses any other language, but which does not necessarily include a commutative relationship or associative relationshp with that other language, which in our case with the Human Markup Language requires this distinction. The rules that apply to using UML to build code in languages like Java and C++ when using Humanmarkup, do not apply to Human Markup beyond that specific use. Term :: A word or phrase that names something, especially in a particular field. The Human Markup Language attempts to add contextual depth of meaning beyond the typical use of common terms and terminology. Token (Semiotics http://pespmc1.vub.ac.be/SEMIOTER.html#Signifier) :: "The physical entity or marker which manifests the signifer by standing for the signified"; usually a word. UML actor (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a coherent set of roles those users of use cases play when interacting with these (UML) use cases." UML aggregation (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "A special form of association that specifies a whole-part relationship between the aggregate (whole) and the component part." UML association (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a relationship between two or more classifiers that involves connections among their instances." UML Class (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a description of a set of objects that share the same attributes, operations, methods, relationships, and semantics." UML component (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a modular, replaceable, and significant part of a system that packages implementation and exposes a set of interfaces." UML constraint (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a semantic condition or restriction." UML CWM -- Common Warehouse Metamodel UML dependency (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a relationship between two modeling elements, in which a change to one modeling element (the indep. element) will affect the other modeling element (the dependent element)" UML extend (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "A relationship from an extension use-case to a base use case, specifying how the behavior for the extension use case can be inserted into the behavior defined for the base use-case." UML generalization (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a taxonomic relationship between a more general and a more specific element." UML include (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "An relationship from a base use case to an inclusion use-case, specifying how the behavior for the inclusion use-case is inserted into the behavior defined for the base use case." UML Interface (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a named set of operations that characterize the behavior of an element"; HumanMarkup-Specific Interfaces :: are classes that function as operators to access, define, include, exclude or make clear relationships between other classes when a program is written using those other classes as opposed to building a Module. UML node (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a run- time physical object that represents a computational resource." UML realization (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: a relationship between a specification and its implementation." UML Stereotypes (Tutorial 3 , http://www.celigent.com/omg/umlrtf/tutorials.htm) :: " ¥ Used to define specialized model elements based on a core UML model element ¥ Defined by: ¥ Base metaclasses ¥ Constraints ¥ required tags (supplying required values) ¥ icon (model specific) ¥ A model element can be stereotyped in multiple different ways"; usually a class typified by a specialization constraint which usually requires a value, a Boolean, number, string, etc, such as an Actor, where an Instance of the Human Class with a required Name participates in a Use-Case, or an Interface which is special kind of Class that gives access to other Classes in a Package. Monograph: This is the UML-specific definition of the term, Stereotype. As stated earlier, this term has many meanings in different human social contexts and in different academic disciplines. As with the term, Domain, this term, Stereotype may be given a HumanMarkup-specific definition at some point, and a consistent method to distinguish the context from which or in which it is used in textual or anecdotal documents may be needed. UML Use-Case Analysis :: An object-oriented method for designing information systems by breaking down requirements into user functions. Each use case is a transaction or sequence of events performed by the user. Use cases are studied to determine what objects are required to accomplish them and how they interact with other objects. UML use case modeling (Tutorial 1, http://www.celigent.com/omg/umlrtf/tutorials.htm) :: "a view of a system that emphasizesthe behavior as it appears to outside users. A use case model partitions system functionality into transactions ('use case') that are meaningful to users ('actors')." UML(Unified Modeling Language) - An object-oriented analysis and design language from the Object Management Group (OMG). Many design methodologies for describing object-oriented systems were developed in the late 1980s. UML standardizes several diagramming methods, including Grady Booch's work at Rational Software, Rumbaugh's Object Modeling Technique and Ivar Jacobson's work on use cases. There are nine kinds of diagrams that are supported under UML. See: http://www.omg.org/technology/documents/formal/uml.htm Vocabulary (http://www.webopedia.com/TERM/programming_language.html) :: programming language :: "A Vocabulary and set of grammatical rules for instructing a computer to perform specific tasks."; the words of a language; the words or phrases used by or familiar to a particular person or group of people. Monograph: It is necessary for the purposes of the Human Markup Language to first define vocabulary in the specific use of a computer language, then in its broadest sense within the context of language in general, or linguistics, and finally in the sense that we are striving to clarify most, the familiar. We must not lose sight, in the first definition, of the fact that although we are trying to improve the fidelity of human communications, it is specifically within the context of digital information systems, the computer, so those are the first rules that apply and that we must be kept in mind. In the second place, we must understand that vocabulary means all the words of a language, or in our widest applications, all the words in all human languages. This should be taken into consideration for if we are not duly daunted by the scope of our work, we are susceptible to the hubris of believing that we can adequately attend to all of the tasks we have set for ourselves. We can't, but the effort needs to be made in light of the fact that we must find a way to engage the assistance of as much of humanity's collective mind as we can attract to our task. Lastly, after first taking the most narrow view, and then the most wide, we need to settle on the most approachable, familiar and practical, the commonplace use of language in the commonplace, everyday world where we hope to improve the common everyday communication of humanity as it is carried out on the internet mostly, and in information systems used widely and commonly in uses such as businesses, governments and social institutions. XML Application :: Software engineered using XML as the basis. XML datatypes :: http://www.w3.org/TR/xmlschema-2/ XML Infosets :: http://www.w3.org/TR/xml-infoset/ XML Namespaces (http://www.w3.org/TR/REC-xml-names/) :: "[Definition:] An XML namespace is a collection of names, identified by a URI reference [RFC2396], which are used in XML documents as element types and attribute names. XML namespaces differ from the "namespaces" conventionally used in computing disciplines in that the XML version has internal structure and is not, mathematically speaking, a set." Disclaimer: This is glossary is in the process of being updated constantly. Please post your submissions to the HumanMarkup Comments discussion board. humanmarkup-comment@lists.oasis-open.org.