The UML is a complex language. The current specification of the language has three parts
- Superstructure (758 pages)
- Infrastructure (226 pages)
- Interchange (132 pages)
This text is so dense that it is commonly referred to as the "hairy underbelly" of the UML. SysML is even worse: it contains about 80 of the UML specifications and adds a good bit more (272 pages). It also has a number of subtle and complicated features. This has been a barrier to acceptance and usage of the SysML in some systems engineering environments.
However, the complexity of the full specification should not be a barrier to the adoption and use of the modeling language. An engineering team can get approximately 80% of the benefits of modeling with a core 20% of the language. I have created a SysML Profile called Minimal SysML. It includes a subset of features. Other features and views defined by the SysML can be incrementally adopted once the core subset is understood, but only when needs for more advanced features arise.
The language subset contains fewer diagrams than the set defined with the SysML specification and some of the diagrams are simplified in terms of the elements they contain. The core diagrams are:
- Use case diagram
- Block diagram (block definition diagram and external block diagram are variants)
- Activity diagram
- State diagram
- Sequence diagram
Some of the diagrams removed include:
- Requirements diagram: a "virtual diagram" that really isn't a diagram type at all
- Package diagram: a use of a block diagram
- Parametric diagram: used to model parametric constraints.
Some elements within the support diagrams are also removed:
- Block diagrams: retain proxy ports but lose full ports
- State machines: lose history pseudo state and junction connector
- Sequence diagrams: omit create, destroy, found and lost messages, execution occurrence, and reply messages. Activity diagrams lose action pin, call operation, interruptible regions, and flow final.
This subset supports almost all system engineering workflows, such as requirements modeling, use case functional analysis, architectural specification, and interface definition. As mentioned, as comfort permits – and need arises – the other views and elements can be incrementally added back. In the meantime, you will have a simpler language that allows you to do almost all the required engineering.
- Learn more about Rational System Architect:
- To learn more about the tool for collaborative, model-driven development for embedded systems, start with the Rational Rhapsody product line overview and the Rational Rhapsody page on IBM developerWorks. Also see the Rational Rhapsody 7.6 information center and the Changing the location of help content to get a local copy of the documentation.
- Explore the various versions, too: IBM Rational Rhapsody Architect for Software, a visual development environment for embedded systems and software
- IBM Rational Rhapsody Architect for Systems Engineers
- IBM Rational Rhapsody Designer for Systems Engineers
- IBM Rational Rhapsody Developer for collaborative, model-driven development of embedded systems. This edition is required for Eclipse users, and editions are available to create specialized projects in C, C++, Java, and Ada languages.
- To learn more about Rational Rhapsody design management capabilities, check out the IBM Rational Rhapsody Design Manager to see how to collaborate, share, review, and manage designs and models with the entire engineering team. Also see the Design Management page on Jazz.net.
- Explore the Rational software area on developerWorks for technical resources, best practices, and information about Rational collaborative and integrated solutions for software and systems delivery.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, anytime, and many of the Getting Started ones are free.
Get products and technologies
- Download a free, fully enabled trial version of Rational System Architect.
- Take an online tour of Rational Rhapsody with an online trial or download Rational Rhapsody or special editions to Evaluate, free of charge, for 30 days.
- Evaluate IBM software in the way that suits you best: Download it for a trial, try it online, or use it in a cloud environment.
- Participate in the Enterprise Architecture and Business Architecture forum, where you can share information about methods, frameworks, and tool implementations. Discussions include tool-specific technical discussions about Rational System Architect.
- Join the discussion in the Rational Rhapsody forum.
- Get connected with your peers and keep up on the latest information in the Rational community.
- Rate or review Rational software. It's quick and easy.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.
Dig deeper into Rational software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.