Sunday, 8 April 2018

Release of V2.2

This version is functionally-equivalent, to 2.1 (Release) and is considered a Release version and contains a fix to a threading issue that was causing creation of the functional block hierarchy to not work in Rhapsody 8.3.

The following changes were made for v2.2 on GitHub (released 08-APR-2018 - Release build):

#247 08-APR-2018: Fix threading issue crashing functional block hierarchy creation in 8.3 (F.J.Chadburn)
#248 08-APR-2018: Update copyright notice year to 2018 (F.J.Chadburn)

It is recommended for all users of the profile to move to this version to avoid this issue. The issues relate to limitations in the Rhapsody API when trying to get GUIs to work in separate threads. The solution took a little while, but came with the help of Andy Lapping. He's put a bit of background here:

http://www.merlinscave.info/Merlins_Cave/Tutorials/Entries/2018/4/3_Building_GUI_Based_Helpers_for_Rhapsody_-_Dealing_with_Multi-Threading.html


Monday, 13 November 2017

Changes log for v2.1 (Release) profile

The following changes were made for v2.1 on GitHub (released 05-NOV-2017 - Release build):

This version is functionally, i.e. profile and code-equivalent, to 2.1.r and is considered a Release version. The only functional difference between this and the 2.1.r version is the version of the plug-in version in the Config.properties has been changed to say 2.1.Rhp82 (Release).

#246 05-NOV-2017: Changed the plugin version to 2.1.Rhp82 (Release)

Full change history since 2.0 (Release) is in the CHANGE_HISTORY.txt

This release can be downloaded from GitHub link above:





Thursday, 12 October 2017

Changes log for v2.1.r (UnderDev) profile

The following changes were made for v2.1.r on GitHub (released 11-OCT-2017 - UnderDev build):

These only relate to use of Call Operation actions, i.e. when the activity diagram is used for functional decomposition using operations. Issues found during robustness testing:

#244 11-OCT-2017: Default ADs to Analysis mode to better support call operation parameter sync (F.J.Chadburn). ..

When you choose MBSE Method: Functional Analysis > Copy activity diagrams to package under development .

... the plugin will now make sure that the Analysis Only check-box is ticked on the copied diagrams.

This ensures that Rhapsody's menus appear (so that the workflow is improved if you did want to go on and use action pins with activity parameters where the master for the inputs/output pins is the are the parameters on the operation)

#245 11-OCT-2017: Fixed exception on CallOperation action drop when using detailed ADs with Ops (F.J.Chadburn). This may relate to changes to Rhapsody behaviour between versions, i.e. it was working for some but not all versions, hence I changed the hook used to get the element to be more robust.

Essentially, when the FunctionalAnalysisPkg package structure is added you can right-click a AD to create a more detailed one.




When you drop a CallOperation on the diagram, the plugin will pop up a dialog that allows you to create the Operation for a Block that is part of the system assembly.


The Operation is added to the Block and hooked to the Call Operation automatically, thus speeding up the process of building a list of re-usable functions.





Note: This also works when you're doing white-box modelling. If your _SystemAssembly block has more than one part which is not an actor or test driver, then a dialog will be popped up by the plugin to ask you which Block to add the operation to.

Thursday, 5 October 2017

Changes log for v2.1.q (UnderDev) profile

The following changes were made for v2.1.q on GitHub (released 04-OCT-2017 - UnderDev build):

The main thing here are robustness improvements to reduce issues when user opens multiple Rhapsody clients, namely to give a warning. Also some users keep asking how to add pre and post conditions to AD, so I added to toolbar to remove them having to ask. Plus a couple of little tweaks discovered during testing.

#238 04-OCT-2017: Improve ability to add new UC pre or post conditions to the AD (F.J.Chadburn). Added these to the AD toolbar propagated to packages that have the RequirementsAnalysisProfile applied. It just makes it easier for users who are new to Rhapsody who are using simplified activity diagrams to model use cases. Had to add stereotypes to profile as built in Precondition/Postcondition stereotypes used before were constrained by properties prevent their use in toolbar.













#239 04-OCT-2017: Improve warning/behaviour if multiple Rhapsodys are open or user switches app (F.J.Chadburn). Occasionally users will accidentally open multiple Rhapsody's and accidentally modify the wrong model. This enhancement reduces that risk leading to better overall robustness in wider deployments.









#240 04-OCT-2017: Prevent commands running in the SysMLHelper model to avoid accidental damage (F.J.Chadburn). This enhancement reduces that risk leading to better overall robustness in wider deployments.

#241 04-OCT-2017: Fixed TableL - Use case refinement relations so that it works as expected post 8.2 (F.J.Chadburn). Oddity, but for some reason Use Cases were not selected in the shipped profile (probably dates back to the 8.2 upgrade). All fixed now though.

#242 04-OCT-2017: Get re-layout dependencies on diagrams(s) menu to centre on graph edges properly (F.J.Chadburn). Improvement to v2.1.o enhancement.

#243 04-OCT-2017: Added ability to do smart link from a testcase to create a Verification (F.J.Chadburn). Again, a small thing I noticed as being useful.


Changes log for v2.1.p (UnderDev) profile

The following changes were made for v2.1.p on GitHub (released 27-SEP-2017 - UnderDev build):

There's nothing urgent in this one, just a bit of polish that helps me with white box simulation building.

#231 27-SEP-2017: Enhanced tooltip now shows the req't text when hovering over traceability relations (F.J.Chadburn). I did this because I found I was often navigating to the end of dependency to be able to read the requirement text, hence this enhancement saves a lot of time when working in concert with textual requirements as the formal hand-off.











#232 27-SEP-2017: Improve move unclaimed req'ts needs so that it handles read-only packages better (F.J.Chadburn). Essentially, the helper won't provided referenced packages as an option to move into. Note: The method allows for the RequirementsAnalysisPkg to be added by reference, e.g., it can be developed by a different modeller in parallel! (the so called "Wing-person" approach to modelling where the Wing person is building and testing the requirements into a simulation that can then generate the test cases).

#234 27-SEP-2017: DesignSynthesisProfile no longer sets property to hide part/Object name on IBD (F.J.Chadburn). This is a better default. Of course, the user can override if they wish.

#235 27-SEP-2017: FunctionalAnalysisProfile now sets ObjectModelGe::flowPort::ShowName to Name only (F.J.Chadburn). This is a slightly better default when doing flow-based modelling and coarse-grain sim work as type is considered detail. Of course, the user can override if they wish.

#236 27-SEP-2017: Improved Add new Block/Part... dialog to allow naming of part (F.J.Chadburn). Of course, this menu is a available in a bunch of places and is used when building white-box simulations. It means you can create a part/block and stereotype it in one action (next thing will be to ask using to populate part on the IBD if there happens to be an IBD open). This is all about making it simpler for modellers to handle the part/Block model in SysML. The Helper also asks if you want to update the simulation SD template automatically to include the part.








































#237 27-SEP-2017: Resolved Java path problems with Entry in certain versions of Eclipse (F.J.Chadburn). This is really just an SCM issue, if you want to configure the code using RTC, rather than GitHub.

Changes log for v2.1.o (UnderDev) profile

The following changes were made for v2.1.o on GitHub (released 20-SEP-2017 - UnderDev build):

No bug fixes here, just a couple of helpers that I think will speed things up for people:

#229 20-SEP-2017: Add re-layout dependencies on diagram(s) menu to ease beautifying when req't tracing (F.J.Chadburn). This is in lieu of the General::Graphics::KeepEndPoints property not working quite as expected, an 8.2+ property (which if unchecked might have preventing need for menu).




























#230 20-SEP-2017: Initial alpha trial for create test case script from a sequence diagram (F.J.Chadburn). Right-click a simulated sequence diagram to populate a test script on to the test driver. Limitation is that I haven't yet got arguments to be transcribed over. It does make creating test cases from running a sim much quicker though ;-) Make sure you save the sequence diagram first though, so that script can read the events on it.















Sunday, 10 September 2017

Changes log for v2.1.n (UnderDev) profile

The following changes were made for v2.1.n on GitHub (released 06-SEP-2017 - UnderDev build):

#227 06-SEP-2017: Increased robustness to stop smart link panel using non new term version of «refine» (F.J.Chadburn)

For example, to add refinement relations from the use case to all the requirements on an activity diagram you can right-click the use case and choose MBSE Method: Requirements Analysis > Start link to a requirement



Now, you can select all the requirements on the activity diagram:


... and choose MBSE Method: Requirements Analysis > End link at a requirement (this 'smart linking' is based on using different New Term stereotypes for different types of relations hence the helper will infer the relation type automatically and also protect against duplicate relations being created).



#228 06-SEP-2017: Refine subscribe port creation to include change event reception creation (F.J.Chadburn)

For example, choose MBSE Method: Design Synthesis > Make attribute a «publish» flowport to launch the auto-connection wizard based on the part hierarchy of the system under design...



Choose Create new attribute to wire it to the itsController part...


Choose OK to automatically update the IBD diagram:



When the simulation is then built and run, a change event is seen on instances of the Controller Block that are connected in the system under design, when the simulation is run:


Note: For more info on change events in Rhapsody see: http://www.mbsetraining.com/2017/09/rhapsody-tip-24-using-change-events.html