--------------------------------------------------------------------------- PowerDiffMerge Version 4.1 Copyright (c) 2014-2018 Assystem Germany GmbH. Contacts: Assystem Germany GmbH Erwin-von-Kreibig-Straße 3 80807 Munich GERMANY Phone: +49 (0)89-608090-0 mailto: Support_PowerDiff@assystemtechnologies.com Web: http://www.assystem-germany.com Hotline: +49 (0)89-608090-333 *************************************************************************** Installation *************************************************************************** PowerDiffMerge should be installed on Windows 7. Other operating systems are not supported. Some additional Software, which is not delivered with PowerDiffMerge has to be installed on the target computer. Pre-Conditions: The following programs have to be installed, before installation of PowerDiffMerge - Microsoft .NET Framework 4.0 (or later) http://www.microsoft.com/de-de/download/details.aspx?id=17718 - Microsoft MSI-Installer Redistributables 4.5 http://www.microsoft.com/de-de/download/details.aspx?id=8483 - SourceGear DiffMerge for external text merges https://sourcegear.com/diffmerge/ Note: - Administrator rights are required for installation of PowerDiffMerge Setup: Run Setup.exe and follow the instructions. Please refer to the PowerDiffMerge Setup and Installation Guide for more information about installing or registering PowerDiffMerge. *************************************************************************** Supported Statemate versions *************************************************************************** PowerDiffMerge is intended for Statemate® Version 4.6.1.11. Charts developed with other versions of Statemate® will be converted with PowerDiff-Convert to the supported version. PowerDiffConvert supports charts created with Statemate® version 3.3.1, 4.0, 4.1, 4.1 MR1, 4.1 MR2, 4.2, 4.3, 4.4, 4.5, 4.5.0.1, 4.6, 4.6.0.1, 4.6.0.2, 4.6.0.3, 4.6.1, 4.6.1.1, 4.6.1.2, 4.6.1.3, 4.6.1.4, 4.6.1.5, 4.6.1.6, 4.6.1.7, 4.6.1.8, 4.6.1.9, 4.6.1.10. and 4.6.1.11 *************************************************************************** Status PowerDiffMerge *************************************************************************** Supported features: The following features are supported in Version 4.1 of PowerDiffMerge: - Interactive Merge of any number of Statemate® charts - Visual display of the charts (differences marked with colors) - Delta merge of charts - Textual merge for external files - Configuration of the output directory and file-structure - Creation of a merge protocol - Editing of the Merge result chart graphic (as a prototype) - Supported Statemate® chart types: o Statecharts o Activity charts o Global definition sets *************************************************************************** Contents of PowerDiffMerge delivery *************************************************************************** Deliverables: - PowerDiffMerge Release Notes (Release Notes in PDF format) - Readme.txt (this document) - PowerDiffMerge_Registration.txt (Registration form as ASCII-Text) - "PowerDiffMergeSetup.msi" (Installer for PowerDiffMerge and its User Guide) - "PowerDiffMerge_portable.zip" (Portable version of PowerDiffMerge and its the User Guide) - "LicenceTools.zip" (Utilities for the PowerDiff and PowerDiffMerge licence mechanism) - PowerDiffMerge Setup and Installation Guide - PowerDiffMerge User Guide *************************************************************************** Change history (Hash-Numbers identify items in the change and defect management system) *************************************************************************** Open Issues: ============ Known Defects: The known defects in version 4.1 comprise the following issues: - Line width in graphics may be perceived as too wide (ticket #170) - Very long texts in message boxes cannot be seen, because a scrollbar is missing (ticket #185) - Message-Notes/Transition Priorities are displayed as empty lists in DataFlows although these StmObjects cannot have an StmElement of this kind (ticket #200) - The colour indicating the Difference Status in the graphics panel (which is correct in the list below) may not reflect the correct status for environment activities, external activities, external routers, diagram connectors or notes (ticket #229) - If Statemate has an exception and does not return (e.g. if the X-Server is missing), the call to PowerDiffConvert causes a hang in PowerDiffMerge (ticket #489) - If PowerDiff has an exception and does not return, the call to create a PowerDiff report causes PowerDiffMerge to hang until PowerDiff is closed (ticket #500) - The progress bar displayed for staring a new merge session without PowerDiffConvert has a large increment, which suggests that PowerDiffMerge hangs although it does not (ticket #490) - If two files differ only in encoding, they are highlighted as "Amended” within the Chart List Editor although there are no visible differences (ticket#560) - In some rare cases the protocol writes “Amended” for the DifferenceStatus of 2 files, although they are equal.(ticket#578) - When changing the type of an connector a merge cannot be performed (ticket #736) Limitations: - Large charts may take a long period of time to load (provided that enough memory is available on the target system) - The parallel merge of a lot of charts may slow down the system. - PowerDiffConvert in PowerDiffMerge does not set the environment variables required for preserving DOORS IDs automatically, but allows for using the current Statemate configuration. - Truthtables can be merged as text strings - AND-States can only be taken from another branch, if all assignments of StmObjects within this State or Arrows pointing to that state are removed. The removal has to be taken into the result and finally the whole AND-State may be added to the result (possibly followed by adding all substates) (tickets #165). - PowerDiffMerge does not enforce using the same name for a chart and its chartfile (ticket #168) - Different StmObjects can be selected in each of the lists in the Chart Merge where it would be better to have synchronous selection (ticket #178) - If a statemate file is inconsistent (e.g. no STATE#0) the automerge displays as error message “Null reference exception…” (ticket#577) - Differences in the StmElement “combinational_logic” are not ignored but causes “Amended” for the owning StmObject (ticket#580) - Error Hooks are visible and mergeable instead of being ignored (ticket#553) - The Graphics Editor does not provide a Save button (ticket#581) - AND States cannot be resized in the Graphics Editor (ticket#600) - Start or Endpoints of Data-Flows, Control-Flows or Transitions within the Graphics Editor can only be moved horizontally if they start or end in a horizontal border line of an Activity or State. Start or Endpoints of Data-Flows, Control-Flows or Transitions within the Graphics Editor can only be moved vertically if they start or end in a vertical border line of an Activity or State (ticket #606) - Activities that have more than 4 border lines (e.g. ‘U’ form) can be resized in the Graphics Editor, so that their form may be lost (ticket#602) - When in the Graphics Editor the Start Point of a Transition (with a Transition Priority) is moved the location of the Transition Priorities Text is left unchanged (ticket#601) - A four-column-view for the chart graphics has not been implemented yet. The chart graphic of the Result AfterCase can be reviewed by opening the Graphics Editor. - In the file merge dialog after “From empty session” the elaboration status of the tuple is not dis-played correctly but work is not restricted. Workaround: restart the tool for correct display (ticket #717) - In ElementMergeDialog and PropertyMergeDialogue: if in the result after the corresponding element is not there, the dialogue for the next lower level can not be opened. Workaround: merge the element on this level - In lines with automatic word wrapping the line numbers may not be correct. - Sometimes the displayed text gets lost for Design Attributes (example: CK_executionOrderAmended : 1) and only “:” is displayed. Workaround: go back to the file merge dialog and reopen the merge dialog (ticket #725) - Elements of the Type Global Definition are not displayed (ticket #735). - Sometimes after returning from a lower merge level the merge button “->” can not be activated again. Workaround: return to the file merge dialog and do the merge again, merge on object level (ticket #740) - The protocol generation may cause failures for in the result deleted properties. Maybe no protocol is generated (ticket #742) Changes from previous Version to Version 4.1 ============================================= Enhancements InitialiseSessionDialogue: - Within the InitialiseSessionDialogue a ProgressIndicator is provided. - Within the InitialiseSessionDialogue a selector is provided to continue a previous merge session or to start a new one. - Within the InitialiseSessionDialogue a selector is provided to specify a RepositoryConnector for accessing the source Deltas or the Merge Target. As default a file system RepositoryConnector is delivered with PowerDiffMerge. Additional RepositoryConnectors may be implemented to access any kind of configuration management system. - Within the InitialiseSessionDialogue a list of all source Deltas to be merged can be specified. - Within the InitialiseSessionDialogue a text file to fill in change notes while processing the merge can be specified. - Within the InitialiseSessionDialogue the path to a model that will serve during processing the merge as Merge Target can be specified. FileMergeDialogue: - Within the FileMergeDialogue a ProgressIndicator is provided. - Within the FileMergeDialogue a button "Move to Result" is provided, by which a selected file of Delta BeforeCase or Delta AfterCase may be added to the Result AfterCase, if not existent (constriction: this is a merge action which is not supported by Undo/Redo or Protocol-functionality). - The menu button "File/Save" (Save Session) has been removed and replaced by a functionality that saves the session automatically after a file has been saved. - The menu button "File/Create PowerDiff Report" is always enabled. If the functionality is prohibit-ed by absent settings a user message is displayed which required settings are missing. ElementMergeDialogue: - Within the ElementMergeDialogue a ProgressIndicator is provided. - Within the ElementMergeDialogue the following synchronized views are provided: - List of elements (Name and Type) of Delta BeforeCase and Delta AfterCase with difference highlighting. - List of elements (Name and Type) of Result BeforeCase and Result AfterCase with difference highlighting. - Within the ElementMergeDialogue an elaboration status is provided for each difference between Delta BeforeCase and Delta AfterCase. - Within the ElementMergeDialogue merge checkboxes are provided for each difference between Delta BeforeCase and Delta AfterCase. When the ElementMergeDialogue is opened these checkboxes are initialized by dint of merge proposals. By clicking the merge button the elements, chosen by checking the appropriate merge checkbox, are automatically merged into the Result AfterCase. PropertyMergeDialogue: - Within the PropertyMergeDialogue a ProgressIndicator is provided. - Within the PropertyMergeDialogue the following synchronized views are provided: - List of properties of Delta BeforeCase and Delta AfterCase with difference highlighting. - List of properties of Result BeforeCase and Result AfterCase with difference highlighting. - Within the PropertyMergeDialogue an elaboration status is provided for each difference between Delta BeforeCase and Delta AfterCase. - Within the PropertyMergeDialogue merge checkboxes are provided for each difference between Delta BeforeCase and Delta AfterCase. When the PropertyMergeDialogue is opened these checkboxes are initialized by dint of merge proposals. By clicking the merge button the properties, chosen by checking the appropriate merge checkbox, are automatically merged into the Result AfterCase. - Within the PropertyMergeDialogue a direct-edit-functionality is provided in the Result AfterCase for the following Properties: - Properties with enumerable values. - Properties with numeric values. - Properties with short text values (text without linefeed). For other properties in the Result AfterCase, an edit button is provided. LongTextMergeEditor: - A LongTextMergeEditor is provided to merge external files and properties with long text passages manually. - Within the LongTextMergeEditor a ProgressIndicator is provided. - Within the LongTextMergeEditor the following synchronized views are provided: - Long text passage of Delta BeforeCase and Delta AfterCase with difference highlighting. - Long text passage of Result BeforeCase and Result AfterCase with difference highlighting. - Within the LongTextMergeEditor an elaboration status is provided for each difference between Delta BeforeCase and Delta AfterCase. - Within the LongTextMergeEditor merge checkboxes are provided for each difference between Delta BeforeCase and Delta AfterCase. When the LongTextMergeEditor is opened these check-boxes are initialized by dint of merge proposals. By clicking the merge button the text passages, chosen by checking the appropriate merge checkbox, are automatically merged into the Result AfterCase. - Within the LongTextMergeEditor the long text passage of Result AfterCase is provided with editing functionalities. - Within the LongTextMergeEditor line numbers are displayed for Delta BeforeCase, Delta After-Case, Result BeforeCase and Result AfterCase individually. Changes: - The baseline-aware merge is no longer supported with an individual process. This special kind of merge can be adapted to a delta merge. - The merge dialogues have been completely redesigned to provide a Four-Column-View, displaying Delta BeforeCase and Delta AfterCase with difference highlighting side-by-side to Result Be-foreCase and Result AfterCase with difference highlighting also. - The external text merge tool has been replaced by the own implementation of the LongTextMer-geEditor. By this a Four-Column-View can be provided when merging long text passages (e.g. external files, long descriptions, mini specs, etc.). - The “Merge Session Wizard”, used to initialize a new merge session, has been replaced by the InitialiseSessionDialogue. By this action the discrepancy in usage of a wizard for initialization and in usage of a dialogue structure during merging has been overcome and the usage of the whole tool is harmonized. - Properties with long text passages (e.g. long description, mini spec, etc.) are not automatically merged by the AutoMerge functionality. By this it is assured that a long text passage is reviewed by the user in process of manual merging. - The interface of the RepositoryConnector has been adapted. - A property “RepositoryDescription” has been added to provide a self-explanatory tooltip for each RepositoryConnector. - A method “deleteBranch” has been added to forward the event, when the user has clicked the button “delete Delta”, to the RepositoryConnector. - A property “MergeTargetPathInFilesystem” has been added to request the path to the MergeTarget (a single folder structure) from the RepositoryConnector. - A property “BranchRepositoryMergeTargetConfigurationPanel” has been added to display a panel in which the user may specify the Merge Target and the change notes. Changes from previous Version to Version 3.1 ============================================= Enhancements - The graphic of an IBM® Rational® Statemate® chart can be edited within the Graphics Editor. Moving and resizing e.g. of Activities or States is supported but not changing of parent relationship or texts - The Source or Target of a Data-Flow, a Control-Flow or a Transition within the Graphics Editor may be moved exclusively on the surrounding border of the associated Activity or State. By this fact it is guaranteed that the Source or Target is left unchanged Changes: - The name of an External Router is displayed with line feeds in the chart graphic. (ticket#586) - The colour of the Default Connector is displayed in the same colour as the Default Transition (ticket#587) - The buttons in the conflict resolving dialog does not overlap the indicated conflict number (e.g. “2 of 5”) (ticket #588) - Data-Flows, Control-Flows or Transitions with incorrect Source (e.g. WITHIN) or Target (e.g. IN-TO) are not supported and the corresponding chart file is rejected (ticket#593) - The path and name of a file that could not be loaded as a valid IBM® Rational® Statemate® file is shown in the user feedback window with path and name separated by ‘\’’. (ticket #607) - Chart files generated by IBM® Rational® Statemate® older than version 4.4 (chart-file format ver-sion 4.6) are no longer rejected by PowerDiffMerge when PowerDiffConvert is active (ticket#608) - During a Delta Merge Session PowerDiffConvert also converts the chart files of the Before cases (ticket#609) Changes from previous Version to Version 2.2 ============================================= Enhancements: - Element Visibility (in the Chart Merge dialog) can be set for all sup-ported element types in a combo box in the Options dialog. The vis-ibility for each element can be set to “Always”, “if changed” or ”Nev-er” - The validity of the statemate files is checked before the Merge Win-dow appears to avoid wrong merges. There appears one window which shows all invalid statemate files (ticket#574) - Filter design enhanced for the Merge Window: Filters are in a combo box and are labeled (e.g. “Show only unassigned”). The filters can be enabled by checking the check box" (ticket#347) Changes: - No Error message in Review Merges for delta merges, merged by automerge, if the option “Show deleted objects in charts” is selected (ticket #519) - No Error message if pressing “Restart from Scratch”, “Remove”, while an automerge is running (ticket #565) - No Error message if pressing “Automerge”, “Createprotocol” or Write Result”, while an automerge is running (ticket #539) - No Error message for multiple auto merges in combination with click on "from empty session (ticket #524) - No Error message in protocol if an element is deleted (from before to after) and the file is not member of the target branch (ticket #528) - No error message in an automerge after restart with the last session if in the first session an automerge without a save before was made and there are some statemate files which are not in the target (tick-et#544) - No error message in automerge if there are files with statemate ex-tension which aren’t (valid) statemate files(ticket#568) - No error message in creating a protocol if there are files with state-mate extension which aren’t (valid) statemate files(ticket#567) - No error message while creating a protocol for a Global Definition Set (GDS) without any StmObject contained (ticket#575) - Delta merges with empty before or after folder or with ambiguous names (f.e. “before1” and “before2” folder) can’t be started. User have to select valid folders first (ticket#576) - The memory consumption during the protocol generation is reduced enormously (ticket#501) - The branch view in the upper part of the Chart List Editor never dis-appears if all items are filtered out by filter or textfilter (ticket#563) - No error message (“two or more folder in result”) if in a delta merge the branch names contain ”Before” or “After”(ticket#573) - The portable version have the “Filesystem” AddIn even when the portable zip was unpacked to a folder by the admin and the first start of PowerDiffMerge was made by a user without write access to the folder of PowerDifMerge(ticket#579) Changes from Version 1.2 to Version 2.1 ============================================= Enhancements: - MergeWindow for Statemate Elements shall provide UNDO and SAVE button (ticket #261) - Filter in ChartList (ticket #303) - Filter StmObjects in Chart (ticket #307) - Automated merge in simple cases (ticket #309) - N-wise Merge (ticket #269) - Plugin interface for other sources of charts (ticket #267) - Delta Merge (calculation of the difference status between sets of be-fore/after branches; ticket #266) - Addition of a new language for a specific usage scenario (ticket #299) - PowerDiff Reports for intermediate results (ticket #272) Changes: - Use PowerDiffMerge without Setup or Installation (ticket #275) - Target directory for internal data (ticket #274) - Hide StmElements (ticket #279) - Provide merge status also in merge window (ticket #312) - Different display of changes in long descriptions (ticket #280) - Merge Window actions (different wording and tooltips for closing ac-tions; tickets #278, #384) - Display PowerDiffConvert Settings before branch selection (ticket #385) - Display the elaboration status symbols with their meaning (ticket #389) - Addition of a “Start from Scratch” Button (ticket #391) - Open Textfile for comments (i.e. change notes, ticket #310) - Hide Next button in the last step of the Merge Session Wizard (ticket #386) - Different wording for “Use as Merge Result” (ticket #390) - Special handling of elaboration status “AutoMerged” as “to be re-viewed”: don’t filter files and provide warning for remaining “Au-toMerged” StmObjects (tickets #393, #394) - Automatic AutoAssign (ticket #301) - Displayed Name without linebreak characters (ticket #308) - Conceptual description of merge and more details for preconditions relating to model checks in user guide (tickets #277, #298) - Removing folders from File Repository Connector (ticket #473) - Show “Equal” for same contents in Delta Merge (ticket #478) - Adjustment of Descriptions (ticket #482) - Additional Scrolling for lists of StmElements (ticket #495) - Better “Before/After Path not found” error message (ticket #487) Bugfixes: - Selection issue for n-wise merge (ticket #387) - Template for PowerDiff difference report (ticket #392) - Deactivate buttons, which don’t provide functionality (ticket #297) - Display PowerDiffConvert Settings without error message (ticket #276) - Remember the path name (ticket #293) - Merge Window for Minispec (Source Gear) takes wrong subwin-dows (ticket #260) - Merge for Minispec is not seen immediately after leaving the Source Gear Merge Window (ticket #259) - Colour consistency with PowerDiff (ticket #304) - Overlap in graphics for external router (ticket #288) - Decrease the size of the OptionsWindow to display everything on smaller monitors (ticket #388) - Unsuitable error message “No saved MergeSession found” (ticket #296) - Don’t change status of charts, which don’t have differences (ticket #262) - Correct headers for dialogs (not “Okay”; ticket #395) - Cancel button in Session Wizard doesn’t as it should (ticket #295) - Option Window crashes under Windows XP (ticket #426) - “0” as corrected value for Created (tickets #491) - Airbus terms of definition (ticket #470) - Progress Bar after Merge Session Wizard (ticket #474) - Before path in subfolders (ticket #477) - Scrolling during folder selection for a delta merge (ticket #483) - ENUMERATED_TYPE is not supported (ticket #497) - “Object not set to an instance” exception (ticket #499) - Consistent appearing of only 2 or 3 subwindows in the textual merge editor (ticket #258) - Multiple file dialogs during session wizard (ticket #486) - ID Filtering (ticket #493) - Changes in names are not correctly reflected on the GUI where the element is referenced (e.g. in Lists) (ticket #143) - If an StmElement is missing from one of the branches, it is repre-sented as an empty short text instead of its correct type (ticket #202) - Unexpected difference status for combined assignment of objects, when the bottom-most object is selected first (ticket #207) - PowerDiffMerge may crash when an external text merge is started twice, if its precondition of having DiffMerge installed is not met (ticket #228) - Addition or removal of a transition priority on any StmTransition cannot be saved – an error is reported (ticket #216) - Names of StmObjects, which are generated by PowerDiffMerge may not fulfil the criterion that their numerical value (after the #) matches the “id” and are then not legible by Statemate (tickets #226, #227) - When an error occurs during the merge of a tuple of charts, the ap-plication cannot be closed normally, but has to be explicitly killed us-ing the TaskManager (ticket #230) - In some cases, the StmElements of the Message Priority are not displayed for StmArrows (ticket #233) - Using the “Remove” button on a MergeTuple, which is currently be-ing merged in a “Chart Merge” can be executed and leads to sub-sequent errors (ticket #231) - Saving the merge results (by selecting “Finish Merge”) cannot be executed twice for the same folder (ticket #232) - In some rare cases the list description of attributes is not changed when a sub element is changed (ticket #238) - LocalData and Parameter of Subroutines always has an empty list description (ticket #239) - The merge protocol file has empty entries for the merge result path (ticket #242) Changes from Version 1.1 to Version 1.2 ============================================= Enhancements: - Write-protection is automatically removed for all files (ticket #142) Changes: - Long paths to files (more than 248 characters) can be processed by PowerDiffMerge (ticket #159) - The “Add Single”, “Assign and “Auto Assign” buttons are not cor-rectly enabled in rare situations (ticket #121) - Separation of assignments of objects do not lead a new and a de-leted object in their tuples as expected(ticket #206) - Enumerations with similar contents (but possibly different order) are not detected as “Different”, if the order does not matter (ticket #174) - Bugfix for an application crash, when a state chart contained transi-tions without label, but with transition priority (ticket #210) - Display correct contents and label for MessageNotes/Priority/Default Connector lists in StmArrows (tickets #211, #220, #222) Copyright 2014-2018 by Assystem Germany GmbH, Munich, Germany