Once a diagram is created by dragging and dropping elements from the palette, the elements can be manipulated to change the diagram. AcmeStudio provides facilities to align, change ordering, provide grids, change the look of an element, zoom, and many others. Many of these facilities are available from the toolbar and the menus (described in the Menus and Toolbars section). In this section, we describe a few of these features.
When an element is first created from the palette, it is given a default name by AcmeStudio. To change the name, you must select the element and then click once more on the selected element. This brings up a hovering editor that can be used to type the new name (press Enter when the name is finished). If the new name is illegal, then a small popup will appear while typing indicating the error and the original name will be kept if the user tries to submit this change. (Note that the name can also be changed by using the Basic section of the Properties view.)
In some instances, you may want to duplicate elements in the design so that the structure and properties are the same in both elements. You can do this by cloning an element. To clone an element, press the Ctrl key while dragging. When you release the mouse button, a new, cloned, element will appear on the diagram.
If AcmeStudio has align-by-geometry functionality enabled (see View è Snap to Geometry menu item), then when dragging elements around the canvas, blue guides will appear that show when the moving element is aligned with the middle, left, right, top, or bottom of other elements on the diagram.
One of the more prevalent complaints about old versions of AcmeStudio was the difficulty many users had in ‘being on’ their target when dragging roles around. If a model was quite zoomed out or sufficiently large, connecting the end of a role to the desired target was not an easy task. Now, elements are highlighted when roles are dragged over them.
To make it easier for users to easily connect existing roles to components, AcmeStudio has been enhanced with the functionality to allow users to drag roles to a component, release the mouse button, and have AcmeStudio automatically create a port on the component and connect the role to it. What port type will be created? Well, by default, AcmeStudio uses connection patterns to decide which port to create. If this choice is made, then, should a connection pattern match with the connector type the role is connected to, the role type, and the component type, it will be used to infer the port type. Should there be more than one matching pattern, a dialog will be displayed asking the user to disambiguate the type. See the Connection Pattern section for more details about connection patterns.
There are many common operations that are associated with architectural elements. To provide shortcuts into some of these operations, AcmeStudio provides architectural assistants to help manipulate elements. An architectural assistant appears if the user hovers over an architectural element in the diagram. By default, AcmeStudio provides two types of assistants – the element assistant and the connection assistant. Initially, these assistants are transparent – when you move the mouse over them they become solid and you can interact with them.
Element Assistant
The Element Assistant allows you to easily assign types to elements in the architecture. Selecting one of the icons in the assistant will assign that type to that element. If a user is hovering over a component, the assistant has an additional section that allows the creation of ports on the component.
Connection Assistant
The connection assistant allows you to start using the connection tool from the palette without the need to select the tool. Clicking and dragging on the assistant will start the connection process; releasing the mouse on a valid object will create a connection. See the section on Connection Patterns for further detail about the connection rule.