1
votes

I have some device consist of lots hardware and software. To clarify device behavior our team decided to create a bunch of UML diagrams.

Main diagram should describes logical connection between blocks with interfaces types/parameters. But I can't find how make diagram hierarchicaly, nested. For example: on the top level I want to show data transfer from host app to DDR, from DDR to some configure block, and from this block to data processing block. Then I want to draw a chain of mathematical blocks in processing block, and put ports from top-level shematic as external ports.

That's not a "traditional" UML usage as I can see. Also I was trying to use SysML, it provides me external ports, but Internal Block Diagrams is not what I looking for. So the question is is it posible to create such diagram that i describe? Or UML/SysML diagrams is one-level diagrams?

2
What's your issue with SysML? It's exactly defined for what you are trying to design. Of course you could create your own UML profile inspired by SysML (what I did in a project in the past).qwerty_so
@qwerty_so seems like SysML is not suits for a big hierarchy, IBD can't present another IBD (in notation approach). Am I under delusion?Ivan

2 Answers

3
votes

It is not totally clear what you want to present, but you seem to look for one-diagram-fits-them-all. This is not the UML philosophy, in which you use different diagrams to show different aspects of the system to model. I‘ll nevertheless try to provide some ideas:

  • To show the big picture with blocs and their interfaces, you can use component diagrams;
  • To show the nesting of some smaller building blocs within a larger component, you can use a composite structure diagram;
  • But if you want to show the behavior, and the processing flow, you need to use an activity diagram.

The challenge is then to relate these diagrams, and show how the big picture is broken down into more manageable smaller ones.

Finally, if you want to show how the software runs on the hardware platform and how hardware/software parts communicate each other, you could consider deployment diagrams. But you may as well prefer to chose the lighter C4 model. This allows to present up to the higher-level structure down to the component interactions with a flexible lighter diagramming, which is less precise than UML but can better cope with uncertainty. The C4 components are then detailed using precise and more formal UML models.

0
votes

A suggestion would be to use IBD (not so sure about your rationale why that's not ok). Parts within the IBD can be decomposed to the nth degree and links / ports can be shown crossing part boundaries.

The boundary of a part within an IBD can be thought of as its own IBD diagram frame and though not formally a diagram object it serves the same purpose.