SMS), and the following functional features – 23,
24, 25, 26. As a result existing cause-effect relations
are rechecked and the set X = {2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25,
26}. The resulting model is represented in Fig. 3b.
The final mappings of requirements onto the
functional features are illustrated in Fig. 3c.
Step 3: Use Case Model Construction. Transition
from an initial problem domain model to a CIM
“output” model, i.e. a use case model, goes as
follows: 1) Identification of business users (actors
and workers) and their goals. Actors are external
entities that establish business goals. In the TFM,
they are represented as external objects responsible
for functional feature execution. Workers are
system’s inner entities (humans, roles, etc.), who
either establish system goals or implement them and
business goals (OMG, 1997). Identification of goals
is identification of the set of functional features
necessary for the satisfaction of the goal; 2)
Identification and refinement of system’s use cases
that includes discovering functional features
specified by requirements that are needed to achieve
a business goal. It enables formal identification of a
use case model from the TFM. An executor of the
goal is transformed into an (UML) actor. Identified
use cases can be represented in an UML activity
diagram by transforming functional features into
activities, and cause-effect relations into control
flows; 3) Use case prioritizing is defined in
conformity with the main functional cycle (critical,
important, useful).
In our example, actors are a person, a reader, and
a utilizer. Workers are a librarian and the system
itself. The resulting use-case model, where workers
are transformed into actors, goal names into use case
names, functional features into steps of the
corresponding use case is shown in Fig. 4a.
Step 4: Obtaining a Concept Diagram. The last
step is identification of a conceptual class model.
After Step 3, the TFM shows functionality that must
be implemented, and includes all concepts that are
necessary for proper functioning.
In order to obtain a conceptual class model each
TFM functional feature is detailed to the level where
it only uses one type objects. After that, this model
must be transformed one-to-one into a problem
domain object graph, and then vertices with the
same type of objects must be merged keeping all
relations with other graph vertices. As a result, a
conceptual class graph with indirect associations is
defined. Concepts used in the main functionality are
necessary in all cases. Such transformation also
indicates possible inheritance relations, and use case
interfaces.
In our example, the step of the TFM refinement is
skipped. Fig. 4b reflects the TFM after the gluing of
all graph vertices with the same object types. This
reflects the idea proposed in (Osis, 2004), (Osis,
2006) that the holistic domain representation by
means of the TFM allows identifying of all
necessary domain concepts, and, even, allows to
define their necessity for a successful
implementation of the system.
4 AUTOMATION OF THE
TFMFMDA
The TFMfMDA uses a complex graph-based
constructs that require additional efforts. The main
purpose of a tool for the TFMfMDA is the model
management, i.e. model verification, traceability
handling, step automation, etc. This section
discusses the concept of the tool that is approved to
be realized at Riga Technical University.
The tool supports client-server architecture. The
server keeps information about models; the client
part enables the connection with the server and the
use of the kept information. It is implemented as an
Eclipse plug-in (Eclipse.org). Eclipse is an open
development platform that consists of different
components, which helps in developing Integrated
Development Environments (IDEs).
For the TFMfMDA tool realization the following
Eclipse components were used: Workbench UI, Help
system, and Plug-in Development Environment
(PDE). The Workbench UI is responsible for plug-in
integration with Eclipse User Interface (UI). It
defines extension points, by using which a plug-in
can communicate with the Eclipse UI. Help System
provides complete integration of help information
into the Eclipse help system. PDE is the
environment that enables automation of activities
related to the plug-in development.
The tool allows working with textual information
(an informal description, a functional requirements
description), and graph-based constructs (a
topological functioning model, a conceptual class
model, a use case model).
MDA ORIENTED COMPUTATION INDEPENDENT MODELING OF THE PROBLEM DOMAIN
69