ACM Home Page
Please provide us with feedback. Feedback
Specifying framework constraints with FCL
Full text PdfPdf (347 KB)
Source IBM Centre for Advanced Studies Conference archive
Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research table of contents
Markham, Ontario, Canada
Pages: 96 - 110  
Year of Publication: 2004
ISSN:1705-7345
Authors
Daqing Hou  Department of Computing Science, University of Alberta, Edmonton, Canada T6G 2E8
H. James Hoover  Department of Computing Science, University of Alberta, Edmonton, Canada T6G 2E8
Piotr Rudnicki  Department of Computing Science, University of Alberta, Edmonton, Canada T6G 2E8
Sponsors
NRC : National Research Council - Canada
: IBM Toronto Laboratory
: IBM Centre for Advanced Studies (CAS)
Publisher
IBM Press 
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 14,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
{2} Roger Crew. ASTLOG: A Language for Examining Abstract Syntax Tree. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 229-242, October 1997.
3
4
 
5
 
6
{6} Seth Hallem, Benjamin Chelf, Yichen Xie, and Dawson R. Engler. A System and Language for Building System-Specific, Static Analyses. In Proceedings of Operating Systems Design and Implementation (OSDI) 2002, Berlin, Germany, June 17-19 2002.
 
7
{7} Shui Ming Ho. Toward a Framework Constraint Language. In Joint CoLogNet Workshop on Component-based Software Development and Implementation Technology for Computational Logic Systems (ITCLS), Technical University of Madrid, Spain, 19-20, September 2002. Availabe at http://clip.dia.fi.upm.es/Conferences/ Colognet/ITCLS-2002/.
 
8
{8} Daqing Hou. FCL: Automatically Detecting Structural Errors in Framework-based Development. PhD thesis, University of Alberta, Edmonton, Alberta, Canada, December 2003. Available as technical report TR04-01 at http://www.cs.ualberta.ca.
 
9
 
10
{10} Daqing Hou, H. James Hoover, and Changyu Yin. The Framework Use Problem: A Preliminary Study with GUI Frameworks. In Proceedings of the First Midwest Software Engineering Conference , DePaul University, Chicago, IL, USA, May 2003.
11
 
12
 
13
{13} Alberto Mendelzon and Johannes Sametinger. Reverse Engineering by Visualizing and Querying. Software-Concepts and Tools, 16:170-182, 1995.
 
14
{14} Joseph Newcomer. FlounderCraft Ltd. Available at http://www.flounder.com.
 
15
{15} Object Management Group. Unified Modeling Language 2.0. Available at http://www.uml.org.
 
16
 
17
{17} Lutz Prechelt and Christian Kramer. Functionality versus Practicality: Employing Existing Tools for Recovering Structural Design Patterns. Journal of Universal Computer Science, 4(12): 866-882, December 1998. Available at http://www.ipd.uka.de/~prechelt.
 
18
 
19
{19} Shui Ming Ho. Private communication. August 2004.
 
20
{20} The Mizar Organization. The Mizar Project. Available at http://www.mizar.org.


Collaborative Colleagues:
Daqing Hou: colleagues
H. James Hoover: colleagues
Piotr Rudnicki: colleagues