Featured Post

Applying Email Validation to a JavaFX TextField Using Binding

This example uses the same controller as in a previous post but adds a use case to support email validation.  A Commons Validator object is ...

Wednesday, March 20, 2013

SysML Block Properties in Sparx Systems EA 10

SysML 1.3 defines 4 types of properties that can be used by blocks: part, value, reference, and constraints.  Ports are handled as a special case.  This post demonstrates how part and reference properties are represented in Sparx Systems EA 10.


This BDD shows the composition hierarchy of an Order Processing System.  Order Processing Web Services (at least the implementation) and Order Processing EJB are owned by the Order Processing System and do not exist outside of the system.  Database is a shared RDBMS that contains tables for the Order Processing System, but other types of tables are in Database.  Order Processing System interacts with another system "Invoice Message System".

BDD Featuring Part and Reference Properties
The BDD was created by dragging five blocks onto a SysML 1.3 block diagram.  Two of the blocks - Web Services and EJB -- were linked with System using the composition connector.  This automatically changed System to display a properties compartment.  (This compartment can be hidden since the composition is already shown by the connector.)

Database is connected to system using an aggregation or shared association connector.  This connection classifies the block "Database" as a reference property.  System then displays a references compartment.

Finally, a very loose association is established between Order Processing System and Invoice Message System.  Order Processing System doesn't know anything about Invoice Message System, but might simply publish a message on a queue that both systems know about.  EA does not add this item as a property automatically, although one can be created manually.

Project Explorer

EA's Project Explorer shows the composition hierarchy by displaying parts of System as children.

Order Processing System Composition Hierarchy in EA Project Explorer
In Project Explorer, there are elements for blocks like Order Processing EJB and parts like "ejb : Order Processing EJB".  The distinction is that a part is an object instance, but unlike UML, the part object instance emphasizes context.  For shared aggregation, properties are reference properties that also appear as child elements of a block.

Structural Elements

EA also has a dialog that can be displayed using a right-click on a block that shows block's Structural Elements.  The following dialog shows the part and reference properties of System.


Structural Elements Dialog
I like SysML for its emphasis on composition, preferring it to UML for software specification activities.  SysML Blocks allow you to operate at a higher level of abstraction than UML Classes and Components.  Being able to shed some of the details helps you come up with a working list of software components for estimation or design purposes.  Sparx Systems EA 10 has several features for working with BDD's such as the cavas, Project Explorer, and Structural Elements Dialog.


No comments:

Post a Comment