Prev | Next |
Language Architecture
The Systems Modeling Language (SysML) is fundamentally a set of conventional symbols that allow humans and tools to communicate about systems engineering. It is an international standard that defines and describes a general-purpose modeling language for systems engineering. Enterprise Architect is one of the world's leading tools that implements this standard and allows Systems Engineers to apply the approach that is known as Model Based Systems Engineering. In addition Enterprise Architect offers tool features that support a wide range of ancillary aspects of engineering practice and management. We will explore these useful and productive tool features throughout this guidebook.
The SysML is based on another standard, the Unified Modeling Language (UML), that has been adopted and used by Software Engineers since the late nineties. This is important, as many Systems Engineering projects involve both system and software aspects and so both system and software engineers are able to understand each others models, leading to greater transparency, less chance of errors and mutually intelligible language constructs, resulting in a system that is less likely to fail or exhibit faults. This Venn diagram shows the relationship between the two standards. SysML reuses the Use Case, Activity and Sequence Diagrams.
Requirements Driven
The creation of the Systems Modeling Language (SysML) was driven by user requirements; the design of the SysML responded to the needs set out in the Request for Proposal for the Unified Modeling Language for Systems Engineering. This document specifies a customization of UML for Systems Engineering (SE) and mandates that this customization should support modeling of a broad range of systems, which could include hardware, software, data, personnel, procedures, and facilities. The document states:
'The customization of UML for Systems Engineering should support the analysis, specification, design, and verification of complex systems by:
- Capturing the systems information in a precise and efficient manner that enables it to be integrated and reused in a wider context
- Analyzing and evaluating the system being specified, to identify and resolve system requirements and design issues, and to support trade-offs
- Communicating systems information correctly and consistently among various stakeholders and participants'
The designers of Enterprise Architect have read these documents and the resulting SysML specification in detail and created a sophisticated and highly usable tool that implements all these requirements and adds a rich set of additional features to ensure an organization's engineering and business success.
For a language to be useful and relevant it must evolve in response to the needs of its communities of users. In so responding, the SysML specification is updated regularly and the teams at Sparx Systems also update and extend Enterprise Architect to ensure it complies with the evolving standard and, more fundamentally, meets the diverse needs of its community of users.
Unified Modeling Language Reuse and Extensions
The Systems Modeling Language (SysML) is built on top of the Unified Modeling Language (UML). The UML had been ratified and adopted by the Object Management Group (OMG), who continue as the custodians of the specification. In 2005 UML was also published by the International Organization for Standardization (ISO) as an approved ISO standard. The language provided a specification for modeling software centric systems. The SysML language dates back to 2001 and had its origins in an open source specification, but when the International Council on Systems Engineering (INCOSE) began working with the OMG a final version of the SysML was adopted by the OMG in 2006.
In many ways SysML is theoretically the more primitive language as it is a general purpose modeling language, and UML is more specialized, being designed for modeling software centric systems. However, history and the languages' genesis has inverted this position. In practice, SysML has been created using the UML profiling system and is an extended subset of the UML. What this means is that SysML did not take all of UML and it also defined some additional language constructs. The Venn diagram we saw in an earlier section describes mathematically the two intersecting sets of language constructs.
The Enterprise Architect implementation of the SysML specification is highly compliant, with the developers working closely with the specification and in constant communication with industry experts, thought leaders and the systems engineering communities in a wide range of industries. This has resulted in a world class tool that not only implements the specification but also provides a wide range of additional tools such as Executable StateMachines, Parametric Simulations, Gantt Charts, Kanban Boards, Mind Mapping, Strategic models and literally hundreds of other features.
In addition there continues to be an increase in the interaction between system and software engineering problems and solutions in a wide range of disciplines, from rail systems to aeronautical systems, energy systems and many more. Enterprise Architect is uniquely positioned because of its formidable features supporting both these disciplines and also its strengths as an architectural tool.
Partitioning with Packages
Packages are the fundamental unit of partitioning in the language and are designed to prevent circular dependencies. The language is formally partitioned into sets of model elements that group the elements logically and allow a language user to understand the elements as a collection of linguistic units.
They are also the fundamental structural unit in user defined models and act as a general purpose mechanism used to group elements based on user defined factors. Formally they can be used to specify a namespace, which is important in some modeling constructs such as the definition of XML schemas or code generation. Packages can be created and viewed either in the Browser window or in diagrams, and both locations provide different ways to work with the Packages. Diagrams are useful for displaying the contents of Packages visually or to describe the relationships that exist between Packages.
Architect provides numerous ways to display Packages in diagrams that will assist users in understanding the structural relationships between Packages and the elements and diagrams they contain. When a Package is included in a diagram, the tool allows the user to choose from a number of display options and the compartment visibility can be changed to show the Package content. In this diagram the author wants to show the contents of two Packages that have significance in the unlikely event of a collision. The 'Show Package Contents' option has been selected in the element compartment visibility making it clear what elements are contained in each Package.
The same Packages and their contents can be viewed in the Browser window, it is important to remember that while it is possible to include the diagrams in publications such as reports, the contents of the Browser window would not be visible in these documents.
Interoperability and Model Exchange
Enterprise Architect is one of the leading SysML tools with a requisite set of features, but the designers are aware that organizations will have the need to use a variety of tools to accomplish the complex business and engineering tasks that confront every organization in the Twenty-First Century. To ensure that the important engineering and business information is available to be exchanged with other tools and platforms, there is rich support for model exchange in compliance with the ISO 10303-233 data interchange standard to support interoperability among other engineering tools. This is implemented based on the UML XMI interchange capability, which is supported in the tool at the Package level, allowing any Package and its contained hierarchy to be exchanged with other compliant tools.
Enterprise Architect goes further than this and provides exchange mechanisms with a wide variety of business, project management, analytical and project delivery tools. This is achieved at the modeling tool level with the provision to exchange data contained in spreadsheets using the CSV file format, and text in word processors. Reference data such as lists of Priorities, Statuses, Complexities, Constraints, and other data such as Glossaries, Roles and Authors, Calendars and more can all be imported and exported from the repository.
Geospatial information forms a critical data set in a world where geo-location is an important aspect of almost every project and initiative. Enterprise Architect provides a data exchange with the leading geospatial modeling tools, allowing two previously disparate and heterogeneous data sets to be viewed and managed together.