-
Notifications
You must be signed in to change notification settings - Fork 25
IDE Modules
The IDE components form the Eclipse based Overture IDE. All of the components are prefixed by org.overture.ide
.
The Builders.Vdmj component contains the builders for the three different types of VDM project (SL,PP and RT). a builder is a process that runs after a change occurs in a project resource. In Overture, a builder parses and type-checks a project after a change has been made. A builder is tied with a nature of a project via the extension point "org.overture.ide.core.buildParticipant".
<extension
point="org.overture.ide.core.buildParticipant">
<builder
class="org.overture.ide.builders.vdmj.BuilderPp"
nature="org.overture.ide.vdmpp.core.nature">
</builder>
</extension>
The builder class must extend the AbstractVdmBuilder
class present in the ide.core
. For convenience, the builder class can extend the VdmjBuilder
class; then it is only required to implement the buildModel
and typeCheck
methods.
Interesting sources in the builder component include:
-
org.overture.ide.builders.vdmj.BuilderSl
- the VDM-SL builder -
org.overture.ide.builders.vdmj.BuilderPp
- the VDM-PP builder -
org.overture.ide.builders.vdmj.BuilderSl
- the VDM-RT builder -
overture.ide.builders.vdmj.VdmjBuilder
- the superclass of all the above builders -
ide/builders/vdmj/plugin.xml
- Connects a builder with a nature
For more about builders in Eclipse, see http://www.eclipse.org/articles/Article-Builders/builders.html
- IDE-Core - contains IDE core classes such as VdmProject, VdmBuilder, VdmModel, VdmModelManager and ResourceManager.
- Debug- contains the IDE parts related with launching a debug session (Launch Configurations) and the Debug Perspective. Also contains the client side of the Debug protocol (http://xdebug.org/docs-dbgp.php) used to communicate with the interpreter.
- Help - contains the Overture Help Pages
- Parsers.Vdmj - contains the parsers for specific dialects of VDM;
- Platform - countains the branding parts (Overture splash screen, icons, about box, etc.) and features to be included in Overture
- UI - a great deal of the UI parts of Overture are defined here e.g. VDM Perspective, VDM Navigator, VDM Editor, etc.
- VdmSL.Core - contains VDM-SL project Nature
- VdmSL.Debug - contains dialect specific classes related with launching and Debug Configurations
- VdmSL.UI - contains dialect specific editor features like: keywords, templates and content assist. Also includes the dialect specific wizards.
- VdmPP.Core - contains VDM-PP project Nature and constants
- VdmPP.Debug - contains dialect specific classes related with launching and Debug Configurations
- VdmPP.UI - contains dialect specific editor features like: keywords, templates and content assist. Also includes the dialect specific wizards.
- VdmRT.Core - contains VDM-RT project Nature
- VdmRT.Debug - contains dialect specific classes related with launching and Debug Configurations
- VdmRt.UI - contains dialect specific editor features like: keywords, templates and content assist. Also includes the dialect specific wizards.
- talk about the eclipse influences (plug-ins and features)
- talk about the core module wrapping+exposure technique (OSGi manages deps)
- Present overall IDE architecture
- Present each IDE Module (what does it wrap/export? what are its UI contributions?)
- mention the adapter stuff
- mention the model utilities
- mention the UI utilities