...collaborate on

Haskell Biding to GraphViz

HaskellGraphViz

Student: João Paulo Barbosa

Overview

This project consists of creating a Haskell binding to AT&T's GraphViz library. This involves using a Foreign Function Interface (FFI) to invoke the C functions of the GraphViz library from within Haskell. To simplify the task of writing this FFI invocations, a tool named GreenCard is beeing used. Next, an abstraction layer is introduced to hide all the miscelaneous procedures of GraphViz and to provide a simple, but powerfull interface to the Haskell application.

With a minimal binding it's possible to replace the graph visualization support in the HaLex library (generating DOT) by invocations to the foreign functions specified. Also, new instances are declared of the types witch one wants to visualize. HaLex is an instance, since UMinho's Haskell Libraries uses GraphViz widely. This is of course a incremental work and hopefully in the end one could visualize and interact with data.

Implementation

To be updated soon... need to sleep... (Knock, Knock.... wake up.... :)) (Who's there?) (That's me! :))

Greencard

Graphviz

Core

Attribute

Graphable

Layoyt

Render

UI

Future Work

Download

Checkout module Graphics.Graphviz from Research.PURe CVS repository. PUReSoftware

Presentations

Recomended Literature

  1. An open graph visualization system and its applications to software engineering, Emden R. Gansner and Stephen C. North, Software - Practice and Experience, 1999.
  2. Drawing graphs with Graphviz, Emden R. Gansner, 2004.
  3. The Haskell 98 Foreign Function Interface 1.0: An Addendum to the Haskell 98 Report, Manuel Chakravarty (ed.), 2002,2003.

-- JoaoPBarbosa - 04 Mar 2005

r10 - 12 Feb 2007 - 19:32:09 - JoseBacelarAlmeida
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM