- From: Ginsberg, Allen <AGINSBERG@imc.mitre.org>
- Date: Tue, 3 Jan 2006 17:59:45 -0500
- To: <public-rif-wg@w3.org>
Dear RIF-WGers, First of all, best wishes for a happy new year! I wanted to clarify and expand on the remarks I made on the conference call today concerning the process of analyzing use cases. I apologize for the length of this message, but as a co-editor of the document I feel it is important to not only share my thoughts, but also explain how I see them relating to the mission of the WG as stated in the charter. Here is a key passage about the UC&R document in the WG charter: ..."Use Cases and Requirements" document, containing description and analysis of the rule use cases of interest to Working Group members. Each use case should be connected with the features/requirements it motivates and the phasing of those features. (SECTION 2.1) The second sentence in this quote suggests the idea of coming up with a way of classifying features/requirements into categories and then using that classification to organize the use cases, rather than the other way around. An advantage of this approach is that it provides a way of getting some kind of top-level organization on a very large set of use cases that is daunting to tackle using a bottom-up approach. Another reason I present this approach is because it helps to focus attention on the crucial question, What exactly is the RIF? Is the RIF "just" a rule language, albeit one that provides a well-reasoned standard, or is the RIF more than that? And, if so, what is the "more?" To see why this question arises, consider two key quotes from the RIF-WG charter. Here they are: This Working Group is chartered to produce a core rule language plus extensions which together allow rules to be translated between rule languages and thus transferred between rule systems. (ABSTRACT) The Working Group is to specify a format for rules, so they can be used across diverse systems. This format (or language) will function as an interlingua into which established and new rule languages can be mapped, allowing rules written for one application to be published, shared, and re-used in other applications and other rule engines. (SECTION 1) (It is worth noting that the RIF-WG charter allows for the possibility of extensions of the core that "need not all be combinable into a single unified language." (SECTION 1) So even if the RIF standard comes to be widely adopted, it is likely that different "dialects" of RIF-based rule languages will emerge and therefore the need for translation mentioned in the above quotes would still arise.) One could argue that the existence of a good core standard with the right set of extensions should make it possible for anyone with the appropriate background to figure out how to translate rules written in one logical paradigm into the standard (and then re-translate the result into other logical paradigms). So there is no need for "more" (at least as concerns translation). But one could also argue that a good rule standard together with a good standard for specifying semantics and inference-engine paradigms should make it possible for such translations to be done by machine according to a standard. So at least some of the "more" that could be part of the overall RIF specification is whatever features would be necessary to enable (some degree of) standard-based mechanized rule translation either between non-RIF languages and RIF, or between different RIF dialects. Looking over the use cases that have been submitted, it seems that a fair number imply a view of the RIF specification as involving something "more" than a rule language. Not all of these use cases are stated explicitly in terms of the issue of "translate and transfer," but many do talk about properties of rules that would be important to take into account in attempting to share rules. The point is that there is a big difference between a rule-language feature, e.g., use of classical negation, and a feature that allows one to represent or talk ABOUT such features. The latter are "metalinguistic" or "meta-level" features, since they are not part of the rule language as such. Based on these considerations, below is a proposed top-level breakdown of use cases into 3 categories according to the nature of the requirements they embody: 1) requirements on the rule-language itself, 2) requirements on aspects of the specification that provide information ABOUT rules (meta-level features), and 3) requirements on aspects of the specification that relate to enabling interchange of rules. In each case I have provided example requirements that are drawn (or extrapolated) from use cases submitted on the WIKI. I have sorted a number of the use cases in the WIKI into these categories. Of course, some use cases fall into more than one category. That is not a problem, since the main goal is to come up with requirements and the use cases that motivate them, not to classify use cases into disjoint categories. The main issue that needs to be addressed is whether the WG endorses the view of the RIF specification as incorporating metalinguistic features and interchange-enabling features in addition to rule-language features. THREE CATEGORIES OF REQUIREMENTS 1) Use Cases that embody or generate requirements for specific rule-language features in the RIF standard. These UCs illustrate how an application depends upon executable rules having a particular feature. Example requirements: 1) The RIF rule language must allow propositions and rules to have a floating point number in the range [0,1] associated with them in some fashion so that reasoning under uncertainty can be accommodated. 2) The RIF rule language must allow rules to be given labels and allow propositions that express the relative priority of two labeled rules to be represented in some fashion so that complex policies or preferences can be handled without making the bodies of rules overly complex. 3) The RIF rule language must allow propositions and rule elements to refer and/or incorporate pre-existing elements defined in RDF/RDFS, and OWL documents so that these elements do not need to be redefined just for the purpose of being included in rules. 2) Use Cases that embody or generate requirements for meta-level features of the RIF specification These UCs illustrate how an application or process depends upon the ability of systems to share information ABOUT the information encoded in rules. (NOTE: Such features may be seen as being at the "meta-level" because they do not specify anything about the syntax or semantics of rules themselves, but instead provide ways of expressing properties of rules or rule systems.) Example requirements: 1) The RIF specification must provide a way to encode the intended semantic interpretation of a set of rules, so that systems based on different logical paradigms can determine how to best represent and use the information contained in the rules. 1.1) The RIF specification must provide a way for rules to be classified as belonging to certain categories, for example, "deductive," "reactive", etc. (And the RIF specification must also make it possible to express exactly what is meant by such categories.) 1.2) The RIF specification must provide a way for expressing the fact that a rule-set is intended to be used in conjunction with a "Closed World Assumption." (And the RIF specification must also make it possible to express exactly what is meant be such an assumption.) 3) Use Cases that embody or generate requirements for interchange-enabling features of the RIF specification These UCs illustrate how an application or process depends upon the ability of systems to share rules, where this sharing can be anything from a literal "exchange" (copying without any changes) or something that involves intermediate processing. (NOTE: There is clearly a relationship between this category and category 2: meta-level features that enable sharing information ABOUT rule properties should make it easier to interchange rules among diverse rule-systems. However, as the examples below illustrate, interchange-enabling features need not be meta-level features, but can also belong to the rule-language itself. So why not include these under category 1? The reason goes back to the emphasis placed on interchange of rules in the RIF WG charter, which seems to justify having a separate category for these features.) Example requirements: 1) The RIF specification must provide a way for a rule using scoped features (e.g., scoped negation-as-failure) to dynamically bind the scope during rule execution taking account of the local context. 2) The RIF specification must provide a way for the terms in a rule to be linked to corresponding terms in another vocabulary (including natural language) in such a way that an equivalent representation of the rule in the other vocabulary can be constructed from the original rule. 3) The RIF specification must provide a way for the execution of a rule to cause designated remote rule-sets to be dynamically imported into the current rule-execution context. Allen _______________________________________________________________ Dr. Allen Ginsberg The MITRE Corporation, Information Semantics aginsberg@mitre.org Center for Innovative Computing & Informatics Voice: 703-983-1604 7515 Colshire Drive, M/S H305 Fax: 703-983-1379 McLean, VA 22102-7508, USA
Received on Tuesday, 3 January 2006 22:59:53 UTC