
basically need to know about the pattern language
usage, in order to instantiate the framework. Thus,
system development is focused on the functionality
required, with a clear notion of which requirements
are attended by each pattern.
The visual builder can also be used as an
instrument to compose systems from patterns,
choosing each pattern from its syntactic structure,
instead of its semantic meaning in the pattern
language domain, thus enlarging enormously the
domain of applications that can be generated.
Several systems were developed by students
using GREN-Wizard, with good results in
productivity and requirements satisfaction. The
analysis step, for these case studies, took in average
2 hours for medium applications such as: video
rental with 32 classes, product sales with 16 classes,
car repair shop with 22 classes, library with 24
classes, among others. The time required to develop
these applications, using GREN-Wizard was
approximately half an hour for each of them, while
the same application, when manually instantiated
using the white-box version of the framework, took
approximately 10 hours. Notice that programming
these applications from scratch would require
several one-person-week work.
Other case studies are being conducted to
evaluate the visual builder usability and the
difficulties to implement the functionalities not
provided by the framework. Some early results point
that, a significant part of the non-attended
functionality, can be used as feedback to improve
the framework, while a minor part should be
implemented only in the specific application.
As shown in this paper, the Visual Builder does
not have a graphical interface yet. We are working
now in developing an interface with the UML CASE
tool ROSE, such that the patterns can be chosen
from graphical templates, adapted according to the
application semantic and exported to our tool using
XML, for example.
GREN-Wizard is being used as a prototype
creation tool, to support an agile process, named
PARFAIT, for reengineering in the domain of
business resource management (Cagnin et al. 2003).
Aspect based development (Kiczales, 1996) is
being used within a Master’s research to include
non-functional requirements in applications
instantiated from the framework/pattern language.
REFERENCES
Aarsten, A.; Brugali, D.; Menga, G. 2000. A CIM
Framework and Pattern Language, in “FAYAD, M.
E. & JOHNSON, R. E. (eds.). Domain-Specific
Application Frameworks: Frameworks Experience by
Industry, John Wiley & Sons.”, p. 21-42.
XXX, X. X. X.; YYY, Y. Y. Y.; ZZZ, Z. Z. 1999 A
Pattern Language for Business Resource Management.
Proceedings of the 6th Pattern Languages of
Programs Conference (PLoP’99), Monticello-IL,
USA, v.7, p. 1-34.
XXX, X. X. X.; YYY, Y.Y., 2002. A Process for
Framework Construction Based on a Pattern
Language. In: Proceedings of the 26
th
Annual
International Computer Software and Applications
Conference, Oxford, IEEE Computer Society, 2002. p.
615-620
XXX, X. X. X.; YYY, Y.Y., 2003. Building a Wizard for
Framework Instantiation Based on a Pattern Language.
In: 9
th
International Conference on Object-Oriented
Information Systems, Genebra, Suiça. Lecture Notes
on Computer Science, LNCS 2817, Springer, p. 95-
106.
Brugali, D.; Menga, G.; Aarsten, A. 2000. A Case Study
for Flexible Manufacturing Systems, in in “Fayad, M.
E. & Johnson, R. E. (eds.). Domain-Specific
Application Frameworks: Frameworks Experience by
Industry, John Wiley & Sons.”, p. 85-99.
Brugali, D. & Menga, G. (1999). Frameworks and Pattern
Languages: an Intriguing Relationship. In ACM
Computing Surveys, march 1999.
Cagnin, M.I.; Maldonado, J.C.; Penteado, R.; Germano, F.
2003. PARFAIT: Towards a Framework-based Agile
Reengineering Process. In: Agile Development
Conference (ADC'2003), IEEE Proceedings, p. 22-31.
Coplien, J.O. 1998. Software Design Patterns: Common
Questions and Answers, in Linda Rising (editor)
(1998) The Patterns Handbook: Techniques,
Strategies, and Applications, Cambridge University
Press, New York, p. 311-320.
Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. (1995).
Design Patterns – Elements of Reusable Object-
Oriented Software. Reading-MA, Addison-Wesley.
Johnson, R. & Woolf, B. 1997. Type Object, chapter 4, In
“Martin et al. et al. (1998), Pattern Languages of
Program Design 3, Reading-MA, Addison-Wesley”, p.
47-65.
Kiczales, G. 1996. Aspect-oriented programming. ACM
Computing Surveys, v. 28, n. 4es, p. 154.
Pressman, R. S. Software Engineering – A Practitioner’s
Approach, 2001. 5
th
edition. McGraw Hill.
Roberts, D. & Johnson, R. E. (1998). Evolving
Frameworks: A Pattern Language for Developing
Object-Oriented Frameworks, in “Martin et al. (1998),
Pattern Languages of Program Design 3, Reading-
MA, Addison-Wesley”, p. 471-486.
Weiss, D. M. & Lai, C. R. R. 1999. Software product-line
engineering. Addison-Wesley.
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
162