IBM Support

PI42359: ACTIVITY WITH A LOOP BLOCKS OTHER ACTIVITY FROM BEING EXECUTED

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • ===== State: EngineeringComplete by:vladeruk at 6/1/2015 4:15:24
    AM =====
    
    Please, open an APAR or RFE (because it probably will require
    significant refactoring and new development).
    
    ===== State: Engineering by:vladeruk at 5/27/2015 4:29:34 AM
    =====
    
    After debugging it I understand that Rhapsody doesn't support
    active classes with activity diagrams. At least, I don't see
    "startDispatching" calls and all actions are performed in the
    context of main thread.
    We should discuss this issue here in dev lab. It sounds like
    limitation and I'm not sure there is an easy way to solve it. It
    looks like some design changes should be done in both framework
    and code generator to solve the issue.
    
    ===== State: EngineeringComplete by:vladeruk at 5/27/2015
    3:30:07 AM =====
    
    One more thought: I guess, the problem is related to thread
    scheduling policy. Probably, if it would be some round robin
    algorithm or another kind of prioritizing then it could work.
    But in Windows the thread, which takes control and doesn't call
    any synchronization API, continues working and doesn't switch to
    another waiting thread.
    
    ===== State: EngineeringComplete by:vladeruk at 5/27/2015
    3:07:26 AM =====
    
    Hi Alex,
    
    Application is working according to UML specification. If you
    need more explanation, please, ask Eldad Palachi, whom I
    discussed the issue before answering you. He is our main
    UML/SysML expert.
    
    Using of timeout (btw, it can be used with duration=0, which
    causes only context switching) is not workaround. Original model
    actually defines endless loop. It is like "while(true);"
    statement is written in C program.
    
    Probably, user should change Activity::General::SimulationMode
    property to use StateOriented semantics. But I'm not familiar
    with this area .
    
    Regards,
    Vova
    
    ===== State: EngineeringComplete by:aaratzlo at 5/27/2015
    12:26:36 AM =====
    
    Thanks so much for the help Vova.
    
    The customer, who is an IBMer, does think the implementation
    still isn't working correctly. Here are is full comments:
    
    "I can see that breaking the loop with a timer will make the
    model work, however I think that's a bit of a hack. The whole
    purpose of using threads (Active Concurrency) is to support the
    type of modelling done in the model. It appears changing the
    concurrency setting has no effect then? Eldad in development
    thought that it should :)
    
    I think the timer is a workaround, but the implementation
    doesn't work as expected."
    
    Any ideas on that?
    
    Thanks again!!
    
    
    
    ===== State: Engineering by:vladeruk at 5/25/2015 11:05:24 AM
    =====
    
    It seems to me it is correct behavior. Since activity diagram
    contains endless loop, it doesn't switch context from one thread
    to another one.
    If you add time event after operation in both activity diagrams
    (A and B), then active context will switch. BTW, its duration
    can be 0.
    
    ===== State: Support_Esc by:aaratzlo at 5/21/2015 8:17:19 PM
    =====
    
    
    
    ****Description field information .****
    1.  Problem statement and description:
    
    The customer is trying to execute activity diagrams in parallel.
    They put the activities onto their own component blocks, but
    they are seeing the first activity that execute stops the thread
    from dispatching, therefore the second activity never gets
    executed.
    
    See attached project and the package "ExampleAct"
    See attached screenshot
    
    2.  Reproduction steps:
    
    See attached project, and try and execute the activity. The
    second activity is blocked.
    
    3.  Customer Environment:
    
    Windows 7
    Rhapsody 8.1.2
    
    4.  Attachments(video/model):
    
    Model
    Screenshot showing issue
    
    5.  Research:
    
    Could not find out how to stop this from happening myself
    
    6.  When did this start happening?
    
    First time trying to do parallel development
    
    7.  Customer Impact:
    
    Cannot execute their model
    
    8.  Does the customer have a workaround?
    
    No
    
    9.  What is the success criteria as described by the customer:
    
    For the second block to execute in the above example
    
    10.  What does support expect/need help with to address this
    escalation:
    
    How can we do this?
    
    11.  Customer details:
    
    Jaguar LandRover
    
    ****Note Entry field information .****
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Rhapsody 8.1.2                                               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * ACTIVITY WITH A LOOP BLOCKS OTHER ACTIVITY FROM BEING        *
    * EXECUTED                                                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Fixed in 8.1.4
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI42359

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    812

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-06-04

  • Closed date

    2015-12-16

  • Last modified date

    2015-12-16

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels

  • R812 PSN

       UP



Document information

More support for: Rational Rhapsody

Software version: 8.1.2

Reference #: PI42359

Modified date: 16 December 2015