Main Menu Commands
The Sel column stands for Selection, indicating which aspect of the Selection the command is operating on. For more information and examples, see here.
- SEs = Selected elements
- SE = Selected element
- XS = Extended selection
- – = disregards selection
File
Commands for opening and saving the current project. The application asks for confirmation when changing projects, closing the application or in general if information would be lost if the command is executed.
Command |
Sel |
Availability |
Action |
| New Project | – | Always, except when a project is being opened or saved. | Clears any project loaded into DSharp Studio Modeler and instantiates a new project. |
| Open Project | – | Always, except when a project is being opened or saved. | Opens a *.dsproject project file by way of a file open dialog.
In order for the project to be successfully opened, the directory containing the project file must contain the previously saved content files. |
| Refresh Project | – | Viewer | Re-reads the project from disk. Used after Git Pull. |
| Recent Projects | – | Always, except when a project is being opened or saved. | DSharp Studio Modeler maintains a list of maximally 10 most recently accessed projects for quick reopening. Every time a project is saved or opened, it will be placed first in the Recent Projects list.
On application startup, files that do not exist anymore will be purged from the list. |
| Mappings | – | A project is open. | Provides a list of available mapping files for the current project. Click on a file name to open it. |
| Mappings.New Mapping File | – | A project is open. | Prompts the user to provide a name for the new mapping file source.
Creates a new mapping file with the given name. |
| Open Project Folder | – | A project is open and it has been saved | Opens the project folder in Windows Explorer for direct access. |
| Import.Import Ellie Model | – | Always, except when a project is being opened or saved. | Opens the standard set of Ellie export files, consisting of one csv file each for entities, relationships and attributes.
The classes will have their Archetypes set as follows: Ellie Reference = Description Ellie Master = Party, Place, Thing Ellie Contract or Transaction = Moment – Interval Ellie undefined = Role |
| Export.Conceptual Model Documentation | – | A project is open. | Generates a comprehensive HTML document detailing the conceptual model. |
| Export.Full Documentation | – | Application is in Run Mode | Generates a comprehensive HTML document detailing the conceptual model as well as every object generated from it. |
| Export.Diagram | – | A diagram is active | Exports the active diagram to a file |
| Save | – | A new or imported project is open, or an existing project that has unsaved edits is open.
The project is not being saved. |
Saves the changes of the current project. If it has not been previously saved (new and imported projects), the Save As command will be executed instead. |
| Save As | – | See Save. | Saves the current state of the project as a new project file.
If the project content is imported from an external model, that model will now be saved in the native DSharp Studio format and any edits made from now on will not be in sync with the original model. When saving an imported project, any mapping files from the original project import directory will also be copied to the new location. |
| Exit | – | Always, except when a project is being opened or saved. | Closes the application. |
Edit
Commands that mainly edit existing model elements. An exception to this are adaptive commands that create new elements, if the current selection suggests creation rather than change.
Command |
Sel |
Availability |
Action |
| Undo | – | The Undo stack contains at least one command that supports the Undo operation. | Reverses the changes made by the previous command that supports Undo.
The Undo stack is cleared when a new project is opened. |
| Cut | SEs | At least one element is selected in the UI.
If more elements are selected, the application analyses the types of the selected elements and decides whether they make sense together, i.e. whether they can be pasted to the same location. If not, the command will not be available. The selection is valid if:
|
Puts the selected elements on the Object Clipboard for the purpose of moving them to another location using the Paste command. |
| Copy | SEs | Identical to Cut.
Additionally, the selection can also contain Database Tables in order to paste them as Classes. |
Puts the selected elements on the Object Clipboard for the purpose of making copies of them to another location using the Paste command. |
| Copy Special.Class to Quick Input | XS | Extended selection contains one or more Classes. | Copies the Classes and Attributes and Associations in the extended selection on the clipboard in Quick Input syntax so they can be pasted into the Quick Input window or anywhere else. |
| Copy Special.Class to CSV | XS | Extended selection contains one or more Classes. | Class to CSV: Copies the Attributes and Associations in the extended selection on the clipboard with the syntax:
– Attributes: ParentClass;AttributeName;AttributeDataType;Attribute. |
| Paste | SE | The Object Clipboard must contain elements.
To paste into a Model or a Submodel, the Object Clipboard must contain only Submodels, Classes or Database Tables. To paste into a Class, the Object Clipboard must contain only Attributes. |
If the last Object Clipboard operation was Cut, the elements will be moved as new children to the selected element. After that, the Object Clipboard is cleared, so any subsequent Paste operation will need an additional Cut or Copy command to be executed.
If the last Object Clipboard operation was Copy, elements will be created and copied as new children to the selected target element. The Object Clipboard remains unchanged, so the same copied elements can be pasted several times. If the target element is a Submodel within the Conceptual Model, or the Conceptual Model itself, and the Object Clipboard contains Database Table elements, the Import Classes From Database command will be applied. |
| Delete | SEs | Selection contains elements.
You can only delete the following elements:
|
Deletes elements from the project. Deletion requires an additional confirmation.
A deletion of one element may lead to deletions of other elements. All child elements of the deleted element are also deleted, as are any references to any of the deleted elements (for example, reference from Key Definition to a deleted Attribute within that Key, or an Association to a deleted Class). |
| Stereotypes.Assign Stereotype | SEs | Selection contains elements that can have Stereotypes:
Additionally the selection contains at least one element that does not have this Stereotype assigned. |
Assigns the stereotype to the selected elements that don’t have it. Any Tagged Values defined for the Stereotype will be added to the elements. |
| Stereotypes.Deassign Stereotype | SEs | Selection contains elements that can have stereotypes. Additionally all elements in the selection have been assigned this Stereotype. | Deassigns the stereotype from the element. User may choose whether associated Tagged Values will be kept or deleted. |
| New Tagged Value | SEs | Selection contains elements that can have Tagged Values. These are the same that can contain Stereotypes. | Adds a local Tagged Value to the selected elements. |
| Rename | SEs | Selection contains elements.
You can rename Diagrams and Folders as well as any elements within the Conceptual model, including the Conceptual model itself. |
Renames the selected objects by prompting for a new name.
The following special syntax applies when renaming Attributes:
|
| Set Implement On | XS | Extended selection contains only Classes (in addition to containers like Submodels). | For Classes, sets the Implement property to True, enabling implementation of the selected classes. |
| Set Implement Off | XS | Extended selection contains only Classes (in addition to containers like Submodels). | For Classes, sets the Implement property to False, disabling implementation of the selected classes. |
| Assign Datatype | SEs | Selection contains only Attributes. | Sets the datatype for all selected Attributes. The selected attributes can belong to different Classes. |
| Create Key Definition (adaptive) | SEs | (a) Selection contains only Classes.
(b) Selection contains only Attributes and Association Ends. |
(a) Creates a Key Definition for the classes in the selection.
Description and Party, Place, Thing classes will get a Business key, others a Non-Business key. However, if a class with any kind of Archetype has an attribute with a datatype belonging to the Key types category, that class will also get a Business key. (b) Command is displayed as “Add to Key”, Adds the selected elements as key components to their classes’ respective Key Definitions. If no Key Definition exists for the class, one will be created as described above. Note: you can select key elements from any number of classes, and the command will be applied to each of them separately, creating keys for all classes in one go. |
| Convert to Association | SEs | Selection contains an Attribute and a Class
|
Converts an Attribute of a Class to an Association. The role name of the other end of the Association will be the original Attribute name. The original Attribute will be deleted after the Association has been created.
Also self-references can be created this way. |
| Sort Attributes by criteria | XS | Extended selection contains one or more Classes. | Command group, one command for each sorting preference. Sorts the attributes of each class in the extended selection
Alphabetically – Sorts attributes alphabetically, as a starting point for a custom ordering. |
| Move Up | SE | A Business Case or an Attribute with same-level siblings is selected. The selected element is not the first element of its kind in the list | Moves the attribute up in the Class Attribute set. |
| Move Down | SE | A Business Case or an Attribute with same-level siblings is selected. The selected element is not the last element of its kind in the list. | Moves the attribute down in the Class Attribute set. |
| Set to Archetype | XS | Extended selection contains one or more Classes | Command group, one command for each available Archetype.
Sets the Archetype of each Class in the Extended selection to the desired Archetype. |
View
Commands for opening the various panes that the application provides for content creation and browsing.
Command |
Sel |
Availability |
Action |
| Open Model editor | SE | Selected element is Conceptual model, a submodel or a class. | Opens the contents of the select model/submodel (or the parent of the selected class) in the Model Editor.
The higher up in the submodel hierarchy the element to be opened resides, the more complex the diagram showing the entire contents will be, and routing tens, not to mention hundreds of associations takes a lot of processing time, and the end result may end up as a huge collection of classes all having large amounts of untraceable associations, making that level unreadable for any practical purposes. Depending on the expected complexity of the submodel hierarchy to be viewed, the application gives a rough estimate of the processing time, as well as suggests alternatives for opening this particular level. |
| Models | – | A project is open, or an external model has been imported. | Toggles the Models pane.
The Models pane contains all the Models that are available in the application and presents them in a hierarchical tree view. The Models pane itself contains buttons for performing the most common actions in that context. |
| Diagrams | – | A project is open, or an external model has been imported. | Toggles the Diagrams hierarchy.
The Diagrams hierarchy contains custom Diagrams. Any diagrams that are under the Class Diagrams folder will be saved as part of the project, diagrams under Ad Hoc Diagrams will not. Class Diagrams should optimally be specifically constructed for some specific recurring need, while Ad Hoc diagrams are more like visual queries in nature and are created for the moment. |
| Connections | – | A project is open, or an external model has been imported. | Toggles the Connections pane.
In Connections, you can create database connections for various purposes. Typically would need to browse data (source data, DW content etc) or just have a look at the structure of the data. From Connections, you can also import tables into your Conceptual model as new classes. |
| Languages | – | A project is open, or an external model has been imported. | Toggles the Languages pane.
The Languages pane displays the supported target platforms, and their supported datatypes. |
| Business Cases | – | A project is open, or an external model has been imported. | Toggles the Business Cases pane.
The Business Cases pane displays the Business Case hierarchy containing descriptions of business related processes, use cases and other related information. |
| Quick Input | – | A project is open, or an external model has been imported. | Toggles the Quick Input pane.
The Quick Input is used for quickly creating elements in the Conceptual model using a simple syntax. |
| Description | – | A project is open, or an external model has been imported. | Toggles the Description pane.
Select any element within Conceptual model or Connections and write a text describing it. The description should serve the purpose of enhancing the understandability of the model as a whole, and it should be derived from the model’s intended purpose. For classes, the Description is the same content that is shown in the Glossary. |
| Glossary | – | A project is open, or an external model has been imported. | Toggles the Glossary pane.
The Glossary is used for displaying and quickly editing short descriptions of all Classes in the Conceptual Model. |
| Data Grid | – | A project is open, or an external model has been imported. | Toggles the Data Grid.
The Data Grid is used for browsing data. Data can be browsed for any connection defined in Connections, depending on credentials. |
| Class Analysis | – | A project is open, or an external model has been imported.
To view the actual analysis, a Class must be selected. |
Toggles the Class Analysis pane.
The Class Analysis pane shows the analysis result for the selected class. The analysis is performed in real time, and the results shown are either Suggestions, Warnings or Critical errors. For practically all issues, the Analysis Engine also provides a number of Corrective Actions. These are commands in a dropdown menu that, when selected, solve the problem, or part of it, or lets you inspect the components involved in the issue by showing them in the Models tree and Properties pane. |
| Tagged Values | – | A project is open, or an external model has been imported. | Toggles the Tagged Values list.
The Tagged Values pane is used for editing the values of Tagged Values assigned to the selected element. |
| Properties | – | A project is open, or an external model has been imported. | Toggles the Property Grid.
The Property Grid is used for editing individual properties of all editable elements in the models. Only in very few cases will the Property Grid validate and open a message box reporting an error in the property values being provided by the user. The design decision here is that it should be a quick input mechanism and not interrupt the flow. Properties affecting any implementation will be analysed in the full DSharp Studio prior to generating the implementation, so any mistakes made in the Property Grid will be caught and can be corrected at a later time. |
| Application Log | – | Always. | The Application Log show notifications, warning and errors provided by the application |
Design
Commands for creating new model content. As an exception, the Flip command edits existing elements.
Command |
Sel |
Availability |
Action |
| New Business Case | SE | Modeler, Studio
(a) There is no selection (b) Selected Element is a Business Case |
(a) Creates a root level Business Case
(b) If Selected Element is a Business Case, creates a child Business Case for it |
| New Sandbox | – | Modeler, Studio | Creates a Sandbox model in the Models hierarchy. |
| New Class (adaptive) | SEs | Modeler, Studio
(a) Selection contains only one element, which is either Conceptual model or a submodel. (b) Selection contains only Classes and containers. |
Group of commands that create a new class, available for each Archetype.
(a) Command is displayed as “New Class”. Creates a new Class of the desired Archetype as a new child element to the selected submodel (or Conceptual model directly). (b) Command is displayed as “Link to New Class”. The command creates a new Class with the desired Archetype as a new sibling to the first class in the selection, and then creates a default association from each class in the selection to this new class. Power User hint: Use the keyboard shortcuts! The shortcuts are named using the first letter of the Archetype, and note that adding Shift to this shortcut gives you the corresponding commands from the Edit menu that change the existing Archetypes instead. |
| New Attribute | XS | Extended selection contains one or more class. | The application will prompt for a new attribute name and datatype and then create the new attribute for each class in the Extended selection.
The following syntax applies when naming the attribute:
If datatypename is not recognised as a valid datatype, the datatype for the new attribute will not be set. |
| Default Association | SEs | All Selected elements are classes and there are at least two of them. | New Associations will be created between the selected Classes. The multiplicities of the Association Ends will depend on the Archetype of the Classes. The first Class selected will be the target Class of the operation with which all subsequently selected Classes will be connected through the new Association.
The following multiplicities will be applied for the new associations (same rules apply in reverse):
Associations having the same single number multiplicity in both ends will also get its Navigability property set so that the association is navigable from the From Class towards the To Class.. These rules are based on what the most likely combination of multiplicities is when objects of these particular Archetypes interact. |
| Self-reference | SEs | All Selected elements are classes and there is at least one.. | Creates a self-reference with multiplicities 0..* – 0..1 for each class in the selection. |
| Multiplicity 1 – Multiplicity 2 (adaptive) | SEs | (a) All selected elements are classes. There are exactly two selected classes
(b) All selected elements are classes. There are more than two aselected classes (c) Only associations or association ends are selected, and there are at least one of them. |
Group of commands creating a new association for each combination of multiplicities [0..1], [1] and [0..*] as well as setting the direction of the association (which Class is the “From” Class and which is the “To”).
(a) the Association of choice is created between the two classes. The first one in the selection will be the From class in the Association, if the command name indicates that direction (” -> ” in the command name). In case the command name contains the reverse direction indicator (” <- "), the first class I the selection will become the To Class in the Association. (b) as (a), but pairwise for each class in the selection so that the first class in the selection will participate in every new association to the other classes. (c) Command is displayed as "Apply Multiplicities Multiplicity 1 – Multiplicity 2 to Selected Association / n Associations”. Will apply the desired multiplicities to all selected Associations / Association ends. |
Derive
Commands for creating new model content based on existing elements.
Command |
Sel |
Availability |
Action |
| New Class-to-Class Mapping (adaptive) | SEs | Modeler, Studio
(a) Selection contains one element which is a Class. (b) Selection contains two elements, both of which are classes |
(a) Command is displayed as “Derive new Class from ”
Creates a new class based on the selected class. The new class will have the same attributes as the source class, and it will be marked as Derived. Furthermore, a Class Source Definition will be created between the two classes to be finalised in the Property Grid. (b) Command name is displayed as “Define as Source to “. Otherwise same as above, but a new class doesn’t need to be created as the Class Source Definition can be created between existing classes. |
| Denormalize Class (Shallow) | SE | Modeler, Studio
Selected Elements is a class that can be denormalized, ie it has a logical reference-type association to another class. |
Creates a new Derived class containing all attributes of the original class, plus all the attributes of each class referenced by the original class. No associations to references of these classes are created, but an association to the class being denormalized is created. |
| Generate New Sandbox | SE | Modeler, Studio
Selected Element is a Business Case. |
Creates a new Sandbox model, and uses AI to generated a conceptual model based on the story built from the selected Business Case hierarchy. |
| Generate Classes From Database | SEs | Selected Elements contains Database, Database Schema or Database Table / Viewselected in the Connections pane. | Creates a class structure from the selected database objects and creates links from the source objects to the newly created model elements. These links are valid during the session, and can be used for subsequent drag & drop mapping file creation once the resulting model elements have been appropriately renamed. |
Organize
Commands for organising the model structure using Submodels.
Command |
Sel |
Availability |
Action |
| New Submodel | SE | Selected element is Conceptual model or Submodel. | Creates a new Submodel as a new child to Selected element. |
| Move Up | SEs | Selected elements are Submodels or Classes.Selected elements are not direct children of Conceptual model.
Selected elements have the same parent. |
Moves the selected elements one step up the hierarchy. |
| Move Down | SEs | Selected elements are Submodels or Classes.Selected elements have the same parent. | Creates a new Submodel with the name of the first element in selection as a sibling to the elements to be moved, then moves the selected elements to the newly created Submodel. |
| Collect Classes | SE | Selected element is Conceptual model or a Submodel. | Finds all Classes that are descendants of the selected root element and makes the root element their parent element. After this, all Submodels within the root element are deleted.Results in a flat class list directly under the selected element. |
| Group Classes | SE | Selected element is Conceptual model or a Submodel. | Analyzes the classes found under the selected root element and groups closely associated classes together under a new Submodel named like the dominant class in the group.Results in a combination of existing and new Submodels containing classes grouped by relevance for each other. |
| In-Place Relocate Classes | SE | Selected element is Conceptual model or a Submodel. | Creates a new Submodel in place for each Class and puts the Class in it.Results in a structure where each class is in its own Submodel. This functions as a starting point for manual reorganizing of the contents of the selected root element. |
| Purge Submodels | SE | Selected element is Conceptual model or a Submodel. | Deletes all empty Submodels found under the selected root element. |
Diagram
Commands for opening and arranging diagrams.
Command |
Sel |
Availability |
Action |
| New Class Diagram (adaptive) | XS | (a) The selection contains one element and that is a Folder
(b) The Extended selection contains classes (c) The Ad Hoc folder is selected (d) The Extended selection contains no compatible elements that match a – c above |
(a) Command is displayed like “New Class Diagram”.
Creates an empty Class Diagram in the selected folder. (b) Command is displayed like “View in New Class Diagram”. Creates a new Class Diagram in the selected folder and adds each class from the Extended selection to it. If the classes have shared associations, these will be added as well. (c) Command is displayed like “New Ad Hoc Diagram”. Creates a new empty Class Diagram in the Ad hoc Diagrams folder. (d) Command is displayed like “New Class Diagram”. Creates a new empty Class Diagram in the Class Diagrams folder. |
| New Diagram Folder | SE | The selected element is a folder that lives in the Class Diagrams hierarchy. | Creates a new folder to the Diagrams tree for organizing diagrams. |
| New Note | – | A diagram is active. | Creates a new Note to the Model Editor or Diagram.
Notes can be used to add miscellaneous visible comments to a diagram. |
| Show Related in New Ad Hoc Diagram | XS | There are Classes in the Extended selection. | Creates a new Ad Hoc diagram, adds the classes in the selecton to it, and then it traverses each incoming and outgoing association for the class and adds the found classes to the diagram.
Results in a diagram containing the original classes and each class that has a direct association with them. |
| Show Referenced in New Ad Hoc Diagram | XS | There are Classes in the Extended selection. | Creates a new Ad Hoc diagram, adds the classes in the selecton to it, and then it traverses each outgoing association for the class and adds the found classes to the diagram.
Results in a diagram containing the original classes and each class that it depends on. |
| Expand Referenced in New Ad Hoc Diagram | XS | There are Classes in the Extended selection. | Same as above, but recursively.
Results in a diagram containing the original classes and each class that it depends on, each class they depend on, and so on. |
| Show Referencing in New Ad Hoc Diagram | XS | There are Classes in the Extended selection. | Creates a new Ad Hoc diagram, adds the classes in the selecton to it, and then it traverses each incoming association for the class and adds the found classes to the diagram.
Results in a diagram containing the original classes and each class that depends on it. |
| Expand Referencing in New Ad Hoc Diagram | XS | There are Classes in the Extended selection. | Same as above, but recursively.
Results in a diagram containing the original classes and each class that depend on them, each class that depends on them, and so on. |
| Hide Associations | SEs | Classes are selected in the active diagram. | Shows the visible associations of the selected classes in the Diagram. |
| Show Associations | SEs | Classes are selected in the active diagram. | Shows the hidden associations of the selected classes in the Diagram. |
| Arrange | – | A diagram is active. | Arranges the diagram. The command loops through a small selection of algorithms.
The time it takes to arrange a diagram is dependent on the number of associations as well as how they are distributed among the classes. |
| Clean Up | – | A diagram is active. | Cleans up a Model Editor from visiting classes that don’t belong in the submodel. |
Model
Commands relating to the execution of the model.
Command |
Sel |
Availability |
Action |
| Validate Model | – | Always available. | Analyzes the Model and lists all the issues in the Model Analysis pane.
Opens the Model Analysis pane. |
| Run | XS | The Extended Selection contains the Model, one or more Submodels and/or one or more Classes. | Initiates DSharp Studio’s conversion process and the jumps to Run Mode.
The Analysis Engine analyzes the Model and the Mappings. The Model Analysis pane displays any found Critical issues. |
| Pause | – | In Run Mode. | Resets all generated objects and returns to Design Mode. |
Git
Version control related commands.
Command |
Sel |
Availability |
Action |
| Git Status | – | Viewer
Always available. |
Queries the Git server’s status for the current project and displays it in Property Grid. |
| Git Pull | – | Viewer
Always available. |
Pulls the latest changes from the Git server and displays the result in Property Grid.. |
Settings
Settings and global objects.
Command |
Sel |
Availability |
Action |
| Application Settings | – | Always available. | Shows/hides the Properties view for Application Settings. |
| Project Settings | – | A project is open, or an external model has been imported. | Shows/hides the Properties view for Project Settings. |
| Stereotypes | – | A project is open, or an external model has been imported. | Shows/hides the Stereotypes pane. |
| New Connection | – | A project is open, or an external model has been imported. | Creates a new server connection and adds the Connections pane. |
| Test Server Connection | SE | A Connection is selected. | Tries to open the connection and reports whether it succeeded or not. |
| AI Connections | – | A project is open, or an external model has been imported. | Opens the AI Connections pane for configuring AI services. |
| Business Case Settings | – | A project is open, or an external model has been imported. | Opens the Business Case settings pane for configuring Business Case specific AI parameters. |
Help
Information about the application.
Command |
Sel |
Availability |
Action |
| About DSharp Studio | – | Always available. | Opens information about Version and License. |
| Release Notes | – | Always available. | Opens the Release notes page. |
| Get Support | – | Always available. | Opens a support report page. |
| Online Command Reference | – | Always available. | Opens this page. |
| Offline Command Reference | – | Always available. | Generates a HTML document on the fly listing all the current commands registered with menus. |
| Error Log | – | Always available. | Opens the last crash log. |
