About WG I1
Models, specifications and programs defining and/or implementing various forms of reasoning for (Semantic) Web applications have, like data, to be exchanged on the Web. Therefore, a Web reasoning language requires a markup, i.e. a syntax that complies with certain conditions, in particular:
- the "markup syntax" must be term-oriented, i.e. formally expressible by a tree grammar
- the "markup syntax" must be an XML application
These conditions can be realised in rather different ways as the proliferation of "markup styles" for programming, modelling, query, and transformation languages illustrate. E.g. the differences and the commonalities in the markups of the closely related query and/or transformation languages Xquery and XSLT are good examples of stylistic differences in markups.
Differences in the markup of related Web languages complicate the use of these languages by both human users and computer systems. In particular, differences in markups often complicate the development of software tools that have to support several (related) languages.
In spite of the large number of markup languages for the Web and for the Semantic Web, there is still little knowledge on how to define the markup of such languages. The WG I1 on "rule markup languages" aims at gathering such knowledge for Web reasoning languages. Preliminary work on this problem suggests that there are a number of issues related to the characteristics of the Web, such as using uniform resource identifiers (URIs) for various purposes or integrating distributed remote knowledge sources, which are typically not considered in more traditional reasoning languages.
Models, and modeling languages, are a particularly important means of investigating analysis and design problems. For analyzing and designing the rules of a rule-based Web application we need a rule modeling language based on a general language for information modeling. The design of a Web rule language, however, is a meta-modeling problem. In our efforts to identify design principles for rule markup languages, we plan to investigate rule-modeling languages, in combination with information modeling languages such as Object-Role Modeling (ORM) and the Unified Modeling Language (UML). We follow the model-driven software engineering approach (MDA) proposed by the Object Management Group (OMG), where an initial semi-formal ('computation-independent') business/domain model is first refined and transformed into a ('platform-independent') logical design model, corresponding to an executable specification, and then into a ('platform-specific') efficient implementation model.
In WG I1, we focus on the first two levels of the MDA, that is, on business/domain models and on logical design models. An XML markup of such models should come with a suitable markup of the embedded rules. Although the OMG has defined a markup language for UML models, this language does not markup embedded integrity constraints expressed in the Object Constraint Language (OCL). A proposal for marking up rules of ORM models is.
Business/domain models are used in the communication between business/domain analysts and business/domain experts for analysing and documenting system requirements. Consequently, the modelling language used must not be 'technical', but should allow (semi-)visual and/or natural-language-like rule expressions, which can be understood by business/domain experts without extensive technical training. Both ORM and UML offer a semi-visual (diagrammatic) language for information modelling allowing a limited number of embedded rule types (in particular, integrity constraints and derivation rules, cf.).
ORM also offers the possibility to 'verbalise' rules, that is, to express them in a well-defined sub-set of full English that can be unambiguously translated into first-order logic (or other appropriate formalisms). Being able to express a rule in such a controlled natural language is of particular importance in those cases where the rule cannot be visualised within a model diagram in a satisfactory way. An important example of such a language is ACE. Also, many business rule systems, such as ILOG Jrules or Mandarax, have this capability for facilitating the communication between business rule analysts and business experts.
For the purposes of this working group, we need to make certain extensions to the information modelling language(s) used in order to be able to account for the rule types needed in REWERSE. The resulting rule modelling language will help us in the process of unifying the syntax and markup of the Web reasoning languages developed in the other REWERSE working groups. This is expected to require an iterative process based on mutual interactions between WG I1 and the other working groups. Case studies, based on requirements analysis and domain modelling, will be important means to facilitate this process. For obtaining a coherent markup, the syntax and semantics of the REWERSE reasoning languages have to be harmonised. A unified syntax and markup is also essential for lowering the burden of building software development tools. Distinguishing between core constructs and advanced constructs in the languages will allow to define compliance levels, which ease their use for tool builders and application developers.
The working group's activities build upon and extend the work of the RuleML initiative (cf. http://www.ruleml.org ). However, REWERSE and the RuleML initiative are independent structures with independent, although inter-related, objectives. While the overall objective of REWERSE is to integrate a group of researchers and professionals so as to develop a coherent collection of heterogeneous reasoning languages for the Semantic Web, the main objective of the RuleML initiative is to trigger activities within the Web standardisation communities for establishing a Web rule language standard.
In summary, the WG aims at
- developing visual rule modelling languages, accompanied by suitable markup languages;
- unifying the syntax and markup of the collection of reasoning languages developed in REWERSE;
- aligning the syntax and markup of reasoning languages developed in REWERSE with other Semantic Web proposals or standards, in particular with RuleML.
- building software development tools, e.g. for rule modelling, to be used with the reasoning languages developed in REWERSE.
The Working Group will also actively participate in business rules standardisation efforts, such as the OMG Business Rules Working Group, and communicate with business rules technology vendors for harmonising its efforts with their activities and for promoting the ideas and outcomes of REWERSE.