arxiv: v1 [cs.lo] 13 Jun 2013

Size: px
Start display at page:

Download "arxiv: v1 [cs.lo] 13 Jun 2013"

Transcription

1 The MMT API: A Generic MKM System Florian Rabe Computer Science, Jacobs University Bremen, Germany arxiv: v1 [cs.lo] 13 Jun 2013 Abstract. The Mmt language has been developed as a scalable representation and interchange language for formal mathematical knowledge. It permits natural representations of the syntax and semantics of virtually all declarative languages while making Mmt-based MKM services easy to implement. It is foundationally unconstrained and can be instantiated with specific formal languages. The Mmt API implements the Mmt language along with multiple backends for persistent storage and frontends for machine and user access. Moreover, it implements a wide variety of Mmt-based knowledge management services. The API and all services are generic and can be applied to any language represented in Mmt. A plugin interface permits injecting syntactic and semantic idiosyncrasies of individual formal languages. The Mmt Language Content-oriented representation languages for mathematical knowledge are usually designed to focus on either of two goals: (i) the automation potential offered by mechanically verifiable representations, as pursued in semi-automated proof assistants like Isabelle and (ii) the universal applicability offered by a generic meta-language, as pursued in XML-based content markup languages like OMDoc. The Mmt language [11] (Module system for Mathematical Theories) was designed to realize both goals in one coherent system. It uses a minimal number of primitives with a precise semantics chosen to permit natural and adequate representations of many individual languages. A key feature is foundation-independence: Mmt systematically avoids a commitment to a particular type theory or logic. Instead, it represents every formal system as an Mmt theory: domain theories (like the theory Group), logics (like first-order logic FOL), and logical frameworks (like LF [4]) are represented uniformly as Mmt theories. These theories are related by the meta-theory relation, e.g., LF is the meta-theory of FOL, which in turn is the meta-theory of Group. Mmt uses this relation to obtain the semantics of a theory from that of its metatheory; thus, an external semantics (called the foundation), e.g., a research article or an implementation, only has to be supplied for the topmost meta-theories. For example, a foundation for LF can be given in the form of a type system. Theories contain typed symbol declarations, which permit the uniform representation of constants, functions, and predicates as well as via the Curry- Howard correspondence judgments, inference rules, axioms, and theorems. Theories are related via theory morphisms, which subsume translations, functors, and models. Finally, Mmt provides a module system for building large theories and morphisms via reuse and inheritance.

2 Mathematical objects such as terms, types, formulas, and proofs are represented uniformly as OpenMath objects [1], which are formed from the symbols available to the theory under consideration: For example, LF declares the symbols type and λ; FOL declares and, and Group declares and e. Mmt is agnostic in the typing relation between these objects and instead delegates the resolution of typing judgments to the foundation. Then all Mmt results are obtained for arbitrary foundations. For example, Mmt guarantees that theory morphisms translate objects in a typing- and truth-preserving way, which is the crucial invariant permitting the reuse of results in large networks of theories. The Mmt API Exploiting the small number of primitives in Mmt, the Mmt API provides a comprehensive, scalable implementation of Mmt itself and of Mmt-based knowledge management (KM) services. The development is intentionally application-independent: It focuses on the data model of Mmt and its KM services in a way that makes the integration into specific applications as easy as possible. But by itself, it provides only a basic user interface. All algorithms are implemented generically and relegate all foundation-specific aspects to plugins. Concrete applications usually provide a few small plugins to customize the behavior to one specific foundation and a high-level component that connects the desired Mmt services to a user interface. The API is written in the functional and object-oriented language Scala [9], which is fully compatible with Java so that API plugins and applications can be written in either language. Excluding plugins and libraries, it comprises over 20, 000 lines of Scala code compiling into about 3000 Java class files totaling about 5 MB of platform-independent bytecode. Sources, binaries, API documentation, and user manual are available at Knowledge Management Services The Mmt API provides a suite of coherently integrated KM services, which we only summarize here because they have been presented individually. A notation language based on [7] is used to serialize Mmt in arbitrary output formats. Notations are grouped into styles, and a rendering engine presents any Mmt concept according to the chosen style. Mmt content can be organized in archives [5], a light-weight project abstraction to integrate source files, content markup, narrative structure, notation indices, and RDF-style relational indices. Archives can be built, indexed, and browsed, and simplify distribution and reuse. A query language [10] integrates hierarchic, relational, and unification-based query paradigms. A change management infrastructure [6] permits detecting and propagating and changes at the level of individual OpenMath objects. User and System Interfaces If run as a standalone application, the API responds with a shell that interacts via standard input/output. The shell is scriptable, which permits users and application developers to initialize and configure it conveniently. For example, to check the theory Group, the initialization script would first register the Mmt theory defining the syntax of LF and then a plugin

3 providing a foundation for LF, then register the theory FOL, and finally check the file containing the theory Group. A second frontend is given by an HTTP server. For machine interaction, it exposes all API functionality and KM services via a RESTful interface, which permits developing Mmt-based applications outside the Java/Scala world. For human interaction, the HTTP server offers an interactive web browser based on HTML+presentation MathML. The latter is computed on demand according to the style interactively selected by the user. Based on the JOBAD JavaScript library [3], user interaction is handled via JavaScript and Ajax. In particular, Mmt includes a JOBAD module that provides interactive functionality such as definition lookup and type inference. To facilitate distributing Mmt content, all Mmt declarations are referenced by canonical logical identifiers (the Mmt URIs), and their physical locations (their URLs) remain transparent. This is implemented as a catalog that translates Mmt URIs into URLs according to the registered knowledge repositories. Mmt declarations are retrieved and loaded into memory transparently when needed so that storage and memory management are hidden from high-level services, applications, and users. Supported knowledge repositories are file systems, SVN working copies and repositories, and TNTBase databases [12]. The latter also supports Mmt-specific indexing and querying functions [8] permitting, e.g., the efficient retrieval of the dependency closure of an Mmt knowledge item. A Specific Application for a Specific Foundation The LATIN project [2] built an atlas of logics and related formal systems. The atlas is realized as an Mmt project, and Mmt is used for building and interactively browsing the atlas. All theories in the atlas use LF as their meta-theory, which defines the abstract syntax of LF and thus of the logics in the atlas. For concrete syntax, the Twelf implementation of LF is used. To integrate Twelf with Mmt, LATIN developed an Mmt plugin that calls Twelf to read individual source files and convert them to OMDoc, which Mmt reads natively. Based on this import, Mmt s foundation-independent algorithms can index and catalog the LATIN atlas and make it accessible to KM services and applications. Here the use of Twelf remains fully transparent: An application sends only an Mmt URI (e.g., the one LATIN defines for the theory FOL) to Mmt and receives the corresponding Scala object. From the perspective of Mmt, Twelf is an external tool for parsing and type reconstruction that is applicable only to theories whose meta-theory is LF. From the perspective of Twelf on the other hand, the Mmt theory LF does not exist. Instead, the symbols type, λ, etc. are implemented directly in Twelf s underlying programming language. This is a typical situation: Generally, Mmt uses the meta-theory to determine which plugin is applicable, and these plugins hard-code the semantics of the respective meta-theory. Similar concrete syntax plugins can be written for most languages and exist for, e.g., the ATP interface language TPTP, the ontology language OWL, and the Mizar language for formalized mathematics.

4 LATIN also customizes the Mmt web server by providing a style that provides notations for objects from theories with meta-theory LF. The above screen shot shows the generic web server displaying a theory IMPExt: It imports the theory IMP of the implication connective imp and extends it with derived rules for the introduction and elimination of double implications, i.e., formulas of the form A imp (B imp C). The symbol impi represents the derivation of the rule A,B C A imp (B imp C). Via the context menu, the user has called type inference on the selected subobject, which opened a dialog showing the dynamically inferred type. The interactive type inference is implemented using the HTTP interface to the Mmt API. First of all, the LATIN style is such that the rendered HTML includes parallel markup in the form of special attributes on the presentation MathML elements. JavaScript uses them to build an Mmt query that is posted to the server as an Ajax request and whose response is shown in the dialog. This query bundles multiple Mmt API calls into a single HTTP request-response cycle: First the parallel markup is used to retrieve the OpenMath object corresponding to the selected expression (and its context), then type inference is called, and finally the rendering engine is called to render the type as presentation MathML. For the type inference, LATIN provides one further plugin: a foundation plugin that supplies the typing relation for theories with meta-theory LF. Mmt uses it to perform type inference directly in memory without having to call external tools like Twelf. Such foundation plugins are easy to write because they can focus on the logical core of the type system and, e.g., parsing and module system remain transparent to the plugin. For example, the plugin for LF comprises only 200 lines of code Except for the concrete syntax plugin, the presentation style, and the foundation plugin, all steps of the above example are foundation-independent and are immediately available for Mmt content written in any other meta-theory. Moreover, being a logical framework, these plugins LF are immediately inherited by all logics defined in LF: We obtain, e.g., type inference for FOL and Group (in fact: for all logics defined in LATIN) without writing additional plugins.

5 Furthermore, all implementations are application-independent and can be immediately integrated into any application, e.g., a Wiki containing LF objects. This customization of Mmt to specific foundations and specific applications occurs at minimal cost, a principle we call rapid prototyping for formal ystems. Acknowledgements Over the last 6 years, contributions to the API or to individual plugins have been made by Maria Alecu, Alin Iacob, Catalin David, Stefania Dumbrava, Dimitar Misev, Fulya Horozal, Füsun Horozal, Mihnea Iancu, Felix Mance, and Vladimir Zamdzhiev. Some of them were partially supported by DFG grant KO-2428/9-1. References 1. S. Buswell, O. Caprotti, D. Carlisle, M. Dewar, M. Gaetano, and M. Kohlhase. The Open Math Standard, Version 2.0. Technical report, The Open Math Society, See 2. M. Codescu, F. Horozal, M. Kohlhase, T. Mossakowski, and F. Rabe. Project Abstract: Logic Atlas and Integrator (LATIN). In J. Davenport, W. Farmer, F. Rabe, and J. Urban, editors, Intelligent Computer Mathematics, pages Springer, J. Gičeva, C. Lange, and F. Rabe. Integrating Web Services into Active Mathematical Documents. In J. Carette, L. Dixon, C. Sacerdoti Coen, and S. Watt, editors, Intelligent Computer Mathematics, pages Springer, R. Harper, F. Honsell, and G. Plotkin. A framework for defining logics. Journal of the Association for Computing Machinery, 40(1): , F. Horozal, A. Iacob, C. Jucovschi, M. Kohlhase, and F. Rabe. Combining Source, Content, Presentation, Narration, and Relational Representation. In J. Davenport, W. Farmer, F. Rabe, and J. Urban, editors, Intelligent Computer Mathematics, pages Springer, M. Iancu and F. Rabe. Management of Change in Declarative Languages. In J. Campbell, J. Carette, G. Dos Reis, J. Jeuring, P. Sojka, V. Sorge, and M. Wenzel, editors, Intelligent Computer Mathematics, pages Springer, M. Kohlhase, C. Müller, and F. Rabe. Notations for Living Mathematical Documents. In S. Autexier, J. Campbell, J. Rubio, V. Sorge, M. Suzuki, and F. Wiedijk, editors, Mathematical Knowledge Management, pages Springer, M. Kohlhase, F. Rabe, and V. Zholudev. Towards MKM in the Large: Modular Representation and Scalable Software Architecture. In S. Autexier, J. Calmet, D. Delahaye, P. Ion, L. Rideau, R. Rioboo, and A. Sexton, editors, Intelligent Computer Mathematics, pages Springer, M. Odersky, L. Spoon, and B. Venners. Programming in Scala. artima, F. Rabe. A Query Language for Formal Mathematical Libraries. In J. Campbell, J. Carette, G. Dos Reis, J. Jeuring, P. Sojka, V. Sorge, and M. Wenzel, editors, Intelligent Computer Mathematics, pages Springer, F. Rabe and M. Kohlhase. A Scalable Module System. Information and Computation, conditionally accepted; see V. Zholudev and M. Kohlhase. TNTBase: a Versioned Storage for XML. In Proceedings of Balisage: The Markup Conference 2009, volume 3 of Balisage Series on Markup Technologies. Mulberry Technologies, Inc., 2009.

Formal editing: jedit-mmt. Narrative editing: LaTeX-MMT. Browsing: MMT web server. Building: MMT scripting language. The MMT API: A Generic MKM System

Formal editing: jedit-mmt. Narrative editing: LaTeX-MMT. Browsing: MMT web server. Building: MMT scripting language. The MMT API: A Generic MKM System The MMT API: A Generic MKM System Florian Rabe MMT is foundation-independent: 1. Developer defines new logic 2. MMT yields complete MKM system for it MMT is application-independent: No single MMT application

More information

Work-in-progress: An MMT-Based User-Interface

Work-in-progress: An MMT-Based User-Interface Work-in-progress: An MMT-Based User-Interface Mihnea Iancu and Florian Rabe Computer Science, Jacobs University, Bremen, Germany initial.last@jacobs-university.de Abstract The Mmt language constitutes

More information

MMT Objects. Florian Rabe. Computer Science, Jacobs University, Bremen, Germany

MMT Objects. Florian Rabe. Computer Science, Jacobs University, Bremen, Germany MMT Objects Florian Rabe Computer Science, Jacobs University, Bremen, Germany Abstract Mmt is a mathematical knowledge representation language, whose object layer is strongly inspired by OpenMath. In fact,

More information

Towards MKM in the Large: Modular Representation and Scalable Software Architecture

Towards MKM in the Large: Modular Representation and Scalable Software Architecture Towards MKM in the Large: Modular Representation and Scalable Software Architecture Michael Kohlhase, Florian Rabe, Vyacheslav Zholudev Computer Science, Jacobs University Bremen {m.kohlhase,f.rabe,v.zholudev}@jacobs-university.de

More information

Publishing Math Lecture Notes as Linked Data

Publishing Math Lecture Notes as Linked Data Publishing Math Lecture Notes as Linked Data Catalin David, Michael Kohlhase, Christoph Lange, Florian Rabe, and Vyacheslav Zholudev Computer Science, Jacobs University Bremen, {c.david,m.kohlhase,ch.lange,f.rabe,v.zholudev}@jacobs-university.de

More information

Compiling Logics. 1 Introduction. Mihai Codescu 1, Fulya Horozal 3, Aivaras Jakubauskas 3, Till Mossakowski 2, and Florian Rabe 3

Compiling Logics. 1 Introduction. Mihai Codescu 1, Fulya Horozal 3, Aivaras Jakubauskas 3, Till Mossakowski 2, and Florian Rabe 3 Compiling Logics Mihai Codescu 1, Fulya Horozal 3, Aivaras Jakubauskas 3, Till Mossakowski 2, and Florian Rabe 3 1 Friedrich-Alexander University, Erlangen-Nürnberg, Germany 2 DFKI GmbH Bremen, Germany

More information

The Mizar Mathematical Library in OMDoc: Translation and Applications

The Mizar Mathematical Library in OMDoc: Translation and Applications Noname manuscript No. (will be inserted by the editor) The Mizar Mathematical Library in OMDoc: Translation and Applications Mihnea Iancu Michael Kohlhase Florian Rabe Josef Urban the date of receipt and

More information

arxiv: v1 [cs.lo] 23 Apr 2012

arxiv: v1 [cs.lo] 23 Apr 2012 The Distributed Ontology Language (DOL): Ontology Integration and Interoperability Applied to Mathematical Formalization Christoph Lange 1,2, Oliver Kutz 1, Till Mossakowski 1,3, and Michael Grüninger

More information

The Planetary System: Web 3.0 & Active Documents for STEM

The Planetary System: Web 3.0 & Active Documents for STEM Available online at www.sciencedirect.com Procedia Computer Science 4 (2011) 598 607 The Planetary System: Web 3.0 & Active Documents for STEM Michael Kohlhase a, Joseph Corneli b, Catalin David a, Deyan

More information

MathWebSearch 0.5: Scaling an Open Formula Search Engine

MathWebSearch 0.5: Scaling an Open Formula Search Engine Kohlhase: Scaling MathWebSearch 1 July 13, 2012 MathWebSearch 0.5: Scaling an Open Formula Search Engine Michael Kohlhase, Bogdan A. Matican, Corneliu C. Prodescu http://kwarc.info/kohlhase Center for

More information

The Future of Logic: Foundation-Independence

The Future of Logic: Foundation-Independence The Future of Logic: Foundation-Independence Florian Rabe Abstract. Throughout the 20th century, the automation of formal logics in computers has created unprecedented potential for practical applications

More information

Jacobs University Bremen

Jacobs University Bremen Jacobs University Bremen Guided Research Thesis Computer Science Universal OpenMath Machine Author: Vladimir Zamdzhiev First Advisor: Prof. Dr. Michael Kohlhase Second Advisor: Dr. Florian Rabe Date: May

More information

arxiv: v1 [cs.ms] 7 May 2015

arxiv: v1 [cs.ms] 7 May 2015 Documentation Generator Focusing on Symbols for the HTML-ized Mizar Library Kazuhisa Nakasho 1 and Yasunari Shidama 2 1 Shinshu University, Japan, 13st205f@shinshu-u.ac.jp 2 Shinshu University, Japan,

More information

A Natural Deduction Environment for Matita

A Natural Deduction Environment for Matita A Natural Deduction Environment for Matita Claudio Sacerdoti Coen University of Bologna 12/07/2009 Outline 1 The Problem 2 The (MKM) Technologies at Hand 3 Demo 4 Conclusion Outline

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

WoM : An Open Interactive Platform for Describing, Exploring, and Sharing Mathematical Models

WoM : An Open Interactive Platform for Describing, Exploring, and Sharing Mathematical Models WoM : An Open Interactive Platform for Describing, Exploring, and Sharing Mathematical Models Jean-Marie Gaillourdet 1, Thomas Grundmann 1, Martin Memmel 2, Karsten Schmidt 1, Arnd Poetzsch-Heffter 1,

More information

S T EX A System for Flexible Formalization of Linked Data

S T EX A System for Flexible Formalization of Linked Data S T EX A System for Flexible Formalization of Linked Data Andrea Kohlhase German Research Center for Artificial Intelligence (DFKI) Enrique-Schmidt-Str. 5 28359 Bremen, Germany Andrea.Kohlhase@dfki.de

More information

Natural deduction environment for Matita

Natural deduction environment for Matita Natural deduction environment for Matita Claudio Sacerdoti Coen and Enrico Tassi Department of Computer Science, University of Bologna Mura Anteo Zamboni, 7 40127 Bologna, ITALY {sacerdot,tassi}@cs.unibo.it

More information

MathWebSearch at NTCIR-11: Keywords, Frontend, & Scalability

MathWebSearch at NTCIR-11: Keywords, Frontend, & Scalability Hambasan & Kohlhase & Prodescu: MathWebSearch @ NTCIR-111NTCIR-11, Decemter 11. 2014 MathWebSearch at NTCIR-11: Keywords, Frontend, & Scalability Radu Hambasan & Michael Kohlhase & Corneliu Prodescu http://kwarc.info/kohlhase

More information

Towards Intelligent Summarising and Browsing of Mathematical Expressions

Towards Intelligent Summarising and Browsing of Mathematical Expressions Towards Intelligent Summarising and Browsing of Mathematical Expressions Ivelina Stoyanova I.Stoyanova@alumni.bath.ac.uk Department of Computer Science University of Bath, Bath BA2 7AY United Kingdom Abstract.

More information

Designing a Semantic Ground Truth for Mathematical Formulas

Designing a Semantic Ground Truth for Mathematical Formulas Designing a Semantic Ground Truth for Mathematical Formulas Alan Sexton 1, Volker Sorge 1, and Masakazu Suzuki 2 1 School of Computer Science, University of Birmingham, UK, A.P.Sexton V.Sorge@cs.bham.ac.uk,

More information

X-KIF New Knowledge Modeling Language

X-KIF New Knowledge Modeling Language Proceedings of I-MEDIA 07 and I-SEMANTICS 07 Graz, Austria, September 5-7, 2007 X-KIF New Knowledge Modeling Language Michal Ševčenko (Czech Technical University in Prague sevcenko@vc.cvut.cz) Abstract:

More information

ORES-2010 Ontology Repositories and Editors for the Semantic Web

ORES-2010 Ontology Repositories and Editors for the Semantic Web Vol-596 urn:nbn:de:0074-596-3 Copyright 2010 for the individual papers by the papers' authors. Copying permitted only for private and academic purposes. This volume is published and copyrighted by its

More information

arxiv: v1 [cs.pl] 30 Apr 2012

arxiv: v1 [cs.pl] 30 Apr 2012 New developments in parsing Mizar Czesław Bylinski 1 and Jesse Alama 2 arxiv:1205.0170v1 [cs.pl] 30 Apr 2012 Center for Artificial Intelligence New University of Lisbon Portugal j.alama@fct.unl.pt Abstract.

More information

Semantic-Based Web Mining Under the Framework of Agent

Semantic-Based Web Mining Under the Framework of Agent Semantic-Based Web Mining Under the Framework of Agent Usha Venna K Syama Sundara Rao Abstract To make automatic service discovery possible, we need to add semantics to the Web service. A semantic-based

More information

Com S 541. Programming Languages I

Com S 541. Programming Languages I Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR

More information

From Types to Sets in Isabelle/HOL

From Types to Sets in Isabelle/HOL From Types to Sets in Isabelle/HOL Extented Abstract Ondřej Kunčar 1 and Andrei Popescu 1,2 1 Fakultät für Informatik, Technische Universität München, Germany 2 Institute of Mathematics Simion Stoilow

More information

An Annotation Tool for Semantic Documents

An Annotation Tool for Semantic Documents An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document

More information

Extracting knowledge from Ontology using Jena for Semantic Web

Extracting knowledge from Ontology using Jena for Semantic Web Extracting knowledge from Ontology using Jena for Semantic Web Ayesha Ameen I.T Department Deccan College of Engineering and Technology Hyderabad A.P, India ameenayesha@gmail.com Khaleel Ur Rahman Khan

More information

MathDox: Mathematical Documents on the Web Contribution to the OMDoc book

MathDox: Mathematical Documents on the Web Contribution to the OMDoc book MathDox: Mathematical Documents on the Web Contribution to the OMDoc book A.M. Cohen, H. Cuypers, E. Reinaldo Barreiro Department of Mathematics Eindhoven University of Technology December 2, 2005 Abstract

More information

The Isabelle/HOL type-class hierarchy

The Isabelle/HOL type-class hierarchy = Isabelle λ β Isar α The Isabelle/HOL type-class hierarchy Florian Haftmann 8 October 2017 Abstract This primer introduces corner stones of the Isabelle/HOL type-class hierarchy and gives some insights

More information

Reimplementing the Mathematics Subject Classification (MSC) as a Linked Open Dataset

Reimplementing the Mathematics Subject Classification (MSC) as a Linked Open Dataset Reimplementing the Mathematics Subject Classification (MSC) as a Linked Open Dataset Christoph Lange 1,2,3, Patrick Ion 4,5, Anastasia Dimou 5, Charalampos Bratsas 5, Joseph Corneli 6, Wolfram Sperber

More information

0.1 Induction Challenge OMDoc Manager (ICOM)

0.1 Induction Challenge OMDoc Manager (ICOM) 0.1 Induction Challenge OMDoc Manager (ICOM) Project Home http://www.cs.nott.ac.uk/ lad/research/ challenges/challenge manager.html Authors Thomas D. Attfield, Monica C. Duarte, Lin Li, Ho- Ying Mak, Adam

More information

System Description: Analytica 2

System Description: Analytica 2 System Description: Analytica 2 Edmund Clarke, Michael Kohlhase, Joël Ouaknine, Klaus Sutner Carnegie Mellon University {emc kohlhase ouaknine sutner}@cs.cmu.edu Abstract. The Analytica system is a theorem

More information

Web Standards Mastering HTML5, CSS3, and XML

Web Standards Mastering HTML5, CSS3, and XML Web Standards Mastering HTML5, CSS3, and XML Leslie F. Sikos, Ph.D. orders-ny@springer-sbm.com www.springeronline.com rights@apress.com www.apress.com www.apress.com/bulk-sales www.apress.com Contents

More information

Programming in Scala Second Edition

Programming in Scala Second Edition Programming in Scala Second Edition Martin Odersky, Lex Spoon, Bill Venners artima ARTIMA PRESS WALNUT CREEK, CALIFORNIA Contents Contents List of Figures List of Tables List of Listings Foreword Foreword

More information

Ontology Links in the Distributed Ontology Language (DOL)

Ontology Links in the Distributed Ontology Language (DOL) Ontology Links in the Distributed Ontology Language (DOL) Oliver Kutz 1, Christoph Lange 1, Till Mossakowski 1,2 1 SFB/TR 8 Spatial cognition, University of Bremen, Germany 2 DFKI GmbH, Bremen, Germany

More information

QWeSST. Type-Safe Web Programming. Thierry Sans and Iliano Cervesato. Carnegie Mellon University Qatar

QWeSST. Type-Safe Web Programming. Thierry Sans and Iliano Cervesato. Carnegie Mellon University Qatar QWeSST Type-Safe Web Programming Thierry Sans and Iliano Cervesato Carnegie Mellon University Qatar Katholieke Universiteit Leuven, Belgium 2 August 2011 Project Goal Study the foundations of web programming

More information

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4

More information

The eval symbol for axiomatising variadic functions

The eval symbol for axiomatising variadic functions The eval symbol for axiomatising variadic functions Division of Applied Mathematics, The School of Education, Culture and Communication, Mälardalen University, Box 883, 721 23 Västerås, Sweden; lars.hellstrom@residenset.net

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

International Journal of Computer Sciences and Engineering. Research Paper Vol.-6, Issue-6, June 2018 E-ISSN:

International Journal of Computer Sciences and Engineering. Research Paper Vol.-6, Issue-6, June 2018 E-ISSN: International Journal of Computer Sciences and Engineering Open Access Research Paper Vol.-6, Issue-6, June 2018 E-ISSN: 2347-2693 Significant Programming and Mathematical Concepts of Semantic Web N. Malik

More information

Integration of Formal Mathematical Theories. A Challenge for NA-MKM. 1 c : Michael Kohlhase. Demo at

Integration of Formal Mathematical Theories. A Challenge for NA-MKM. 1 c : Michael Kohlhase. Demo at Integration of Formal Mathematical Theories A Challenge for NA-MKM MICHAEL KOHLHASE School of Computer Science University http://www.cs.cmu.edu/ kohlhase Demo at http://mbase.mathweb.org:8080/mbase 1 c

More information

An Archiving System for Managing Evolution in the Data Web

An Archiving System for Managing Evolution in the Data Web An Archiving System for Managing Evolution in the Web Marios Meimaris *, George Papastefanatos and Christos Pateritsas * Institute for the Management of Information Systems, Research Center Athena, Greece

More information

WP5.3: (Preliminary) Proposal for a Service Description Model for MKM Search Engines

WP5.3: (Preliminary) Proposal for a Service Description Model for MKM Search Engines WP5.3: (Preliminary) Proposal for a Service Description Model for MKM Search Engines The MKM consortium (typing author Volker Sorge) http://monet.nag.co.uk/mkm/ December 19, 2003 1 Introduction Workpackage

More information

CLF: A logical framework for concurrent systems

CLF: A logical framework for concurrent systems CLF: A logical framework for concurrent systems Thesis Proposal Kevin Watkins Carnegie Mellon University Committee: Frank Pfenning, CMU (Chair) Stephen Brookes, CMU Robert Harper, CMU Gordon Plotkin, University

More information

Towards typed repositories of proofs

Towards typed repositories of proofs Towards typed repositories of proofs Matthias Puech, Yann Régis-Gianas To cite this version: Matthias Puech, Yann Régis-Gianas. Towards typed repositories of proofs. Mathematically Intelligent Proof Search

More information

Implementing a Numerical Data Access Service

Implementing a Numerical Data Access Service Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various

More information

Three Applications of Strictness in the Efficient Implementaton of Higher-Order Terms

Three Applications of Strictness in the Efficient Implementaton of Higher-Order Terms Three Applications of Strictness in the Efficient Implementaton of Higher-Order Terms Frank Pfenning Workshop on Implementation of Logic Réunion Island, France November 11, 2000 Joint work with Carsten

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax

More information

Creating Ontology Chart Using Economy Domain Ontologies

Creating Ontology Chart Using Economy Domain Ontologies Creating Ontology Chart Using Economy Domain Ontologies Waralak V. Siricharoen *1, Thitima Puttitanun *2 *1, Corresponding author School of Science, University of the Thai Chamber of Commerce, 126/1, Dindeang,

More information

A Practical Module System for LF

A Practical Module System for LF A Practical Module System for LF Florian Rabe Jacobs University Bremen f.rabe@jacobs-university.de Carsten Schürmann IT University of Copenhagen carsten@itu.dk Abstract Module systems for proof assistants

More information

Rule Formats for Nominal Modal Transition Systems

Rule Formats for Nominal Modal Transition Systems Rule Formats for Nominal Modal Transition Systems Anke Stüber Universitet Uppsala, Uppsala, Sweden anke.stuber@it.uu.se Abstract. Modal transition systems are specification languages that allow the expression

More information

Introduction to Information Systems

Introduction to Information Systems Table of Contents 1... 2 1.1 Introduction... 2 1.2 Architecture of Information systems... 2 1.3 Classification of Data Models... 4 1.4 Relational Data Model (Overview)... 8 1.5 Conclusion... 12 1 1.1 Introduction

More information

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data FedX: A Federation Layer for Distributed Query Processing on Linked Open Data Andreas Schwarte 1, Peter Haase 1,KatjaHose 2, Ralf Schenkel 2, and Michael Schmidt 1 1 fluid Operations AG, Walldorf, Germany

More information

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1 Using the VMware vcenter Orchestrator Client vrealize Orchestrator 5.5.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments

More information

Using Scala for building DSL s

Using Scala for building DSL s Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain

More information

Coq, a formal proof development environment combining logic and programming. Hugo Herbelin

Coq, a formal proof development environment combining logic and programming. Hugo Herbelin Coq, a formal proof development environment combining logic and programming Hugo Herbelin 1 Coq in a nutshell (http://coq.inria.fr) A logical formalism that embeds an executable typed programming language:

More information

Brokering Mathematical Services in the Global Network

Brokering Mathematical Services in the Global Network Brokering Mathematical Services in the Global Network Wolfgang Schreiner Department of Engineering for Computer-based Learning (CBL) Upper Austrian University of Applied Sciences, Hagenberg, Austria Work

More information

Introducing live graphics gems to educational material

Introducing live graphics gems to educational material Introducing live graphics gems to educational material Johannes Görke, Frank Hanisch, Wolfgang Straíer WSI/GRIS University of Tübingen, Sand 14, 72076 Tübingen, Germany Thiruvarangan Ramaraj CS525 Graphics

More information

A Tool for Storing OWL Using Database Technology

A Tool for Storing OWL Using Database Technology A Tool for Storing OWL Using Database Technology Maria del Mar Roldan-Garcia and Jose F. Aldana-Montes University of Malaga, Computer Languages and Computing Science Department Malaga 29071, Spain, (mmar,jfam)@lcc.uma.es,

More information

Refinement Types as Proof Irrelevance. William Lovas with Frank Pfenning

Refinement Types as Proof Irrelevance. William Lovas with Frank Pfenning Refinement Types as Proof Irrelevance William Lovas with Frank Pfenning Overview Refinement types sharpen existing type systems without complicating their metatheory Subset interpretation soundly and completely

More information

DEFINING A LANGUAGE. Robert Harper. Friday, April 27, 12

DEFINING A LANGUAGE. Robert Harper. Friday, April 27, 12 DEFINING A LANGUAGE Robert Harper ACKNOWLEDGEMENTS I am honored to have had the privilege of working with Robin on the development of Standard ML. It is also a pleasure to thank my collaborators, Karl

More information

Foundation-Independent Type Reconstruction

Foundation-Independent Type Reconstruction Foundation-Independent Type Reconstruction Florian Rabe Jacobs University Bremen, Germany Abstract Mmt is a framework for designing and implementing formal systems in a way that systematically abstracts

More information

Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description)

Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description) Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description) Brigitte Pientka and Joshua Dunfield McGill University, Montréal, Canada {bpientka,joshua}@cs.mcgill.ca Abstract.

More information

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new

More information

Notations for Living Mathematical Documents

Notations for Living Mathematical Documents Notations for Living Mathematical Documents Michael Kohlhase and Christine Müller and Florian Rabe Computer Science, Jacobs University Bremen {m.kohlhase,c.mueller,f.rabe}@jacobs-university.de Abstract.

More information

D WSMO Data Grounding Component

D WSMO Data Grounding Component Project Number: 215219 Project Acronym: SOA4All Project Title: Instrument: Thematic Priority: Service Oriented Architectures for All Integrated Project Information and Communication Technologies Activity

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

smt-lib in xml clothes

smt-lib in xml clothes smt-lib in xml clothes Filip Marić filip@matf.bg.ac.yu Faculty of Mathematics, University of Belgrade Studentski trg 16, 11 000 Belgrade, Serbia Predrag Janičić janicic@matf.bg.ac.yu Faculty of Mathematics,

More information

Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1

Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 Natural Semantics Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 1 Natural deduction is an instance of first-order logic; that is, it is the formal

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Semantic Data Extraction for B2B Integration

Semantic Data Extraction for B2B Integration Silva, B., Cardoso, J., Semantic Data Extraction for B2B Integration, International Workshop on Dynamic Distributed Systems (IWDDS), In conjunction with the ICDCS 2006, The 26th International Conference

More information

An Architecture for Distributed Mathematical Web Services

An Architecture for Distributed Mathematical Web Services An Architecture for Distributed Mathematical Web s Elena S. Smirnova, Clare M. So, Stephen M. Watt Ontario Research Centre for Computer Algebra (ORCCA) Department of Computer Science University of Western

More information

JENA: A Java API for Ontology Management

JENA: A Java API for Ontology Management JENA: A Java API for Ontology Management Hari Rajagopal IBM Corporation Page Agenda Background Intro to JENA Case study Tools and methods Questions Page The State of the Web Today The web is more Syntactic

More information

TBX in ODD: Schema-agnostic specification and documentation for TermBase exchange

TBX in ODD: Schema-agnostic specification and documentation for TermBase exchange TBX in ODD: Schema-agnostic specification and documentation for TermBase exchange Stefan Pernes INRIA stefan.pernes@inria.fr Kara Warburton Termologic kara@termologic.com Laurent Romary INRIA laurent.romary@inria.fr

More information

arxiv: v1 [cs.dl] 25 Apr 2014

arxiv: v1 [cs.dl] 25 Apr 2014 L A TExml 2012 A Year of L A TExml Deyan Ginev 1 and Bruce R. Miller 2 1 Computer Science, Jacobs University Bremen, Germany 2 National Institute of Standards and Technology, Gaithersburg, MD, USA arxiv:1404.6549v1

More information

Cross-Linking with the Particle Data Group

Cross-Linking with the Particle Data Group Cross-Linking with the Particle Data Group Juerg Beringer Particle Data Group Lawrence Berkeley National Laboratory Outline: Introduction Interaction with SPIRES Cross-linking with PDG Identifiers Status

More information

Proposal for Implementing Linked Open Data on Libraries Catalogue

Proposal for Implementing Linked Open Data on Libraries Catalogue Submitted on: 16.07.2018 Proposal for Implementing Linked Open Data on Libraries Catalogue Esraa Elsayed Abdelaziz Computer Science, Arab Academy for Science and Technology, Alexandria, Egypt. E-mail address:

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411

More information

Using the VMware vrealize Orchestrator Client

Using the VMware vrealize Orchestrator Client Using the VMware vrealize Orchestrator Client vrealize Orchestrator 7.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by

More information

Browsing the Semantic Web

Browsing the Semantic Web Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 237 245. Browsing the Semantic Web Peter Jeszenszky Faculty of Informatics, University

More information

HyperFrame - A Framework for Hypermedia Authoring

HyperFrame - A Framework for Hypermedia Authoring HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do

More information

An overview of RDB2RDF techniques and tools

An overview of RDB2RDF techniques and tools An overview of RDB2RDF techniques and tools DERI Reading Group Presentation Nuno Lopes August 26, 2009 Main purpose of RDB2RDF WG... standardize a language for mapping Relational Database schemas into

More information

STS Infrastructural considerations. Christian Chiarcos

STS Infrastructural considerations. Christian Chiarcos STS Infrastructural considerations Christian Chiarcos chiarcos@uni-potsdam.de Infrastructure Requirements Candidates standoff-based architecture (Stede et al. 2006, 2010) UiMA (Ferrucci and Lally 2004)

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457

More information

How A Website Works. - Shobha

How A Website Works. - Shobha How A Website Works - Shobha Synopsis 1. 2. 3. 4. 5. 6. 7. 8. 9. What is World Wide Web? What makes web work? HTTP and Internet Protocols. URL s Client-Server model. Domain Name System. Web Browser, Web

More information

POMELo: A PML Online Editor

POMELo: A PML Online Editor POMELo: A PML Online Editor Alvaro Graves Tetherless World Constellation Department of Cognitive Sciences Rensselaer Polytechnic Institute Troy, NY 12180 gravea3@rpi.edu Abstract. This paper introduces

More information

Semantic Web Systems Web Services Part 2 Jacques Fleuriot School of Informatics

Semantic Web Systems Web Services Part 2 Jacques Fleuriot School of Informatics Semantic Web Systems Web Services Part 2 Jacques Fleuriot School of Informatics 16 th March 2015 In the previous lecture l Web Services (WS) can be thought of as Remote Procedure Calls. l Messages from

More information

Ylvi - Multimedia-izing the Semantic Wiki

Ylvi - Multimedia-izing the Semantic Wiki Ylvi - Multimedia-izing the Semantic Wiki Niko Popitsch 1, Bernhard Schandl 2, rash miri 1, Stefan Leitich 2, and Wolfgang Jochum 2 1 Research Studio Digital Memory Engineering, Vienna, ustria {niko.popitsch,arash.amiri}@researchstudio.at

More information

Indexing Mathematical Content Using Full Text Search Engine

Indexing Mathematical Content Using Full Text Search Engine WDS'08 Proceedings of Contributed Papers, Part I, 240 244, 2008. ISBN 978-80-7378-065-4 MATFYZPRESS Indexing Mathematical Content Using Full Text Search Engine J. Mi²utka Charles University, Faculty of

More information

Orchestrating Music Queries via the Semantic Web

Orchestrating Music Queries via the Semantic Web Orchestrating Music Queries via the Semantic Web Milos Vukicevic, John Galletly American University in Bulgaria Blagoevgrad 2700 Bulgaria +359 73 888 466 milossmi@gmail.com, jgalletly@aubg.bg Abstract

More information

Semantic Web: Core Concepts and Mechanisms. MMI ORR Ontology Registry and Repository

Semantic Web: Core Concepts and Mechanisms. MMI ORR Ontology Registry and Repository Semantic Web: Core Concepts and Mechanisms MMI ORR Ontology Registry and Repository Carlos A. Rueda Monterey Bay Aquarium Research Institute Moss Landing, CA ESIP 2016 Summer meeting What s all this about?!

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Teiid Designer User Guide 7.5.0

Teiid Designer User Guide 7.5.0 Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata

More information

Web Ontology for Software Package Management

Web Ontology for Software Package Management Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 331 338. Web Ontology for Software Package Management Péter Jeszenszky Debreceni

More information

The CASPAR Finding Aids

The CASPAR Finding Aids ABSTRACT The CASPAR Finding Aids Henri Avancini, Carlo Meghini, Loredana Versienti CNR-ISTI Area dell Ricerca di Pisa, Via G. Moruzzi 1, 56124 Pisa, Italy EMail: Full.Name@isti.cnr.it CASPAR is a EU co-funded

More information

The OWL API: An Introduction

The OWL API: An Introduction The OWL API: An Introduction Sean Bechhofer and Nicolas Matentzoglu University of Manchester sean.bechhofer@manchester.ac.uk OWL OWL allows us to describe a domain in terms of: Individuals Particular objects

More information