Help in modeling with ports

63 views
Skip to first unread message

Kathrin Eltner

unread,
Nov 14, 2007, 3:28:57 AM11/14/07
to SysML Forum
Hi,

I need some help in modeling with Ports.

I use Telelogic Rhapsody in C7.1.

I would like to send an event between 2 Blocks over a special
Interface of a port.

I found the following command in the User Guide:
RiCGEN_[Interface]([object realizing the interface],
[event([argList])])

I use it in the following way:
RiCGEN_Interfacename(me->itsInterfacename,eventname());

But I always get the following error message when I compile my
project:
warning C4013: 'RiCGEN_Interfacename' undefined; assuming
extern returning int
error C2039: 'itsInterfacename' : is not a member of
'Blockname_t'
see declaration of 'Blockname_t'
error C2063: 'eventname' : not a function

I am not sure whether I use the command in a wrong way or I have to
set some special properties or I can't use the command in my Rhapsody
version.

I would be very happy if any body can help me.
Regards, K. Eltner

Tim Weilkiens

unread,
Nov 20, 2007, 2:27:59 PM11/20/07
to SysML...@googlegroups.com
Where do you specify the port in your command? A block could define the same
interface at different ports. I think it must be a mandatory information.
I'm not perfectly familiar with Rhapsody, but did you try the OUT_PORT()
macros?


Tim

-----------------------------------------------------------------
Tim Weilkiens
Consultant, Trainer
OMG Representative, INCOSE member

oose Innovative Informatik GmbH
Tower Falkenried-Piazza, Straßenbahnring 7, D-20251 Hamburg, Germany
HRB 66648 Amtsgericht Hamburg, USt-Id DE191433946
CEO Bernd Schröder-Oestereich, Christian Weiss
Phone: +49 (40) 41 42 50-0, Fax: +49 (40) 41 42 50-50
Internet: www.oose.de, E-Mail: off...@oose.de

kathrin.el...@diehl-aerospace.de

unread,
Nov 21, 2007, 3:06:29 AM11/21/07
to SysML...@googlegroups.com

Yes, I tried OUT_PORT() but I am not really sure, where to specify the interface of the port.

Your right. In the command RiCGEN_[Interface]... I just specify the interface and not the port.



But I also tried the following command (sending an event via a C non-rapid port):
RiCGEN_PORT_I(Block, me->Port, Interface, Event);

But I get the following error message:
Block.c(274) : error C2065: 'Block_get_me' : undeclared identifier
Block.c(274) : error C2223: left of '->Port' must point to struct/union


An if I use the command without "me" (RiCGEN_PORT_I(Klasse, Port, Interface, Event);) I get the following error message:
Block.c(274) : warning C4013: 'Block_get_Port' undefined; assuming extern returning int
Block.c(274) : error C2223: left of '->Block_Port_OutBound' must point to struct/union
Block.c(274) : error C2198: 'Interface_gen' : too few actual parameters


Thank you very much.
Kathrin Eltner




"Tim Weilkiens" <Tim.We...@oose.de>
Gesendet von: SysML...@googlegroups.com

20.11.2007 20:27

Bitte antworten an
SysML...@googlegroups.com

An
<SysML...@googlegroups.com>
Kopie
Thema
[SysML Forum] Re: Help in modeling with ports


_______________________________________________________________________________________________________________________
Der Inhalt dieser E-Mail ist für den Absender rechtlich nicht verbindlich.
Informieren Sie uns bitte, wenn Sie diese E-Mail fälschlicherweise erhalten haben (Fax: +49-69-5805-1399). Bitte löschen Sie in diesem Fall die Nachricht. Jede Form der weiteren Benutzung ist untersagt.

The content of this e-mail is not legally binding upon the sender.
If this e-mail was transmitted to you by error, then please inform us accordingly (Fax: +49-69-5805-1399). In such case you are requested to erase the message. Any use of such e-mail message is strictly prohibited.

strobel...@gmail.com

unread,
Nov 23, 2007, 3:52:48 AM11/23/07
to SysML Forum
Hello,
I'm not aware of the specialities of Rhapsody in C, but in Rhapsody
System Designer I specify the interface of a standard port via the
contract tab of the port's features (required) and then use the macro
OUT_PORT(Port)->GEN(Event()) e.g. within the implementation of an
operation of the block owning the port or within it's statechart (on
transitions it's easier to use the SendAction element).

Regards,
Carsten

On Nov 21, 9:06 am, kathrin.eltner.ext...@diehl-aerospace.de wrote:
> Yes, I tried OUT_PORT() but I am not really sure, where to specify the
> interface of the port.
>
> Your right. In the command RiCGEN_[Interface]... I just specify the
> interface and not the port.
>
> But I also tried the following command (sending an event via a C non-rapid
> port):
> RiCGEN_PORT_I(Block, me->Port, Interface, Event);
>
> But I get the following error message:
> Block.c(274) : error C2065: 'Block_get_me' : undeclared identifier
> Block.c(274) : error C2223: left of '->Port' must point to struct/union
>
> An if I use the command without "me" (RiCGEN_PORT_I(Klasse, Port,
> Interface, Event);) I get the following error message:
> Block.c(274) : warning C4013: 'Block_get_Port' undefined; assuming extern
> returning int
> Block.c(274) : error C2223: left of '->Block_Port_OutBound' must point to
> struct/union
> Block.c(274) : error C2198: 'Interface_gen' : too few actual parameters
>
> Thank you very much.
> Kathrin Eltner
>
> "Tim Weilkiens" <Tim.Weilki...@oose.de>
> ___________________________________________________________________________-____________________________________________
> Der Inhalt dieser E-Mail ist für den Absender rechtlich nicht verbindlich.
> Informieren Sie uns bitte, wenn Sie diese E-Mail fälschlicherweise erhalten haben (Fax: +49-69-5805-1399). Bitte löschen Sie in diesem Fall die Nachricht. Jede Form der weiteren Benutzung ist untersagt.
>
> The content of this e-mail is not legally binding upon the sender.
> If this e-mail was transmitted to you by error, then please inform us accordingly (Fax: +49-69-5805-1399). In such case you are requested to erase the message. Any use of such e-mail message is strictly prohibited.- Hide quoted text -
>
> - Show quoted text -

kathrin.el...@diehl-aerospace.de

unread,
Nov 26, 2007, 3:05:30 AM11/26/07
to SysML...@googlegroups.com

Thanks a lot. I think I will use the Sendaction (its language independence).

Regards,
Kathrin Eltner





"strobel...@gmail.com" <strobel...@gmail.com>
Gesendet von: SysML...@googlegroups.com

23.11.2007 09:52

Bitte antworten an
SysML...@googlegroups.com

An
SysML Forum <SysML...@googlegroups.com>
Kopie
Thema
[SysML Forum] Re: Antwort: [SysML Forum] Re: Help in modeling with ports


_______________________________________________________________________________________________________________________
Reply all
Reply to author
Forward
0 new messages