Program Understanding and Re-engineering: Calculi and Applications




Sep 18 Paper Towards a Coordination Model for Interactive Systems by MarcoAntonioBarbosa, JoseCampos and LuisSoaresBarbosa has been accepted for FMIS'06 (Macau).

July 3 Paper Configurations of Web Services by MarcoAntonioBarbosa and LuisSoaresBarbosa has been accepted for FOCLASA'06 (Bonn, Germany).

July 3 Paper Strong Types for Relational Databases by Alexandra Silva and JoostVisser has been accepted for the Haskell Workshop 2006 (Portland, USA).

June 16 Paper Strongly Typed Rewriting For Coupled Software Transformation (by AlcinoCunha and JoostVisser) accepted by RULE 2006 (Seattle, USA).

May, 26 Paper Transposing Partial Coalgebras (by LuisSoaresBarbosa and JoseNunoOliveira) accepted for publication in TCS, Elsevier.

May, 11 Papers Type-safe two-level data transformation (by AlcinoCunha, JoseNunoOliveira and JoostVisser) and Pointfree factorization of operation refinement (by JoseNunoOliveira and Cesar Rodrigues) have been accepted by FM'06 (Canada).

May, 8 A paper entitled An Orchestrator for Dynamic Interconnection of Software Components, by MarcoAntonioBarbosa and LuisSoaresBarbosa, accepted at MTCoord'06 (Bologna).


UMinho Haskell Software -- Libraries & Tools

The UMinho Haskell Software is a repository of software, written in the functional programming language Haskell, that is being developed in the context of various research and educational projects. The objective is to enable use and reuse of software accross project boundaries. In particular, software developed in the context of the Research.PURe Project, is collected into the UMS repository.

The UMS repository is roughly partitioned into two parts:

  • Libraries: a hierarchical library of reusable modules.
  • Tools: a collection of tools.

The libraries offer reusable functionality. Each tool bundles part of the library functionality behind an interactive or command-line interface.

If you want to contribute, please consult UsingCVS.

The UMinho Haskell Libraries

The UMinho Haskell Libraries are located in the libraries subdirectory. The modules included in the libraries cover a wide range of functionality, for instance:

  • Data.Relation: Representation and operations on relations. A special case of relations are graphs. The operations include graph chopping and slicing, strong connected component analysis, graphs metrics, and more.
  • Language.Gnumeric: Support for analysis and manipulation of spreadsheets.
  • Language.Java: Support for analysis and manipulation of Java programs.
  • Pointless: Support for pointfree programming.
  • Camila: Support for VDM like concepts, such as data type invariants, pre- and post-conditions, and more.

For a complete overview, see the online API documentation for version 1.0, generated with Haddock. In the distribution, the API documentation can be found in the subdirectory libraries/documentation.

The libraries subdirectory contains a Makefile that allows you to easily do various things, among which:

make ghc compile all library modules with GHC
make ghci load all library modules into GHCi
make haddock generate library documentation with Haddock
make dist generate a distribution of the library
make hunit run HUnit on all test modules
make quickCheck run quickCheck on all library modules
make ghood generate GHood applets

If you want to operate on just a part of the library, you can do that by overriding the Makefile's top variable, for instance as follows:

  make top=Data/Relation ghci
And likewise for any other target. Consult the Makefile for other variables that can be overridden.

The UMinho Haskell Tools

Several tools are included in the UMS distributions, among which:

DrHylo Derives hylomorphisms from restricted Haskell syntax.
ChopaChops Graph slicing and chopping.
HaGLR Generalized LR parsing.
SdfMetz An SDF monitoring tool
Camila Prototype Camila interpreter

Further tools are under development, and will be included in future releases, such as:

VooDooM Transforms VDM datatypes to a relational representation.


Stable releases

Version Date Download Docs Includes
1.0 April 5, 2005 zip html Libraries & Camila, ChopaChops, DrHylo, HaGLR, HaLex, SdfMetz


Version Download Docs Includes:
2004.26.11 zip n/a Libraries, VooDooM, DrHylo, HaGLR, ChopaChops
2004.08.11 zip html Libraries, VooDooM, DrHylo, HaGLR, ChopaChops
2004.06.22 zip html Libraries, VooDooM, DrHylo
2004.03.09 zip html Libraries, VooDooM, DrHylo


For any questions about the UMinho Haskell Libraries and Tools, please contact:

Online demos

Demo Description
HaLex Lexing
HaGLR Generalized LR parsing
ChopaChops Viewing and chopping Java package graphs
HaskellGraphs Viewing and chopping Haskell module and function graphs
FCA Formal Concept Analysis
Type inference Type reconstruction from variable usage

Other software

  • MatchO: support for matching objects in Java. Includes library and generator.
  • INblobs: An editor and interpreter for Interaction Nets - a formalism for functional programming.

r21 - 12 Feb 2007 - 19:42:50 - JoseBacelarAlmeida
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM