is still in progress, but besides the
Show
attribute it
also includes the
Query
attribute, that’s applied only
to method parameters. Methods that have at least one
parameter marked with the
Query
attribute, are in-
tercepted by GUILX system, so that final application
may ask user to input parameter values before method
execution (check Figure 4).
[Show("Rent this book")]
public void Rent(
[Query("How many Days?", QueryKind.allways)]
int Days)
{
...
}
Before Method
Execution
Figure 4: Example of ”Query” attribute.
Solution architecture is designed to delegate the im-
plementation of concrete GUI, to external software
package, which we’ve called Smart Templates. The
idea is allowing developers to define a GUILX Model
and then adquire a Smart Template that’s suitable for
the application GUI. Smart Templates are specialized
frameworks, developed by external entities that pro-
vide complete GUI services to the GUILX Model.
There can be Smart Templates developed by different
suppliers, for different devices and using completely
different methods. One can generate GUI automat-
ically, other can generate GUI partially and another
can create GUI from manual definitions.
The Binding Framework is responsible for
the interoperability between Smart Templates and
GUILX Model, so that these two layers don’t in-
teract directly, thus keeping them independent from
each other. It allows the Smart Template to query the
GUILX Model metadata, to create object instances
and to invoke methods of that objects. Also, it serves
as a controller, maintaining the execution context for
the GUI elements, thus controlling navigation through
entire application.
4 CONCLUSIONS
Proposed model provides an alternative approach to
create application GUI, allowing developers to refo-
cus on business code development and delegate com-
plete GUI creation to external software packages,
called Smart Templates. Although GUILX language
definition is still in an embryonic state, preliminar
results already produces functional prototypes, thus
proving the viability of our solution. Compared to
other methods of automatic GUI generation, we be-
lieve our solution is easier to use because it simplifies
the process of GUI model creation. Instead of rely-
ing on specialized abstract models, it uses a source
code based model, which is partially defined by infor-
mation already present on the original metadata and
complemented by the GUILX language extensions.
REFERENCES
Bruin, H. and Vliet, H. (2002). The future of component-
based development is generation.
Jelinek, J. and Slavik, P. (2004). Gui generation from an-
notated source code. In TAMODIA ’04: Proceedings
of the 3rd annual conference on Task models and di-
agrams, pages 129–136, New York, NY, USA. ACM
Press.
Lapalme, J., Aboulhamid, E. M., Nicolescu, G., Charest,
L., Boyer, F. R., David, J. P., and Bois, G. (2004).
Esys.net: a new solution for embedded systems mod-
eling and simulation. SIGPLAN Not., 39(7):107–114.
Lodhi, F. and Ghazali, M. A. (2007). Design of a simple
and effective object-to-relational mapping technique.
In SAC ’07: Proceedings of the 2007 ACM symposium
on Applied computing, pages 1445–1449, New York,
NY, USA. ACM.
Myers, B., Hudson, S., and Pausch, R. (2000). Past,
present, and future of user interface software tools.
ACM Transactions on Computer-Human Interaction
(TOCHI), 7(1):3–28.
Nichols, J. and Faulring, A. (2005). Automatic interface
generation and future user interface tools. ACM CHI
2005 Workshop on The Future of User Interface De-
sign Tools.
Rouvoy, R. and Merle, P. (2006). Leveraging component-
oriented programming with attribute-oriented pro-
gramming. In Proceedings of The 11th ECOOP In-
ternational Workshop on Component-Oriented Pro-
gramming, Nantes, France. Monday, July 3, 2006 at
ECOOP 2006, (July 3-7, 2006).
Schult, W. and Polze, A. (2002). Aspect-oriented pro-
gramming with c# and .net. Object-Oriented Real-
Time Distributed Computing, 2002.(ISORC 2002).
Proceedings. Fifth IEEE International Symposium on,
pages 241–248.
Szyperski, C. (1998). Component Oriented Programming.
Springer.
Vitharana, P. (2003). Risks and challenges of component-
based software development. Communications of the
ACM, 46(8):67–72.
Wada, H. and Suzuki, J. (2005). Modeling turnpike fron-
tend system: a model-driven development framework
leveraging uml metamodeling and attribute-oriented
programming. In Proceedings of The 8th ACM/IEEE
International Conference on Model Driven Engineer-
ing Languages and Systems, Montego Bay, Jamaica.
ISBN: 978-3-540-29010-0.
ICEIS 2008 - International Conference on Enterprise Information Systems
452