| Property models: from incidental algorithms to reusable components |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 8, Downloads (12 Months): 97, Citation Count: 0
|
|
|
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
|
Brad A. Myers , Dario A. Giuse , Roger B. Dannenberg , David S. Kosbie , Edward Pervin , Andrew Mickish , Brad Vander Zanden , Philippe Marchal, Garnet: Comprehensive Support for Graphical, Highly Interactive User Interfaces, Computer, v.23 n.11, p.71-85, November 1990
[doi> 10.1109/2.60882]
|
 |
21
|
|
| |
22
|
Brad A. Myers , Richard G. McDaniel , Robert C. Miller , Alan S. Ferrency , Andrew Faulring , Bruce D. Kyle , Andrew Mickish , Alex Klimovitski , Patrick Doane, The Amulet Environment: New Models for Effective User Interface Software Development, IEEE Transactions on Software Engineering, v.23 n.6, p.347-365, June 1997
[doi> 10.1109/32.601073]
|
| |
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
|
Josh Bloch , Jaakko Jäarvi , David Musser , Sibylle Schupp , Jeremy Siek, LCSD: library-centric software design, Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
[doi> 10.1145/1176617.1176634]
|
| |
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
|
|
|