[palladio-dev] [sdq-dev] Local variables in RD-SEFFs

Klaus Krogmann krogmann at fzi.de
Fri Aug 3 10:50:25 CEST 2012


[switched to palladio-dev mailing list]

Dear all,

Palladio intentionally does not allow general local variables. Variables 
are only meant for modeling the data flow between control flow elements 
(Calls, ExternalCallActions, InternalActions, Branches, and 
SetVariableActions (i.e. setting the return parameter)).

General local variables are excluded to avoid people starting to 
"program" in Palladio.

Best regards,
Klaus


Am 03.08.2012 10:42, schrieb Henning Groenda:
> Hi Jörg,
>
> If you didn't have local variables you couldn't assign out parameters of calls because you would always overwrite existing variables. We'll have to keep that concept.
>
> Having an explicit ReturnAction (and separate SetVariableAction) would make it pretty easy to distinguish between local and return variables (if this is necessary). Code changes on the simulation would be minimal.
>
> Does OmNet++ solve the issue of the element's semantics? My question is how we have to adjust the semantic of metamodel elements and than the implementations.
>
> Best regards,
> Henning
>
> Am 03.08.2012 um 10:27 schrieb Jörg Henß:
>
>> Hi Henning,
>>
>> in my understanding the Palladio model does not allow to create "local" variables by intention.
>> I agree with you that perhaps the SetVariableAction should be renamed if we keep to that.
>> Perhaps we can do a BreakOut session on this topic
>>
>> Using the InternalCallActions (PALLADIO-32) might make it more elegant in contrast to ExternalCallActions…
>>
>> When using my OMNet++ implementation, you could do all this staff you want ;)
>>
>> Best regards
>> Joerg

Am 03.08.2012 um 10:14 schrieb Henning Groenda:

 > Hi Everyone,
 >
 > The handling of local variables is currently a bit inconsistent. 
ExternalCallActions may set _only_ local variables in their 
out-/returnparameter section. SetVariableActions may set _only_ return 
values and no local variables. As a result, modifications of local 
variables can only be made by ExternalCallActions. If the meaning of 
SetVariableAction is SetReturnParameterAction then the according 
construct should be introduced besides a SetVariableAction in my opinion.
 >
 > I can't see an advantage of this separation. The stack frame concept 
of the simulation prevents misuse (e.g. a loop in which the same 
variable is always multiplied by itself) anyway. The disadvantage is 
that ExternalCallActions must be used to set local variables.
 >
 > I have a use case in which a local variable is set depending on a 
cache hit/miss (either the local variable should be set or an external 
call is made to retrieve the value).
 >
 > Do you have any comment or solutions?
 >
 > Kind regards,
 > Henning


-- 
.........................................................
Dr.-Ing. Klaus Krogmann
Abteilungsleiter / Department Manager
Software Engineering (SE)

FZI Forschungszentrum Informatik
Haid-und-Neu-Str. 10–14
76131 Karlsruhe, Germany

Tel.: +49 721 9654-636
Fax: +49 721 9654-637
krogmann at fzi.de
www.fzi.de/se

.........................................................
Forschungszentrum Informatik (FZI) an der Universität Karlsruhe
Stiftung des bürgerlichen Rechts
Stiftung Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Dipl. Wi.-Ing. Michael Flor, Prof. Dr. Ralf Reussner, Prof. 
Dr. Rudi Studer, Prof. Dr. J. Marius Zöllner
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus
.........................................................



More information about the palladio-dev mailing list