AcdntlPoet 2700019V2G Visits (678)
Reuse Existing Code with Rational Rhapsody- Reverse Engineer and reuse existing code through architectural analysis with IBM Rational Rhapsody with Rational Technical Specialist Christopher Carson.
Published on Jan 15, 2014
01:00 - Why reuse existing code?
AcdntlPoet 2700019V2G Visits (810)
Over the course of 10 weeks in Q4 2013, developerWorks Rational featured a modeling tip for systems engineers each week from Bruce Douglass. Undeniably, Bruce's 35 years of experience and credentials make him the perfect person to provide this information, and he does so with humor- which makes it all the more fun. We think these are some fabulous hints and tips and hope you find these tips helpful in your daily work as well:
AcdntlPoet 2700019V2G Visits (1523)
I'm constantly amazed at the great information our developerWorks authors produce on such a consistent basis. To prove that point, here are the latest articles from the past week that have gone live on developerWorks Rational:
Develop reliable software with DevOps
Top 10 modeling hints: #7 Requirements models help you avoid early and expensive defects
A macro-pattern for public sector systems architecture
JazzHub: Collborate in the cloud in less than 10 minutes
What's new in IBM Rational Application Developer V9.0 Portal Tools
Top 10 modeling hints: #8 Napkin models are a good way to start a conversation, but a terrible way to end one
AcdntlPoet 2700019V2G Visits (1213)
We're knee deep into fall now, and well into November already! How did that happen? I'm not sure of the time-space continuum shift that has truncated this year, but what I am sure of is that our awesome developerWorks authors have been steadily publishing their great articles regardless of how short or long the year has seemed... Here are the latest articles from the past few weeks which have gone live on Rational developerWorks:
IBM Rational Rhapsody family provides a collaborative design, development and test environment for systems engineers and software engineers. It uses Systems Modeling Language (SysML) and Unified Modeling Language (UML) to enable rapid requirements analysis and visual, model-based design.
The UML diagrams are views into the underlying semantic system model; each kind of diagram emphasizes some aspect of the model.
Example - Dynamic aspects is represented by behavior diagram - State chart.
Statecharts define the behavior of objects by specifying how they react to events or operations. The reaction can be to perform a transition between states and possibly to execute some actions. When running in animation mode, IBM Rational Rhapsody highlights the transitions between states.
The discussion covers few modeling challenges with state chart using Rational Rhapsody and how to over come those challenges:
1) Evaluation of condition connector in state chart
A scenario where a variable (count) is decremented before the condition connector and is expected to terminate if value of variable is 9 (count==9).
However, on executing you observe that the condition doesn’t take the change in the variable on the transition. Instead it takes the initial value of the variable for comparison.
The work around here is to have an additional dummy state in between to get the desired output.
2) Multicasting with rapid ports in layered structure
Currently, the multicasts of event via rapid ports (ports that have no provided/required interfaces) are supported only from a direct invocation.
Example - One sender object and two receiver objects
Consider a scenario where the event is first sent from the Class A's object(itsA) and then it reaches the Class B's object(itsB), from where it is delegated to its 2 inner parts(itsB1 and itsB2
No multicasting is available on having multi layered structure.
The Workaround is to add an additional state chart and MULITCAST_GEN() macro in class B.
3) Working of Reaction in State
In a single state for a Reactive class, you would expect to continuously print a statement after elapse time of tm (1000). However, upon execution it prints only once instead of continuous timer.
Using a tm (1000) as a trigger for a reaction in state means that 1 second after you enter the state you'll be triggered. It's not a continuous timer.
To restart the timer you have to exit the state and re-enter it. It needs a design change as below.
4) Combining Junction Connector and Condition Connector in a state chart
You would like to have several events from a state and a condition to determine the other state.
You cannot join several transitions into a condition connector neither you can have a transition from a junction connector to a condition connector.
However, you can model to add a dummy state in between that will further evaluate for condition connector.