Specifying framework constraints with FCL

  • Authors:
  • Daqing Hou;H. James Hoover;Piotr Rudnicki

  • Affiliations:
  • Department of Computing Science, University of Alberta, Edmonton, Canada T6G 2E8;Department of Computing Science, University of Alberta, Edmonton, Canada T6G 2E8;Department of Computing Science, University of Alberta, Edmonton, Canada T6G 2E8

  • Venue:
  • CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Object-oriented application frameworks are often misused because application developers do not know how the original framework designers intend their frameworks to be used. The goal of Framework Constraint Language (FCL) is to help detect errors in framework usage. FCL captures the intended usage of frameworks through framework constraints that describe the syntactic structures that frameworks impose on the code of framework-based applications. Framework constraints can be regarded as framework-specific typing rules conveyed by the FCL specifications and enforced by techniques analogous to those of conventional type checking. In essence, FCL is a first-order logic of the syntactic structure of programs. The feasibility and expressiveness of FCL have been evaluated by applying it to parts of frameworks, such as MFC (Microsoft Foundation Classes), and design rules such as Law of Demeter. The current version of the FCL language and associated checker is targeted at C++ frameworks.