important component of model-driven development.
In JET, codes are outputted using templates. Models
can be applicable to various systems by changing
templates. JET is also useful to raise the reusability
of models.
4 PROPOSED METHOD
This chapter describes a proposed method. The
method applies the model-driven development
method to develop the TPS in the model theory
approach, and cuts down the amount of development
efforts. A concrete process is as follows:
(1) Design of Platform Independent Models from
Requirement Specifications
(2) Design of Platform Specific Models
(3) Automatic Generation of Source Codes
written by Cast from the platform specific
models
4.1 Details of the Proposed Method
To generate Cast codes of the model theory
approach using the model-driven method needs
requirement specifications of a system and a model
of the TPS. The former describes only requirement
specifications, and it does not include information
on the TPS. In other words, they are independent
models on implementing technologies. Therefore, it
is necessary to use a flexible and general modeling
language. The proposed method uses UML. On the
other hand, the latter is a model to be designed and
developed by the TPS. The proposed method defines
an original model and uses it for the latter. This
model will be called a TPS model. For creating the
model from requirement specifications, the proposed
method uses UML diagrams to design the TPS
model, and an automatic code generation method to
transform the TPS model into Cast codes.
4.2 Modeling Requirement
Specifications using UML
UML is defined as a notation of models in order to
advance analysis, design, and implementing of a
system. UML defines only the notation of models,
but it does not include systems development
methodology. The latest version is UML2.1
(UML2.1, n.d.) and it consists of 13 different kinds
of diagrams. The reason why the proposed method
uses UML is that it is one of the most widely used
modeling languages at present. It is important to use
a modeling language being used widely because
users and developers can understand their intentions
Figure 4: Inclusion relationship between use cases.
to each other. The proposed method uses the
following diagrams to model requirement
specifications:
(1) Use Case Diagram. A use case diagram
expresses functions to be implemented. The
functions correspond to interface elements I/F of
Fig. 1, and they are defined by a use case diagram.
To describe the TPS, you must define functions
(main use case) whose granularity are comparatively
large, and indivisible functions (sub use case) that
are contained in a main use case. This relation of the
use cases can be expressed by using inclusion
relation of UML2.1. The inclusion relation between
a main use case and a sub use case may be in the
relation of many-to-many. An inclusion relation is
described using include stereotype. Fig.4 shows this
situation.
(2) Class Diagram. A class diagram defines
attributes of a data file for business. The data file is
stored in a file system or a database, and
corresponds to a memory (DB) in Fig. 1. The usage
of a class diagram in the proposed method is closer
to an entity in Entity-Relationship diagram than a
concept of the class in object-oriented development.
An attribute is defined so that it may be normalized
in third normal form in a relational database.
(3) Activity Diagram. An activity diagram expresses
a process to realize sub use cases and user defined
functions. An activity diagram is created for every
sub use case defined by the use case diagram. This
corresponds to state transition function δ and output
function λ shown in Fig. 1. A user does not need to
consider that a movement of the system is an
automaton, but just to describe them like a
flowchart.
A system developer creates these UML diagrams
at first, and creates specific models for the TPS. Cast
code generation from the model is performed using
this TPS model and the activity diagrams.
4.3 Designing TPS Model for Code
Generation
A TPS model is an original defined model of the
proposed method. We have designed a meta-model
which defines a TPS model itself. The structure of
Main
use case
Sub
use case
KEOD 2010 - International Conference on Knowledge Engineering and Ontology Development
12