16.01.2013 Views

Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...

Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...

Proceedings of the 13 ESSLLI Student Session - Multiple Choices ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Proceedings</strong> <strong>of</strong> <strong>the</strong> <strong>13</strong> th <strong>ESSLLI</strong> <strong>Student</strong> <strong>Session</strong><br />

complementing <strong>the</strong> UML’s visual nature (Kent, 1997). The constraint diagram in figure 1<br />

shows a constraint in a library management system. Amongst o<strong>the</strong>r things it states that<br />

people can only borrow books that are in <strong>the</strong> collections <strong>of</strong> libraries <strong>the</strong>y have joined.<br />

Figure 1: A constraint diagram and an Euler diagram.<br />

There are many reasons that we might want to use diagrams to represent information,<br />

including <strong>the</strong> potential <strong>of</strong> diagrams for well matchedness and free rides. A diagram is<br />

well matched to its subject if it presents <strong>the</strong> key features <strong>of</strong> that subject effectively and in<br />

a way that seems intuitively clear to <strong>the</strong> viewer (Gurr and Tourlas, 2000). A well matched<br />

diagram can make certain reasoning tasks appear to be easier when compared with a symbolic<br />

representation <strong>of</strong> <strong>the</strong> same information. Free rides occur when a diagram provides<br />

some information ‘naturally’ or ‘for free’ which would need to be explicitly stated in, or<br />

derived from, a symbolic representation (Shimojima, 2004). For example, in <strong>the</strong> Euler diagram<br />

in figure 1, <strong>the</strong> fact that <strong>the</strong> contour Spaniels is placed within GunDogs asserts directly<br />

that Spaniels ⊆ GunDogs but also allows <strong>the</strong> viewer to infer Spaniels ⊆ Dogs and<br />

Spaniels ∩ Cats = ∅. Details <strong>of</strong> well matchedness and free rides in constraint diagrams<br />

can be found in (Stapleton and Delaney, 2008). In some circumstances <strong>the</strong> expressive<br />

power <strong>of</strong> diagrams can produce ambiguity, or lead <strong>the</strong> viewer to make false inferences.<br />

However, many diagrammatic notations now have formal, unambiguous semantics, <strong>of</strong><br />

which Euler and constraint diagrams are prominent examples.<br />

Our ultimate goal is to create a Domain Specific Embedded Language (DSEL) for<br />

several systems <strong>of</strong> diagrammatic reasoning, with two main aims: to explore <strong>the</strong> benefits<br />

and boundaries <strong>of</strong> <strong>the</strong> emerging style <strong>of</strong> programming that mixes formal methods with<br />

programming, and to support <strong>the</strong> work which aims to establish visual logics as a valuable<br />

tool in formal methods.<br />

The DSEL will be written in Haskell and will consist <strong>of</strong> statically verified code which<br />

will allow <strong>the</strong> user to manipulate and reason with a variety <strong>of</strong> visual logics such as Euler<br />

diagrams, spider diagrams and constraint diagrams (see Section 2). The DSEL, <strong>the</strong>refore,<br />

shares one <strong>of</strong> <strong>the</strong> primary aims <strong>of</strong> visual logics — to make formal reasoning more accessible<br />

and widely used. Reasoning about design and implementation have traditionally<br />

taken place in separate phases <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware process, with <strong>the</strong> onus on <strong>the</strong> programmer<br />

to bridge <strong>the</strong> gap between <strong>the</strong> two. One <strong>of</strong> <strong>the</strong> benefits <strong>of</strong> combining both activities in one<br />

phase is that constraints modelled by a programmer using <strong>the</strong> DSEL will form s<strong>of</strong>tware<br />

components in <strong>the</strong>ir own right, resulting in diagrams with <strong>the</strong> same type as functions in<br />

48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!