Faculty of Information Technology Programming Languages and Systems
Skip to Content
QUT Home FIT Home PLAS Home Projects People Wiki Contacts
 
     

Mentok: A Programming Language for Software Components

   

Overview

Component software has many benefits, most notably increased software re-use; however, the component software process places heavy burdens on programming language technology, which modern object oriented programming languages do not address. In particular, software components require contractual specifications that are both sufficiently expressive and sufficiently abstract, and, where possible, these specifications should be checked formally by the programming language. This project shows how a modern, object-based programming language can be extended to increase component specification.

The problem domain for specification is stateful, component roles, with particular emphasis on specifying dependencies for re-entrance across roles. The language has two extensions for supporting this.

1) Negotiable interfaces are interface types extended with protocols, which allow specification of changing method availability for stateful roles.

2) Type layers are extensions to module signatures, which specify dependencies between the interfaces of an application and can be combined to form an abstract runtime architecture.

The language extensions have been added to a variant of the Component Pascal programming language (gpcp).

Research team

Supervisor
Associate Professor Paul Roe

Research Students
Simon Kent

 

PLAS
Projects
  ActiveSheets
  Bioinformatics
  ConcernMaps
  ELP
  ELP.NET
  G2 Cluster Computing
  Generics
  Gardens Point Component Pascal
  Gardens Point Flow
  Gardens Point Modula
  Gardens Point Service Language
  Language Processing Tools
  * Mentok
  Metaphor
  Mobilizer
  RikWik
Ruby.NET
People
Wiki
Contacts