DSharp Studio Command Reference

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.

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.

Import Visual Paradigm Model Always, except when a project is being opened or saved. Imports a Visual Paradigm simple xml format xml file.

If the source model has been built using the SEStereotypes.xml UML extensions, the contents will already be fully compatible with DSharp Studio, in that class Archetypes as well as class and attribute metadata have already been set.

If the UML extension has not been used, classes will be imported a Generic classes.

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

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:

  • All selected elements are of the same type, and
  • If the selected elements are Submodels or Folders, none of them are hierarchical descendants of each other
  • You can only Cut the following element types:
    • Within the Conceptual Model
      • Submodel
      • Class
      • Attribute
    • Within the Diagrams hierarchy
      • Folder
      • Diagram.
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.
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:

  • From Models: Submodel, Class, Attribute, Association, Key Definition.
  • From Diagrams: Folder, Diagram.
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).

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:

  • name renames the Attribute
  • name : datatypename renames the Attribute as well as sets its datatype
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

  • First selected element is the Attribute to convert, the second selected element is the Class that the Attribute’s owner Class should create the association to.
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.

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
Log Always. Toggles the Log view.

The Log contains internal application events and may help in various debugging situations.

Console Always. Toggles the Console view.

The Console contains mainly temporary debugging messages when developing. Also some commands that produce textual output will print the text to the Console.

Clear Console Console has content. Clears the Console.
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.

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.

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.

Design

Commands for creating new model content. As an exception, the Flip command edits existing elements.

Command
Sel
Availability
Action
New Class (adaptive) SEs (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.

Import Classes From Database SEs All selected elements are Database Tables. Creates a new Submodel under Conceptual model, and creates a new class into it for each table, then a new attribute for each column and a new association for each foreign key.

Power User hint: Use drag & drop instead, you can directly drop the tables in the location where you want them.

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:

  • name sets the Attribute’s name to name
  • name : datatypename sets the Attribute’s name to name and also sets its datatype

If datatypename is not recognised as a valid datatype, the datatype for the new attribute will not be set.

New Class-to-Class Mapping (adaptive) SEs (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.

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):

  • Party, Place, Thing [0..*] – [1] Party, Place, Thing
  • Party, Place, Thing [0..*] – [1] Description
  • Party, Place, Thing [1] – [0..*] Moment – Interval
  • Party, Place, Thing [1] – [0..1] Role
  • Description [0..*] – [1] Description
  • Description [1] – [0..*] Moment – Interval
  • Description [1] – [0..*] Role
  • Moment – Interval [0..*] – [1] Moment – Interval
  • Moment – Interval [0..*] – [1] Role
  • Role [0..1] – [1] Role

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.

Flip Associations SEs All selected elements are either Associations (selectable in Model editor and diagrams) or Association Ends (selectable in the Models hierarchy). Will flip each association so that it exchanges the classes in each end of the association with each other. What was the From Class will become the To Class and vice versa.

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.
Gather 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.
Scatter 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 Submodel 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.

Settings

Settings and global objects.

Command
Sel
Availability
Action
Application Settings Always available. Shows/hides the Properties view for Application Settings.
Add Connection A project is open, or an external model has been imported. Creates a new server connection and adds the Connections pane.
Test Connection SE A Connection is selected. Tries to open the connection and reports whether it succeeded or not.

Help

Information about the application.

Command
Sel
Availability
Action
About DSharp Studio Always available. Opens information about Version and License.
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.
Release Notes Always available. Opens the Release notes page.