The Manage Entity Pattern is composed of three
use cases, two extension relations and references the
classes referenced by the aggregated use cases. And,
as its instance has a concrete graphical symbol, that
may be used as a construct in the use case model
with the same semantics as the aggregated elements
(use cases, use case relations, and referenced
classes). As mentioned before, this allows
substituting one by the others, in a use case model,
simplifying the model by eliminating elements and
substituting them by one, with the same semantics,
which can be understood as being at a higher
abstraction level. This rationale is applicable to all
the other patterns introduced in section 3.
The only constraint that must be observed by
every use case pattern is that the classes (entities)
referenced by the use case pattern must be the ones
referenced by the use cases in the pattern. In OCL,
this could be stated as:
Context UseCasePattern inv:
self.entities->asSet() ==
(self.useCases->collect(subject))
->flatten()
->asSet()
5 CONCLUSIONS
In order to ease the construction of detailed fine
grained use case models, this paper proposes a new
use case pattern language.
The proposed use case pattern language allows
the modeling of fine grained use cases, without
overcrowding the model with use cases and without
losing the relation to the standard UML use case
language. This enables using the proposed use case
pattern language constructs intermingled with the
standard UML use case notation, as every construct
can be converted to a standard UML use case
pattern, and vice-versa.
Notice that the need for a consistent
corresponding domain model is not changed.
However, the proposed language emphasizes the
association between use cases and the corresponding
domain model entities, by stressing each use case
pattern collaborating entity in the graphical
construct.
Future work will further formalize the new
pattern language by addressing the forth and
backwards transformation between models in the
proposed pattern language and standard UML use
case models. Another goal for future work is the
development of a modeling tool that enables use
case modeling, and pattern identification and
substitution in the model.
REFERENCES
Cruz, A. M. R., Faria, J. P., 2009. Automatic generation of
user interface models and prototypes from domain and
use case models. In Proceedings of the ICSoft 2009,
Sofia, Bulgaria, vol. 1, pp. 169–176. INSTICC Press.
Cruz, A. M. R., Faria, J.P., 2010. A Metamodel-based
Approach For Automatic User Interface Generation.
In Proceedings of the 13
th
ACM/IEEE International
Conference on Model Driven Engineering Languages
and Systems (Models 2010), Part 1, LNCS 6394,
pp.256-270, Oslo, Norway. Springer-Verlag Berlin
Heidelberg.
Cruz, A. M. R., 2010. Automatic generation of user
interfaces from rigorous domain and use case models.
PhD dissertation. FEUP, University of Porto, Portugal.
Frankel, D. S., 2003. Model Driven Architecture -
Applying MDA to Enterprise Computing. Wiley
Publishing, Inc., Indianapolis.
Jacobson, I., Booch, G., Rumbaugh, J., 1998. The Unified
Software Development Process. Addison Wesley,
Reading.
OMG, 2011. OMG Unified Modeling Language (OMG
UML), Superstructure. Version 2.4.1. Available in
http://www.omg.org/spec/UML/2.4.1/Superstructure/
Vlissides, J., Coplien, J. and Kerth, N. (editors), 1996.
Pattern Languages of Program Design, Volume 2,
Addison Wesley, Pearson Education, Boston.
Winn, T. and Calder, P., 2006. A Language Designer’s
Pattern Language. Chapter in book Pattern Languages
of Program Design 5. Volume 5, Addison Wesley,
Pearson Education, Boston.
MODELSWARD2014-InternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
414