526 research outputs found

    Query-Based Multicontexts for Knowledge Base Browsing

    Get PDF

    Automated Rule-Based Selection and Instantiation of Layout Templates for Widget-Based Microsites

    Get PDF
    Veebi avatud arhitektuuron loonud soodsa pinnase veebisolevate andmete kasutamiseks nii keerulisemates kui lihtsamates veebirakendustes. Andmete kogumise ja visualiseerimise lihtsustamiseks lihtsates veebirakendustes on loodud hulganisti tööriistu, mille seas on ka mashup'ide loomise tööriistad. Olemasolevate tööriistadega kõrge kasutatavusega mashup veebilehe loomine võib aga paraku olla keerukas, kuna nõuab erinevate tehnoloogiate ning programmeerimiskeelte tundmist, rääkimata kasutatavuse juhtnööridega kursisolemist. Kuigi osad mashup'ide platvormid, a'la OpenAjax Hub, lihtsustavad olemasolevate komponentide kombineerimist, on lahendamata probleemiks siiani nende rakenduste kasutatavus. Käesolev magistritöö kirjeldab reeglipõhist lahendust andmete visualiseerimise vidinate jaoks sobiva veebilehe malli automaatseks valimiseks vastavalt enimlevinud veebilehtede kasutatavuse juhtnööridele. Selleks laetakse vidinate ning struktuurimallide kirjeldused koos kasutatavuse juhtnööridest saadud reeglitega reeglimootorisse ning kasutatakse reeglimootorit ekspertsüsteemina, mis soovitab sobivamaid malle vastavalt etteantud vidinate komplektile. Lahenduse reeglipõhine ülesehitus võimaldab uute vidinate ning mallide lisandumisel või juhtnööride muutumisel operatiivselt reageerida nendele muutustele reeglibaasi täiendamise kaudu. Väljapakutud lahendus realiseeriti käesoleva töö raames Auto Microsite rakendusena, mis koosneb serveri- ning kliendipoolsest osast. Serveri poolel toimub reeglite abil vidinate komplekti visualiseerimiseks sobiva malli valimine kasutades OO jDREW RuleML reeglimootorit ning rakenduse paketeerimiseks koodi genereerimine. Kliendi poolel kasutatakse OpenAjax Hub raamistikkuvidinate turvaliseks eraldamiseks ning omavahel suhtlemapanemisel. Samuti on kliendi poolel lahendatud genereeritud veebilehe vastavusse viimine brauseri võimalustega. Katsetamaks Auto Microsite rakendust praktikas loodi seda kasutades realisatsioonid kahele lihtsale stsenaariumile. Esimesel juhul viusaliseeriti Euroopa 1997-2008 tööjõukulude (Hourly labour costs in Euros (European Union 1997-2008) ing. k.) andmeid kaardi, tabeli, kokkuvõtte ja menüü vidinatega. Teisel juhul kasutati lisaks andmete visualiseerimise vidinatele ka väliseid andmeallikaid, mis olid realiseeritud mittevisuaalsete vidinatena. Saadud andmed visualiseeriti kahe tabeli ning ühe kaardi vidinaga. Näidisveebilehtede loomise tulemusena järeldub, et rakendus sobib lihtsate veebilehtede loomiseks. Lisaks on võimalik lahendust täiendada keerukamate veebirakenduste automaatseks loomiseks läbi vastavate mallide ning reeglite lisamise.This thesis proposes a rule-based widget and layout template matchmaking solution for widget-based microsites. The solution takes as an input a set of widget descriptions and a set of layout templates with widget placeholders and returns a microsite, where the most suitable template has been instantiated with corresponding widgets. Matchmaking is based on applying a rule engine to metadata of widgets and placeholders about their content categories and dimensions,. Additional usability rules are used to further improve the results with respect to commonly accepted usability guidelines. Such a solution makes it possible to modularly enhance the usability results in the future simply by adding new usability rules and layout templates. Furthermore, the solution can be applied in mashup creation tools for layout selection. The proposed solution has been implemented and is called Auto Microsite in this thesis. The system consists of a server-side and a client-side component. The server-side component matches widgets with layout template placeholders according to the given rules by using the OO jDREW RuleML engine. The client-side is responsible for presenting the mashup appropriately for the client device. The latter is based on OpenAjax Hub 2.0 framework, which enables secure sandboxing and communication of widgets in the generated microsite. Furthermore, OpenAjax Metadata 1.0 specification is used in this thesis to package the widgets such that they could be easily reused. In order to evaluate the Auto Microsite system in practice two proof of concept (PoC) scenarios were implemented. The first scenario visualized "Hourly labour costs in Euros (European Union 1997-2008)" data using widgets for a map, a table and a summary. In the second scenario, also data was queried through a SOAP service and a Web site. In the scenario data was visualized using two table widgets and a map widget. The SOAP service and queries to the Web site were packaged as non-visual widgets to fit the framework. The POCs demonstrate that the Auto Microsite system is able to construct widget-based microsites. Furthermore, the framework is capable of constructing also more complex Web applications, with several pages and more content widgets, by adding new rules and templates

    Better Together: Unifying Datalog and Equality Saturation

    Full text link
    We present egglog, a fixpoint reasoning system that unifies Datalog and equality saturation (EqSat). Like Datalog, it supports efficient incremental execution, cooperating analyses, and lattice-based reasoning. Like EqSat, it supports term rewriting, efficient congruence closure, and extraction of optimized terms. We identify two recent applications--a unification-based pointer analysis in Datalog and an EqSat-based floating-point term rewriter--that have been hampered by features missing from Datalog but found in EqSat or vice-versa. We evaluate egglog by reimplementing those projects in egglog. The resulting systems in egglog are faster, simpler, and fix bugs found in the original systems.Comment: PLDI 202

    Proceedings of the 3rd Workshop on Domain-Specific Language Design and Implementation (DSLDI 2015)

    Full text link
    The goal of the DSLDI workshop is to bring together researchers and practitioners interested in sharing ideas on how DSLs should be designed, implemented, supported by tools, and applied in realistic application contexts. We are both interested in discovering how already known domains such as graph processing or machine learning can be best supported by DSLs, but also in exploring new domains that could be targeted by DSLs. More generally, we are interested in building a community that can drive forward the development of modern DSLs. These informal post-proceedings contain the submitted talk abstracts to the 3rd DSLDI workshop (DSLDI'15), and a summary of the panel discussion on Language Composition

    On the Practice and Application of Context-Free Language Reachability

    Get PDF
    The Context-Free Language Reachability (CFL-R) formalism relates to some of the most important computational problems facing researchers and industry practitioners. CFL-R is a generalisation of graph reachability and language recognition, such that pairs in a labelled graph are reachable if and only if there is a path between them whose labels, joined together in the order they were encountered, spell a word in a given context-free language. The formalism finds particular use as a vehicle for phrasing and reasoning about program analysis, since complex relationships within the data, logic or structure of computer programs are easily expressed and discovered in CFL-R. Unfortunately, The potential of CFL-R can not be met by state of the art solvers. Current algorithms have scalability and expressibility issues that prevent them from being used on large graph instances or complex grammars. This work outlines our efforts in understanding the practical concerns surrounding CFL-R, and applying this knowledge to improve the performance of CFL-R applications. We examine the major difficulties with solving CFL-R-based analyses at-scale, via a case-study of points-to analysis as a CFL-R problem. Points-to analysis is fundamentally important to many modern research and industry efforts, and is relevant to optimisation, bug-checking and security technologies. Our understanding of the scalability challenge motivates work in developing practical CFL-R techniques. We present improved evaluation algorithms and declarative optimisation techniques for CFL-R, capitalising on the simplicity of CFL-R to creating fully automatic methodologies. The culmination of our work is a general-purpose and high-performance tool called Cauliflower, a solver-generator for CFL-R problems. We describe Cauliflower and evaluate its performance experimentally, showing significant improvement over alternative general techniques

    Kant's cognitive architecture

    Get PDF
    Imagine a machine, equipped with sensors, receiving a stream of sensory information. It must, somehow, make sense of this stream of sensory data. But what, exactly, does this involve? We have an intuitive understanding of what is involved in “making sense” of sensory data – but can we specify precisely what is involved? Can this intuitive notion be formalized? In this thesis, we make three contributions. First, we provide a precise formalization of what it means to “make sense” of a sensory sequence. According to our definition, making sense means constructing a symbolic causal theory that explains the sensory sequence and satisfies a set of unity conditions that were inspired by Kant’s discussion in the first half of the Critique of Pure Reason. According to our interpretation, making sense of sensory input is a type of program synthesis, but it is unsupervised program synthesis. Our second contribution is a computer implementation, the Apperception Engine, that was designed to satisfy our requirements for making sense of a sensory sequence. Our system is able to produce interpretable human-readable causal theories from very small amounts of data, because of the strong inductive bias provided by the Kantian unity constraints. A causal theory produced by our system is able to predict future sensor readings, as well as retrodict earlier readings, and impute missing sensory readings. In fact, it is able to do all three tasks simultaneously. The engine is implemented in Answer Set Programming (ASP) and induces theories expressed in an extension of Datalog that includes causal rules and constraints. We test the engine in a diverse variety of domains, including cellular automata, rhythms and simple nursery tunes, multi-modal binding problems, occlusion tasks, and sequence induction IQ tests. In each domain, we test our engine’s ability to predict future sensor values, retrodict earlier sensor values, and impute missing sensory data. The Apperception Engine performs well in all these domains, significantly out-performing neural net baselines. These results are significant because neural nets typically struggle to solve the binding problem (where information from different modalities must somehow be combined together into different aspects of one unified object) and fail to solve occlusion tasks (in which objects are sometimes visible and sometimes obscured from view). We note in particular that in the sequence induction IQ tasks, our system achieves human-level performance. This is notable because the Apperception Engine was not designed to solve these IQ tasks; it is not a bespoke hand-engineered solution to this particular domain. – Rather, it is a general purpose system that attempts to make sense of any sensory sequence, that just happens to be able to solve these IQ tasks “out of the box”. Our third contribution is a major extension of the engine to handle noisy and ambiguous data. While the initial implementation assumes the sensory input has already been preprocessed into ground atoms of first-order logic, our extension makes sense of raw unprocessed input – a sequence of pixel images from a video camera, for example. The resulting system is a neuro-symbolic framework for distilling interpretable theories out of streams of raw, unprocessed sensory experience.Open Acces
    corecore