Skip to content
Luis Diogo Couto edited this page Oct 2, 2015 · 5 revisions

Developer Documentation Index

Setting Up

Before you can do any work on Overture, you need to grab the code and set up a development environment.

  1. Prerequisites lists the required tools for Overture development. It also links to relevant external guides about them.
  • Checkout and Build Overture tells you how to get the code and build the tool. You'll need to do this before anything else.
  • Eclipse Setup explains how to set up the development environment and launch Overture in debug mode.

Main Documentation

Overture is roughly divided into core modules that implement the actual functionalities and ide modules that provide a user interface. We start by introducing the basics of the core modules and then move on to IDE basics.

  1. AST Guide gives a tour of the Overture VDM AST. Almost everything you do in Overture relies, to some extent, on the AST.
  • Visitor Guide complements the previous guide by describing the visitor pattern that is used whenever we need to interact with the AST.
  • Test Framework introduces the Overture test framework for writing test based on VDM source files. It is highly recommended that you test whatever code you add to Overture.
  • IO Guide explains how to interact with the Overture parser and type checker to grab and unpack an AST.
  • New Module Tutorial is a tutorial project that helps you build a new Overture core module from scratch.
  • Eclipse Reference Guide has information on Eclipse concepts that are relevant in Overture.
  • New IDE Plugin Tutorial takes the module built in the previous tutorial and integrates it into the Overture IDE via an Eclipse plug-in.
  • Advanced Visitor Guide discusses some of the more sophisticated features of the visitor implementation in Overture.

Other Topics

These guides cover specific issues that you may encounter in Overture. They are more or less independent of each other.

  • Release a plug-in explain the specific steps to build and distribute a new plug-in in the standalone releases of Overture.
  • Language Extensions gives a step-by-step explanation of how to add a VDM language extension to the Overture tool.
  • Remote Debugging explains how to debug Overture models through Eclipse. This can be helpful if standard debugging cannot help you identify a problem in the tool.
  • Organizing Visitors explains how you should split up a very large visitor into multiple classes.
  • Maven Guide gives a brief overview of how Maven works, especially in the context of Overture.
  • Architecture Guide has an overview of the Overture architecture. It doesn't really tell you how to do anything but it's good for orienting yourself around the code base.
  • CGP Tutorial gives a quick overview of how to extend the code generation platform to support a new language.
  • Working With Examples explains how the standard Overture examples are used in the build process.