- From: Adrian Paschke <adrian.paschke@biotec.tu-dresden.de>
- Date: Sat, 16 Feb 2008 11:49:53 +0100
- To: <public-rif-wg@w3.org>
Hi All, Here Part II, Operational Semantics of Conditions The definition of an operational semantics for production rules is certainly appealing since several reference semantics already exit in literature and many PR engines only discuss an operational semantics. Nevertheless, it is not necessarily the best way, since there have been many different operational semantics implemented, in particular if we also consider negation-as-failure and assert/retract actions - a unifying declarative semantics seems to be the better approach. Also, concerning the structure of the PRD draft, it would be better to define notations and basic terminologies first and then define a general (declarative) semantics for production rule systems (without NAF)m instead of a separated semantics only for conditions with NAF. To define an operational semantics as normative, i.e. to which implementers MUST be compliant (as stated in section 2.2.1) would mean we exclude all other operational semantics. That is very dangerous; then we really need to prove that our normative operational semantics is the most appropriate semantics as compared to all other operational semantics and we need to ensure that it can handle all frequently used, important cases in production rule systems. Looking through the current description of the operational semantics for the condition part, it's not clearly defined and I already missing several things, e.g. with respect to equality, not, treatment of exceptions, variables,. In short, the semantics approach for Production Rules needs a thorough discussion and needs to be defined e.g. to capture the non-deterministic nature of production rule systems in the possible course of actions. 2.2.1. working memory (WM) is never explicitly mentioned only the abbreviation WM is introduced 2.2.2.2. variable bindings only to constants is an oversimplification, even many classical production rule systems support more expressive bindings 2.2.3.1 and 2.2.3.2. the distinction between Uniterm and ExtTerm needs to be discussed, Uniterms could be also defined as ExTerms 2.2.3.3. What about assignments to variables via Equal? Syntactically this would be a minimal approach, otherwise we would need to define a new assignment function and give it a semantics 2.2.3.6. What does it mean in the operational semantics if we now speak of a frame to be true? We have not defined that before, but defined everything in terms of matching against ground values in the WM 2.2.5. beside aggregations and variable-constant bindings further variable bindings need to be supported and semantically defined Part III will follow. Best, Adrian
Received on Saturday, 16 February 2008 10:50:11 UTC