Download presentation
Presentation is loading. Please wait.
Published byBruce Shaw Modified over 8 years ago
1
CHROME-REF CHR v Online Model-driven Engine with Reasoning Explanation Facilities INRIA / UFPE Rafael Oliveira – Rafael.Oliveira@inria.fr Jacques Robin - robin.jacques@gmail.com Pierre Deransart - Pierre.Deransart@inria.fr Rocquencourt, France October 28, 2009
2
Agenda Separation of concerns (CHROME-REF Project) ▫ Engine, Extraction, Driver and Analyzer Generic CHR v Trace Schema for Debugging Trace Driver Trace Analyzer Conclusion Future Works
3
Separation of Concerns CHR ECLiPSe Prolog CHR ECLiPSe Prolog CHR SWI Prolog CHR SWI Prolog CHR SICStus Prolog CHR SICStus Prolog Debugging Tool …… At present, there exists a number of useful debugging tools for CHR Tools were designed and implemented in a specific way for each solver Each implementation results in a set of one-to-one specialized connections between a solver and its tools
4
Separation of Concerns CHR Trace Schema CHR Trace Schema CHR Trace CHR Trace Analyzer Trace Meta-Theory... Flexible Portable Extraction CHR ECLiPSe Prolog CHR ECLiPSe Prolog CHR SWI Prolog CHR SWI Prolog CHR SICStus Prolog CHR SICStus Prolog … Extraction query Driver
5
CHROME-REF Project Engine CHROME engine a compiler that take a CHR base into imperative Java objects MDE approach during its process of compilation by means of ATL transformations. Extraction Theoretical Operational Semantics ω t Integration (ω t + CHROME) Generic CHRv Trace Schema for Debugging Driver A processor, on the fly, of traces events according to the query requested by the analyzer. Analyzer Debugging Tool
6
CHROME-REF Project Engine CHROME engine a compiler that take a CHR base into imperative Java objects MDE approach during its process of compilation by means of ATL transformations. Extraction Theoretical Operational Semantics ω t Integration (ω t + CHROME) Generic CHRv Trace Schema for Debugging Driver A processor, on the fly, of traces events according to the query requested by the analyzer. Analyzer Debugging Tool
7
Generic CHR v Trace Schema for Debugging A generic trace enables any tool to be defined almost independently The trace syntax is represented using an XML Schema A trace instance is encoded in an XML format according to this XML Schema and follows the described semantics.
8
EIntroduce Etrace label:String Etrace label:String EApply ESolve EFail EInitialState Goal BIC UDC * Rule Built-ins * Generic CHR v Trace Schema for Debugging Class Diagram
9
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://orcas.org.br/chrv" xmlns="http://orcas.org.br/chrv" elementFormDefault="qualified">... Generic CHR v Trace Schema for Debugging XML Schema
10
Trace Driver A processor, on the fly, of traces events according to the query requested by the analyzer. 3 Services ▫ Register Analyzer ▫ Notify Analyzer ▫ Update Filter
11
Trace Driver A processor, on the fly, of traces events according to the query requested by the analyzer. 3 Services ▫ Register Analyzer ▫ Notify Analyzer ▫ Update Filter CHROME sends trace events register, filter and notify analyzers
12
Trace Driver
14
context TraceDriver::registerAnalyzer(a:Analyzer) post: analyzer->includes(d) context TraceDriver::notifyDriver(eTrace:ETrace) post: analyzers->forAll(a | a^notification(filterTrace(a.request, eTrace))) context TraceDriver::updateFilter(a:Analyzer, request:Request) post: a.request = request Trace Driver
15
Trace Analyzer Requirements ▫ A graphical environment component for writing and analyzing CHR v programs ▫ User may ask for more information about the current event ▫ The execution can be blocked until the analyzer notify it that it can proceed
16
Trace Analyzer
18
Conclusion
19
Any questions?
20
References 1.V ITORINO, J. Model-Driven Engineering a Versatile, Extensible, Scalable Rule Engine through Component Assembly and Model Transformations. Universidade Federal de Pernambuco. CIn. Ciência da Computação, 2009. 2.D UCK, G., S TUCKEY, P., D E L A B ANDA, M., and H OLZABAUR, C. The refined operational semantics of Constraint Handling Rules. Lecture notes in computer science (2004), 90–104.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.