[jwt-dev] AW: Data element in AgilPro
concerning the data element in AgilPro:
yes, currently only a data can have a specified datatype. For the current
execution / simulation of the models (in the integration framework), the
parameters and data mapping are not used right now. Therefore, the data
element also has an attribute 'value' where initial values e.g. are stored.
I agree with you that it would make more sense, if only the parameters and
the values of the parameters would be used. But I don't see many cases where
the parameters of one data might have different data types. Then they should
simply be grouped in different data. Therefore one datatype for exactly one
data and all of its parameters does make sense in my eyes.
I must also agree with you that the distinction between Parameter /
InputParameter / OutputParameter does not make too much sense, since an
InputParameter will always be an InputParameter, even if it is also the
output of another action. Henceforth, the InputParameter should only be
used, when this data is created by interaction with the user and is not the
output of another action and OutputParameter is only applicable when the
parameter is not used in any other action anymore.
The problem with this part of the meta-model is that it was designed
different than it was implemented and is now used in the modeller. We
thought that we will have one or more input/output data at one action and
each of these data contains a set of parameters. These parameters all have
the same datatype and are bound to the parameter of the application.
But our student developers simply took the data, gave them a value, did not
regard the parameter or the datamapping and when implementing the simulation
they looked at the application DTO whether there was a method available
called set*Data.Name* and then invoked this method. So now, in the sample
models we always have data and no parameters. The problem with this
procedure is that when using two data with the same name it is not clear how
these data should be mapped to the application. Therefore we introduced the
DataMapping in the meta-model for the parameters.
Concerning the AgilPro:StringType and AgilPro:IntegerType: they are
currently modeled as subclasses of PackageableElements, but should of course
be subclasses of DataType. But since till now nobody used these primitive
datatypes, we will probably remove them from the meta-model (if you don't
need them for XPDL of course! ;-)