ACM Home Page
Please provide us with feedback. Feedback
Property models: from incidental algorithms to reusable components
Full text PdfPdf (334 KB)
Source
Generative Programming And Component Engineering archive
Proceedings of the 7th international conference on Generative programming and component engineering table of contents
Nashville, TN, USA
SESSION: Technical papers 3 table of contents
Pages 89-98  
Year of Publication: 2008
ISBN:978-1-60558-267-2
Authors
Jaakko Järvi  Texas A&M University, College Station, TX, USA
Mat Marcus  Adobe Systems, Inc., Seattle, WA, USA
Sean Parent  Adobe Systems, Inc., San Jose, CA, USA
John Freeman  Texas A&M University, College Station, TX, USA
Jacob N. Smith  Texas A&M University, College Station, TX, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 97,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1449913.1449927
What is a DOI?

ABSTRACT

A user interface, such as a dialog, assists a user in synthesising a set of values, typically parameters for a command object. Code for "command parameter synthesis" is usually application-specific and non-reusable, consisting of validation logic in event handlers and code that controls how values of user interface elements change in response to a user's actions, etc. These software artifacts are incidental - they are not explicitly designed and their implementation emerges from a composition of locally defined behaviors.

This article presents property models to capture explicitly the algorithms, validation, and interaction rules, arising from command parameter synthesis. A user interface's behavior can be derived from a declarative property model specification, with the assistance of a component akin to a constraint solver. This allows multiple interfaces, both human and programmatic, to reuse a single model along with associated validation logic and widget activation logic.

The proposed technology is deployed in large commercial software application suites. Where we have applied property models, we have measured significant reductions in source-code size with equivalent or increased functionality; additional levels of reuse are apparent, both within single applications, and across product lines; and applications are able to provide more uniform access to functionality. There is potential for wide adoption: by our measurements command parameter synthesis comprises roughly one third of the code and notably more of the defects in desktop applications.


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
Cocoa Appliation Tutorial. Apple Inc., October 2007. URL http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/.
 
2
ASL. Adobe Source Libraries. Adobe Systems, Inc., 2005. URL stlab.adobe.com.
3
4
 
5
John M. Boyer, Micah Dubinko, Jr. Leigh L. Klotz, David Landwehr, Roland Merrick, and T. V. Raman. XForms 1.0 (Third Edition), October 2007. URL http://www.w3.org/TR/2007/REC-xforms-20071029/.
 
6
Steve Burbeck. Applications Programming in Smalltalk-80(TM): How to use Model-View-Controller (MVC), 1987. URL http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html.
 
7
Neil Deakin. XUL tutorial. Webpage, February 2006. URL http://www.xulplanet.com/tutorials/xultu/.
 
8
 
9
 
10
Bjorn N. Freeman-Benson and John Maloney. The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver. Computers and Communications, 1989. Conference Proceedings., Eighth Annual International Phoenix Conference on, pages 538--542, March 1989.
11
 
12
Ernest Friedman-Hill. Jess 7, February 2008. URL http://www.jessrules.com/jess/charlemagne.shtml.
 
13
 
14
Sofie Goderis, Dirk Deridder, Ellen Van Paesschen, and Theo D'Hondt. DEUCE: A declarative framework for extricating user interface concerns. Journal of Object Technology, 6(9):87--104, October 2007. URL http://www.jot.fm/issues/isue 2007 10/paper5/. Special Issue: TOOLS EUROPE 2007.
 
15
16
 
17
 
18
 
19
Mozilla. XML user interface language (XUL) 1.0. Mozilla Foundation, March 2006. URL http://www.mozilla.org/projects/xul/xul.html.
 
20
21
 
22
 
23
 
24
Parasol 2008. Property Models Research Project's Home Page. Parasol Lab, Computer Science, Texas A&M University, 2008. URL http://parasol.cs.tamu.edu/groups/pttlgroup/property-models.
 
25
Sean Parent. Adobe Property Model Library. Adobe Systems, Inc., 2005. URL http://stlab.adobe.com. Part of Adobe Source Libraries.
26
 
27
Mark Proctor, Michael Neale, Bob McWhirter, Kris Verlaenen, Edson Tirelli, Fernando Meyer, Alexander Bagerman, Michael Frandsen, Geoffrey De Smet, Toni Rikkola, Steven Williams, Ben Truit, Ritu Jain, Chinmay Nagarkar, and Denis Ahearn. Drools, 2008. URL http://www.jboss.org/drools/.
28
29
 
30
Gilles Trombettoni and Bertrand Neveu. Computational complexity of multi-way, dataflow constraint problems. In IJCAI (1), pages 358--365, 1997.
 
31
XAML. XAML: Extensible application markup language. Microsoft Developer Network (MSDN), 2008. URL http://msdn.microsoft.com/en-us/library/ms747122.aspx.
32

Collaborative Colleagues:
Jaakko Järvi: colleagues
Mat Marcus: colleagues
Sean Parent: colleagues
John Freeman: colleagues
Jacob N. Smith: colleagues