Hi!
I could surely need some help with a thing here....

We're designing a quite big system including both software and hardware. When doing the system analysis part, we have the approach of defining a set of subsystems (packages with stereotype "subsystem") because we know approximately what subsystems to have and what partitioning that is suitable. Then we define all the use cases on a black box level.
The usecases are then further described in signalling sequences, where external actors and subsystems communicate with each other. The messages that are sent between the subsystems and actors are defined in interface classes, which are inherited by the subsystems.
Everything so far is quite easy to get working
But when I want to take a small step into one of our subsystems (like subsystem systemization), I'd like to take one of the messages that is input to the subsystem and send that towards one of the classes within the subsystem. How shall this be done?
My view:
If I let the classes in the subsystem - that need to interact with the outside world - inherit from the subsystem, I also get all the interface class definitions selectable when I send messages between the subsystem it's classes.
But to me it feels a bit odd that the classes in one subsystem (the subsystem is a package with stereotype "subsystem") need to inherit from the subsystem to be able to communicate with the outside world using the interface classes. I thought that it should be inherited automatically?
Is it correct from a UML point of view to send messages between subsystems on system level, and then from the subsystem to the internal classes on sub system level? Or are there any nice features in UML and/or the tool that should be used instead?
Regards,
Per Tengkvist