|
Home FAQ Specifications Tools Training Publications Mailing List News Other Resources Visual Modeling Forum Business Modeling Forum UML Forum
|
- What
is the SysML?
The SysML
(Systems Modeling Language)
is a domain-specific modeling language for systems
engineering applications. It supports the specification,
analysis, design, verification and validation of
a broad range of systems and systems-of-systems.
These systems may include hardware, software,
information, processes, personnel, and facilities.
SysML was originally developed as an
open source specification project initiated in
2003. The SysML specification is publicly
available for download, and includes an open
source license for distribution and use.
BACK TO TOP
-
Why do systems engineers need
yet-another-modeling-language?
Many systems engineering processes tend to
be document-intensive (a.k.a. document
centric) and employ a motley mix of diagram
techniques that are frequently imprecise and
inconsistent. In a manner similar to how
software engineers sought a general-purpose
modeling language (UML) to precisely specify
software-intensive systems during the last
decade, systems engineers are now seeking a
domain-specific modeling language to specify
complex systems that include non-software
components (e.g., hardware, information,
processes, personnel, and facilities). UML
cannot satisfy this need because of its
software bias; hence the motivation for
SysML. Even though SysML is based on UML, it
reduces UML's size and software bias while
extending its semantics to model
requirements and parametric constraints.
These latter capabilities are essential to
support requirements engineering and
performance analysis, two essential systems
engineering activities.
BACK TO TOP
-
What is the current version of SysML?
The first complete version of the SysML open
source specification is
SysML v. 1.0a
, which is available from the
Specifications page
of this web. A summary of the improvements
in SysML
v. 1.0a can be found in the Change
Summary section of the SysML v. 1.0a Preface.
SysML v. 1.0a was completed and submitted to
the OMG technology adoption process in November
2005.
BACK TO TOP
-
What is the
relationship between SysML and OMG SysML?
OMG
SysML™, which is trademarked and maintained
by the Object Management Group, is derived
from open source SysML, and consequently
also includes an open source license for
distribution and use. The OMG adopted OMG
SysML in July 2006. The current
adoption status of OMG SysML is that of a
"Final Adopted Specification." An OMG
Finalization Task Force plans to recommended
a final version OMG SysML in April 2007,
which needs to voted upon once more before
it becomes a public "Available
Specification." You can download the OMG
SysML Final Adopted
Specification from the Specifications page
of this web.
The OMG SysML Final Adopted Specification
does not include a prominent change summary,
as is required by the SysML open source
license. This change summary should be
included before OMG SysML becomes a public
Available Specification.
BACK TO TOP
- Who
are the SysML Partners?
The SysML
Partners is the informal association of tool
vendors and industry leaders who originally
developed the SysML open source
specification.
Cris Kobryn
and Sandy Friedenthal organized and
co-chaired the SysML Partners in 2003 to define a
domain-specific language for systems
engineering that would satisfy the
requirements of the OMG's "UML
for Systems Engineering" RFP. The SysML
specification is the result of this project. You can find
out more about the SysML Partners
here.
BACK TO TOP
-
What is the relationship between UML
and SysML?
UML is a general purpose
modeling language (GPML),
whereas SysML is a domain-specific modeling
language (DSML)
defined as a profile (customization) of UML 2.0.
The advantage of defining SysML as a UML
profile is that it can reuse the relatively
mature notation and semantics of UML 2.0.
The disadvantage of specifying SysML as a
UML profile is that SysML inherits many of
the problems associated with UML, such as
gratuitously complex notation and semantics
(a.k.a., language bloat), and a
dysfunctional diagram interoperability
standard (XMI).SysML offers systems
engineers the following advantages over UML
for specifying systems and
systems-of-systems:
- SysML expresses systems engineering
semantics (interpretations of notations)
better than than UML. It reduces UML's software
bias and adds two new
diagram types for requirements
management and performance analysis:
Requirement diagrams and Parametric
diagrams, respectively.
- SysML is smaller and easier to learn
than UML. Since SysML removes many
software-centric and gratuitous
constructs, the overall language is
smaller as measured in diagram types (9
vs. 13) and total constructs.
- SysML allocation tables support
various kinds of allocations (e.g.,
requirement allocation, functional
allocation, structural allocation)
thereby facilitating automated
verification and validation (V&V) and
gap analysis.
- SysML model management constructs
support the specification of models,
views, and viewpoints and are
architecturally aligned with
IEEE-Std-1471-2000
(IEEE Recommended Practice for
Architectural Description of
Software-Intensive Systems).
The following table compares SysML
diagrams with their UML counterparts where
one exists. Where no UML diagram counterpart
exists for a SysML diagram (e.g., Parametric
and Requirement diagrams), it is marked N/A;
similarly, where no SysML diagram
counterpart exists for UML diagram it is
marked N/A (e.g., Communication diagram).
|
SysML Diagram |
Purpose |
UML Diagram
Analog |
|
Activity
diagram |
Show
system behavior as control and data
flows. Useful for functional
analysis. Compare Extended Functional
Flow Block diagrams (EFFBDs),
already commonly used among systems
engineers. |
Activity
diagram |
|
Block
Definition diagram |
Show
system structure as components along
with their properties, operations
and relationships. Useful for system
analysis and design. |
Class
diagram |
|
Internal
Block diagram |
Show
the internal structures of
components, including their parts
and connectors. Useful for system
analysis and design. |
Composite Structure diagram |
|
Package
diagram |
Show
how a model is organized into
packages, views and viewpoints.
Useful for model management.
|
Package
diagram |
|
Parametric diagram |
Show
parametric constraints between
structural elements. Useful for
performance and quantitative
analysis. |
N/A |
|
Requirement diagram |
Show
system requirements and their
relationships with other elements.
Useful for requirements engineering. |
N/A |
|
Sequence
diagram |
Show
system behavior as interactions
between system components. Useful
for system analysis and design. |
Sequence
diagram |
|
State
Machine diagram |
Show
system behavior as sequences of
states that a component or
interaction experience in response
to events. Useful for system design
and simulation/code generation. |
State
Machine diagram |
|
Use Case
diagram |
Show
system functional requirements as
transactions that are meaningful to
system users. Useful for specifying
functional requirements. (Note
potential overlap with Requirement
diagrams.) |
Use Case
diagram |
|
Allocation tables*
*dynamically derived tables, not
really a diagram type |
Show
various kinds of allocations (e.g.,
requirement allocation, functional
allocation, structural allocation).
Useful for facilitating
automated verification and
validation (V&V) and gap analysis. |
N/A |
|
N/A |
|
Component diagram |
|
N/A |
|
Communication diagram |
|
N/A |
|
Deployment diagram |
|
N/A |
|
Interaction overview
diagram |
|
N/A |
|
Object diagram |
|
N/A |
|
Timing
diagram |
BACK TO TOP
-
Can SysML and UML be used together in the
same project?
Yes, this was the
SysML language designers' intent. However,
many important details about how mixed
UML-SysML usage will work efficiently in
practice have not yet been worked out. The
problem is not mixed UML-SysML tool support,
since the first SysML tool vendors are UML
tool vendors who are implementing SysML as a
UML profile. In this answer we assume
that most UML-SysML vendors will be able to
provide their users with "SysML only," "UML
only," and "UML-SysML combined" usage modes
or perspectives (the Eclipse term).
In order to understand the pragmatic
problems of mixed SysML-UML usage, let's
consider the case of a large engineering
project with many systems engineers and
software engineers, where the former choose
to model in SysML and the latter select to
model in UML. These problems they encounter
will range from linguistic overlap, where
notations and semantics are similar, but
differ in subtle yet important ways, to
linguistic divergence, where there is no
straightforward translation between the two.
An example of relatively straightforward
linguistic overlap is the translation
between SysML Activity diagrams and UML
Activity diagrams, where both diagram types
use the same naming conventions, but the
former makes some modest notational
extensions to the latter. UML profiles and
stereotypes were designed to handle this
case, so mixed teams using both SysML and
UML Activity diagrams should not be confused
by this mixed language usage.
Less straightforward is the linguistic
overlap between SysML Block
Definition/Internal Block diagrams and UML
Class/Internal Structure/Component diagrams,
where there are several issues involved in
translating the former to the latter. These
range from gratuitously different naming
conventions (Blocks vs. Classes vs.
Components), to more substantial issues such
as adding SysML constructs with ambigous
semantics (e.g., SysML Item Flows) and
diverging from UML's Class-Part-Instance
trichotomy (SysML has no Object diagrams).
There are also substantive linguistic
divergence problems associated with at least
one of SyML's new diagram types, Parametric
diagrams. The SysML provides notation, but
sparse semantics for this new diagram type,
which introduces a constraint-logic paradigm
into UML's object-component paradigm.
For these reasons, project teams who plan to
use both SysML and UML on large project
should be aware that they will likely
encounter both subtle and substantive
translation problems for which the SysML
<<allocate>> dependency or the UML
<<refine>>/<<trace>> dependencies are only
stopgap solutions. Hopefully vendors and
methodologists will work out these problems
soon, after they gain more experience with
real projects.
BACK TO TOP
-
Can SysML be customized by vendors or users?
Yes, SysML can be customized by both
vendors and users with the profile mechanism
it borrows from UML. It is anticipated that SysML
will be customized to model more domain-specific
applications, such as automotive, aerospace,
communications and information systems.
BACK TO TOP
-
Which language is easier to learn, SysML or UML?
The answer likely depends on whether you
are a systems engineer or a software
engineer. If you are a systems
engineer, you should expect SysML to be
easier to learn, since it is smaller
language and it is customized for your work
domain. If you are a software
engineer, you may prefer UML's
software-centric bias.
BACK TO TOP
-
When will the
OMG SysML specification be finalized
by the OMG?
The current adoption
status of OMG SysML is that of a "Final
Adopted Specification." An OMG Finalization
Task Force plans to recommended a final
version OMG SysML in April 2007, which needs
to voted upon once more before it becomes a
public "Available Specification." These are
estimates only, since OMG technology adoption process tends
to be bureaucratic and difficult to
predict. You can find out more
about OMG SysML's technology adoption status on the
OMG SysML
web. BACK TO TOP
-
Will there be other variations or
dialects of the SysML?
Since the SysML has been developed by an
open source project, and includes an open
source license for its distribution and use,
others can freely modify, use and redistribute the SysML
specification as long as they follow the
conditions in the license. For
example, the OMG is adopting a variation of
the SysML open source specification that they are trademarking as "OMG SysML."
Others may do the same as long as they
follow the open source license for
distribution and use.
BACK TO TOP
-
When will SysML v. 1.0 tools be
available?
SysML v. 1.0 tools are
already available. You can find a list of
SysML tools that are available or publicly
announced on the Modeling Tools page of this web.
BACK TO TOP
-
Will SysML v. 1.0 tools be interoperable?
Since most SysML tools are initially being
implemented as profiles of UML 2.0, they
will be dependent upon UML 2.0 for
interoperability. Unfortunately, UML 2.0
tool interoperability (which uses XMI) does
not work well, especially regarding diagram
interchange, which is essential for visual
modeling languages such as UML and SysML.
BACK TO TOP
-
Can SysML users submit new questions
for this FAQ?
Yes, please send email
with your questions to
FAQ@SysMLforum.com.
BACK TO TOP
|