2,944 research outputs found
Canonical Abstract Syntax Trees
This paper presents Gom, a language for describing abstract syntax trees and
generating a Java implementation for those trees. Gom includes features
allowing the user to specify and modify the interface of the data structure.
These features provide in particular the capability to maintain the internal
representation of data in canonical form with respect to a rewrite system. This
explicitly guarantees that the client program only manipulates normal forms for
this rewrite system, a feature which is only implicitly used in many
implementations
Towards MKM in the Large: Modular Representation and Scalable Software Architecture
MKM has been defined as the quest for technologies to manage mathematical
knowledge. MKM "in the small" is well-studied, so the real problem is to scale
up to large, highly interconnected corpora: "MKM in the large". We contend that
advances in two areas are needed to reach this goal. We need representation
languages that support incremental processing of all primitive MKM operations,
and we need software architectures and implementations that implement these
operations scalably on large knowledge bases.
We present instances of both in this paper: the MMT framework for modular
theory-graphs that integrates meta-logical foundations, which forms the base of
the next OMDoc version; and TNTBase, a versioned storage system for XML-based
document formats. TNTBase becomes an MMT database by instantiating it with
special MKM operations for MMT.Comment: To appear in The 9th International Conference on Mathematical
Knowledge Management: MKM 201
Ariadne: Analysis for Machine Learning Program
Machine learning has transformed domains like vision and translation, and is
now increasingly used in science, where the correctness of such code is vital.
Python is popular for machine learning, in part because of its wealth of
machine learning libraries, and is felt to make development faster; however,
this dynamic language has less support for error detection at code creation
time than tools like Eclipse. This is especially problematic for machine
learning: given its statistical nature, code with subtle errors may run and
produce results that look plausible but are meaningless. This can vitiate
scientific results. We report on Ariadne: applying a static framework, WALA, to
machine learning code that uses TensorFlow. We have created static analysis for
Python, a type system for tracking tensors---Tensorflow's core data
structures---and a data flow analysis to track their usage. We report on how it
was built and present some early results
Creating Well-Structured Specifications in MOFLON
Considering the growing popularity of model-based development, specifications
become more complex. As a consequence, graph-based modeling tools
have to take measures to handle this complexity. In this paper, we present the metamodeling
environment MOFLON which has been developed on top of the FUJABA
Toolsuite during the last few years at our department. We focus one of MOFLON's
strongest advantages, i.e. the realization of the abstraction and modularization features
introduced by the recent UML 2.0 Infrastructure specification. The new concept
of package merge allows to reuse and refine existing models without modifying
the original. Subset and redefinition relationships become useful tools to refine associations
due to the automatic propagation mechanism generated by the MOFLON
code generator. We show how the user can organize large specifications using these
concepts and how they effect graph transformation rules and code generation
Towards an Interaction-based Integration of MKM Services into End-User Applications
The Semantic Alliance (SAlly) Framework, first presented at MKM 2012, allows
integration of Mathematical Knowledge Management services into typical
applications and end-user workflows. From an architecture allowing invasion of
spreadsheet programs, it grew into a middle-ware connecting spreadsheet, CAD,
text and image processing environments with MKM services. The architecture
presented in the original paper proved to be quite resilient as it is still
used today with only minor changes.
This paper explores extensibility challenges we have encountered in the
process of developing new services and maintaining the plugins invading
end-user applications. After an analysis of the underlying problems, I present
an augmented version of the SAlly architecture that addresses these issues and
opens new opportunities for document type agnostic MKM services.Comment: 14 pages, 7 figure
- …