Como projetar uma linguagem geral para marcação de regras “How to Design a General Rule Markup Language” Gerd Wagner Como são usadas as regras Regras do negócio Regras de integridade Regras de “derivação” Regras de Reação Atribuição diatônica Regras em UML/OCL Regras em SQL Regras em CLIPS/Jess e PROLOG Componentes baseados em regras Módulos baseados em regras em aplicações Comuns Regras em protótipos acadêmicos Sistemas de regras de código aberto Sintaxe Abstrata X Concreta Casos de uso Documentação de regras de negócios Enriquecimento de ontologias na web Formulários web Preferências de privacidade Intercambio de regras de controle de acesso Intercambio de regras de e-mail Intercambio de conhecimento Especificação declarativa de agentes Objetivos de projeto Balanceamento de expressividade e relevância prática Integrar todos os padrões relevantes relacionados Ainda.... Suportar conjuntos de fatos muito grandes Suportar informação distribuída Suportar tanto informação completa como informação incompleta Suportar vários tipos de fatos e regras Qualificada por tempo Incerteza Qualificada por confiabilidade Requisitos Regras e conjuntos de regras como objetos diferentes Incluir restrições de integridade, regras de derivação e regras de reação Proporcionar mapeamentos para OCL, SQL e Prolog Suportar referencia e interoperabilidade com ontologias na web Permitir que fatos sejam recuperados de fontes de dados secundárias Permitir que fatos sejam recuperados de fontes de múltiplas e possivelmente remotas Suportar predicados completos, negação por falha e negação forte The Open RuleML Standard for Semantic Web Rule Interchange Harold Boley Harold Boley NRC IIT e-Business NRC IIT e-Business MOST Workshop - Maritimes Open Source Technologies MOST Workshop - Maritimes Open Source Technologies Université de Moncton Université de Moncton Nov 10, 2004 Nov 10, 2004 Introduction Rules are part of the Semantic Web Rule interchange in an open format is important for e-Business RuleML is the de facto open language standard for rule interchange/markup Collaborating with W3C, OMG, and/other standards/gov'nt bodies RuleML Enables ... modelling markup translation Rule 16 interchange in execution publication archiving UML RDF XML ASCII Business Rule: Positional ''The discount for a customer buying a product is 5 percent if the customer is premium and the product is regular.'' Implies head body Atom And Atom discoun t Rel customer Var product Var Atom 5.0 Ind premium Rel customer Var regular Rel product Var <Implies> <head> <Atom> <Rel>discount</Rel> <Var>customer</Var> <Var>product</Var> <Ind>5.0</Ind> </Atom> </head> <body> <And> <Atom> <Rel>premium</Rel> <Var>customer</Var> </Atom> <Atom> <Rel>regular</Rel> <Var>product</Var> </Atom> </And> </body> </Implies> Implies head body Atom And Atom discount Rel customer Var product Atom 5.0 Var Ind premium Rel customer Var regular product Rel Var <Implies> <head> <Atom> <Rel>discount</Rel> <Var>customer</Var> <Var>product</Var> <Ind>5.0</Ind> </Atom> </head> <body> <And> <Atom> <Rel>premium</Rel> <Var>customer</Var> </Atom> <Atom> <Rel>regular</Rel> <Var>product</Var> </Atom> </And> </body> </Implies>