Declarative Amsterdam

Program

Declarative Amsterdam 2022

Tutorial and Symposium

Location: CWI, Amsterdam

Times in CET (Winter time).

Mon 7 November: Tutorial Day

8:30registration
8:55welcome
9:00
Getting started with RumbleDB
Ghislain FournyETH Zurich
I will give a smooth introduction to how to get started with RumbleDB: local installation, write hello worlds queries, download and query a small dataset, then a larger one, then how to do relational algebra, and if time permits user-defined types, conversion to binary formats for better performance, and machine learning.

Ghislain Fourny is a senior scientist at ETH Zurich with a focus on databases and game theory. He holds a Master of Science in Computer Science and a Doctorate of Science from ETH Zürich. Ghislain teaches Big Data courses for computer scientists as well as non-computer scientists and is making his textbook publicly available online. His research interests cover query languages for large-scale, heterogeneous, nested datasets, as well as rebooting game theory with a non-Nashian form of free choice. Ghislain was a member of the W3C XML Query working group from 2011 to 2014 and is a co-designer of the JSONiq query language and of the RumbleDB engine.

10:00break
10:30
Schematron tutorial
Erik SiegelXatapult
Schematron is a validation language that goes beyond the capabilities of DTD, W3C Schema and RelaxNG. Using XPath expressions, it can validate almost anything in an XML document. No prior knowledge of Schematron is required for this tutorial. We start at the very beginning. But because the language is simple and elegant, we'll soon reach some more advanced topics (like abstract rules and using XSLT). The tutorial will be a mix of theory and hands-on exercises.

Erik Siegel (http://xatapult.com/) works as a content engineer, XML specialist and technical writer. His main customers are in publishing and standardization. He is a member of the XProc 3.0 editorial committee.

12:00lunch
13:00Schematron tutorial. Part 2
13:45break
14:00
Introduction to Fore
Juri Leino and Joern TurnerJinntec
'Fore' is a pure client-side, declarative and open source XML editing solution for structured XML following the principles of the XForms 2.0 standard though taking some freedom here and there. It is specifically suited to build complex, form-based editing front-ends but can also be used to implement complete data-driven applications. It is pure client-side library implemented as a set of plain-vanilla Web Components, needing no special framework to run. It is written in ES6 JavaScript. It supports XQuery/XPath 3.1 as expression language via the fantastic fontoXPath library. Alongside XML Fore can also handle JSON via the XPath map syntax. In this tutorial we want to give you an introduction in how to create your own interactive UI elements including webforms with Fore. After a short introduction on the underlying principles and differences to XForms, we want participants create following examples - a todo app - a clock - a TEI-header editor (or other xml-fragment editor)

Juri Leino is a software gardener from Berlin with over 15 years of experience in web development. In most recent years he has joined the exist-db project as a core developer focussing on the XQuery runtime. Next to consulting for exist-solutions and jinntec he also maintains and develops node-exist and gulp-exist and created XQuery libraries like xbow,  exist-jwt and dicey.


Joern Turner is one of the directors at Jinntec GmbH and has been developing XML solutions for over two decades now. He founded the Chiba and betterFORM projects which implemented the XForms standard and contributes to several open source projects like TEI-Publisher, eXist-db, Roaster, Tuttle and others. Two years ago he started the Fore project as a follow-up of betterFORM.

15:30break
15:50invisible XML challenge
16:00
Advanced ixml Hands-on
Steven PembertonCWI

This year marked the official release of ixml at invisiblexml.org, and several implementations are now available. At last year's Declarative Amsterdam there was a tutorial introduction to ixml, which introduced the concepts, covered all elements of the language and its basic use. This tutorial will extend that tutorial by covering subjects such as Whitespace handling, Ambiguity, Multi-character tokens, Separators, and Insertions, and will include a case study of the ixml grammar of ixml. A condition of doing this tutorial is that attendees must already have done the introductory tutorial, which is available for self-study. A similar technique of interweaving lecture with exercises, and the tutorial being available for independent study after the conference will be used.

Steven Pemberton is a researcher affiliated with CWI Amsterdam, the Dutch national research centre for mathematics and informatics. His research is in interaction, and how the underlying software architecture can support users. He co-designed the ABC programming language that formed the basis for Python. Involved with the Web from the beginning, he organised two workshops at the first Web Conference in 1994. For the best part of a decade he chaired the W3C HTML working group, and has co-authored many web standards, including HTML, XHTML, CSS, XForms and RDFa. He now chairs the XForms and ixml groups at W3C. This year he was awarded the ACM SIGCHI Lifetime Practice Award.

18:00drinks

Tue 8 November: Symposium

8:30registration
8:55welcome
9:00
Declarative axiomatic and provable correct systems in Swift
Manuel Meyer
Swift's type system allows the creation of small self-contained modules controllable by sending typed messages. These messages DSL type encodes commands that can follow spoken english quite closely, i.e.:
.increase(.brightness,by:10.point,on:light))
increases the brightness of light by 10% points.


In this tutorial we will implement an application using «Khipu», a fully immutable implementation of Robert C. Martin's «Clean Architecture».
Khipu is fully testable with tests not only valid in TDD, but en par with the Scientific Method itself. We will explore «Partial Application» as an alternative to problematic class-centred designs.
Manuel Meyer has been developing iOS applications since 2009. He experiences a startup scene that proves impossible to use engineering principles or professionalise themselves in any other manner. In his search for better coding he discovered the Declarative Domain Paradigm, which he currently explores for his book “The Declarative Revolution”.
10:30break
11:00
Declarative thinking in SQL, its teaching and its unused potential
Günter BurgstallerHTBLuVA Wiener Neustadt

Despite its many warts and wrinkles, SQL is undeniably a declarative success story. Teaching declarative thinking is often impeded by the procedural mindset of students originating from their early training almost exclusively in imperative programming languages. While SQL databases are optimized for executing SQL, students tend to write inefficient and clumsy code using disputable so-called “procedural extensions”. A few typical examples will be presented. While a limited kind of declarative constraints are supported in SQL, implementations generally fall short of the potential of database-wide declarative constraints. Some notions are illustrated by looking at declarative referential integrity, triggers as a poor substitute and an experimental RDBMS called “Rel”. As a concluding impulse for discussion, the presumed waste of talented declarative minds by the overpowering imperative bias in teaching is addressed.

Günter Burgstaller teaches "Database and Information Systems" at the HTBLuVA Wiener Neustadt's informatics department since 2009. Austria's unique technical college system, recognised in the EU as third-level education, trains students from 14 years on to become highly-demanded engineers in the course of five years. Graduates are also eligible for university.
Prior to teaching, Günter Burgstaller worked for 15 years as a database and systems engineer in various IT companies.
11:45
Atomic Data: a modular specification for making the semantic web more practical
Joep Meindertsma

- The dream of the semantic web

- Why it hasn't become reality

- Problems in RDF & why it needs to be constrained - Introducing Atomic data

- Event sourcing (Commits), Atomic Schema, authorization

- Demo of open source tools

12:30lunch
13:30
On the representation of abstractions
Steven PembertonCWI
Data is an abstraction. In order to transfer it or talk about it, the abstraction has to be represented using some notation. The design of notations is a neglected area of study, yet the designs affect both what you can represent, and what you can do with what is being represented. XML is currently the most suitable and flexible of the available notations for representing data abstractions, and yet it has restrictions and some shortcomings that get in the way of properly representing abstractions. This paper discusses the issues, and reflects on which aspects of XML get in the way of abstractions.

Steven Pemberton is a researcher affiliated with CWI Amsterdam, the Dutch national research centre for mathematics and informatics. His research is in interaction, and how the underlying software architecture can support users. He co-designed the ABC programming language that formed the basis for Python. Involved with the Web from the beginning, he organised two workshops at the first Web Conference in 1994. For the best part of a decade he chaired the W3C HTML working group, and has co-authored many web standards, including HTML, XHTML, CSS, XForms and RDFa. He now chairs the XForms and ixml groups at W3C. This year he was awarded the ACM SIGCHI Lifetime Practice Award.

14:15
Element classification: a bottom up perspective
Diederik Gerth van Wijk
XML is top down oriented. In a DTD, an element type declaration specifies what content the element may contain, but in no way you can constrain in what context that element may be included. In document oriented languages, where mixed content is typical, it is worth looking up. By seeing in what way an element may occur in its potential parent elements one can classify elements. It raises questions like: is it "suspicious" if an element may occur in the mixed content of some elements, and in the element content of others? Is it suspicious if an element that may occur in mixed content has itself element content? What kind of elements occur in a repeatable OR group? What elements can serve as word boundaries? What does a SEQ group "mean"? Two sequence paradoxes will be mentioned, and by taking as an example both the content and the parents of the "paragraph next door" element we will find that what should be the second most used element in any document instance is actually missing in most industry standard markup languages.

Diederik Gerth van Wijk celebrates this year that 45 years ago he wrote his first computer program, studying economics at the Erasmus University Rotterdam. As an assistent to the department of computer science he had to write user manuals, which prompted him to invent his own markup system. His master thesis was on using “Word Lists for Intentional Text Processing”, and after his graduation he started working as a programmer with one of the electronic publishing houses of Wolters Kluwer’s. For 15 years he was responsible for maintaining and developing the DTDs of the law publishing division, during which he joined the Dutch normalisation committee for SGML; he also became editor of <!ELEMENT, the Dutch User Group’s journal. In 2007 he left Wolters Kluwer and became an independent consultant and programmer. The last years he is reflecting his sins and wondering if it isn’t time to create a theoretical foundation for the art of content modelling.

15:00break
15:30
Case study of a semantic library underpinning the four-corner model for document exchange
G. Ken HolmanCrane Softwrights Ltd.
ERP and business systems around the world are having to interconnect more today than ever before. Changing one's system to address interoperability can be a disruption and a risk. The four-corner model for document exchange addresses this in an interoperable network by requiring users' network representatives to exchange the semantic content of documents using a single declarative syntax. For business documents, multiple global networks have chosen the OASIS Universal Business Language (UBL) semantic library and XML syntax between access point network representatives. This is a model any industry sector can adopt to introduce successful interoperability into legacy environments.

G. Ken Holman is the editor of the Universal Business Language (UBL) 2.3 standard and the facilitator of the Business Payments Coalition (BPC) Exchange Framework Semantics Workgroup. He has spent his career helping committees and companies in determining semantic ontologies and taxonomies, and then realizing them in declarative markup.

16:15
Exploring the declarative nature of XProc 3.0
Achim Berndzen and Geert Bormans
In this presentation we want to explore some aspects of the XProc 3.0 language that could be considered as declarative, while pointing out some other aspects that are potentially not. For doing so we will build the case by looking at some common patterns relevant to pipeline authors. Stating that a programming language is "declarative", is not just a claim in computer science. It also has practical consequences. It is generally understood that declarative programming languages are easier to use and do allow people to solve problems in a shorter amount of time compared to other programming paradigms. Claiming that a programming language would be "declarative" implies that its use has commercial advances over other approaches to solve the same problem. The question whether XProc 3.0 is a declarative language is, to our knowledge, rarely addressed. Control structures like p:choose or p:try in XProc 3.0 might raise doubts about the declarative nature. On the other hand, the level of abstraction in XProc's step infrastructure might at least hint to declarative features. We felt that this tension offered enough motivation to give it some further thoughts. This presentation will not take the computer science theory route. Instead, we will focus on user experience while solving problems with XProc 3.0.

Achim Berndzen earned an M.A. in philosophy at Aachen University and has more than 20 years of teaching experience in communications.

In 2014 he founded <xml-project/>. He is developer of MorganaXProc and MorganaXProc-III, a fully compliant XProc 3.0 processor with an emphasis on configurability and plugability. Achim also works on projects use the power of XProc and other XML technologies for customers.

16:45break
17:00
Fixing EPUB - Great Expectations
Liam QuinDelightful Computing

The Extensible Markup language (XML) provides a way to share information with tagging specific to content domains, rhetorical forms, or other needs. By contrast, HTML markup is evolved synergistically with Web browsers in mind, and the tagging is largely specific to browsers. Although EPUB was (is) based on XML, it's also based on HTML: it uses XHTML for the documents. As a result, there is little to no support for domain-specific markup, and the ebook experience seems unimaginative, constrained by the intersection of Web browsing and content silos. What might happen if there could be communities evolving domain-specific markup for electronic texts? For 3D models or live mathematics, for poetry, for music and musical scores inside books? For conteext-specific dictionaries and glossaries, for per-chapter tables of contents and wayfinding cards, and so much more. Is there any way to enrich ebook readers in this direction?

Liam Quin was for many years in charge of XML work at W3C; they left in 2018 and now runs Delightful Computing, which is active in XML, Web and accessibility training and consulting.pan>

17:45
Tools for thought as cultural practices, not computational objects
Maggie Appleton

Over the last few years, “Tools for thought” has become a hot concept among software makers. We’ve seeing a surge in note-taking apps and knowledge management tools presenting themselves as TFTs. But there’s a strange paradox here: taken at face value, the phrase “tool for thought” doesn’t have the word ‘software’, ‘computer’ or ‘digital’ anywhere in it. It sounds like an idea that belongs to philosophy and cognitive science department, rather than computing. How and when did it become intertwined with computers? What are we to make of all the software upstarts identifying with this movement? And how can we push beyond them into a new generation of computational tools for thought?

Maggie is a designer, anthropologist, and mediocre developer. She currently leads design at Ought, an AI research lab exploring how machine learning can support open-ended reasoning. She previously spent years working in developer education, designing visual metaphors for programming concepts. She’s enthusiastic about visual programming, end-user development, and digital gardening.

18:15closing and drinks