[aadl]: Modelling best practices
julien.delange at esa.int
julien.delange at esa.int
Mon Oct 31 09:57:43 EDT 2011
Dear all,
I am currently using AADL to capture a system architecture. It is composed
of many heterogeneous components.Then, I am wondering about the best
modelling patterns and I think this could interest different persons on
this list. The thing is that for some components, there is only few
variability but they share a lot of common properties/requirements.
For example, imagine a monitoring system with camera and an audio
recorder. These devices have some properties and constraints and are
connected to a network using a 100M ethernet link. The vendor also has the
SAME devices but with a wireless link.
So, one approach would be to first model generic components like
device generic_camera
properties
....
end generic_camera;
device generic_recorder
properties
....
end generic_recorder;
And then, create new device components that extend the generic one.
device camera_eth extends generic_camera
features
link : requires bus access ethernet_bus;
end camera_eth;
device camera_wifi extends generic_camera
features
link : requires bus access wifi_bus;
end camera_wifi;
device recorder_eth extends generic_recorder
features
link : requires bus access ethernet_bus;
end recorder_eth;
device recorder_wifi extends generic_camera
features
link : requires bus access wifi_bus;
end recorder_wifi;
But on the other hand, it forces to redeclare the features access while it
could be declared only in one generic component and then, be inherited.
So, we could add
device generic_eth
features
link : requires bus access ethernet_bus
end generic_eth;
And then, if we have multiple inheritance, one would be able to write
device camera_ethernet extends generic_camera, generic_eth
end camera_ethernet;
This would ensure that devices using the same network have the same
properties each other. Otherwise, network-related properties and
requirements must be duplicated, which could be error-prone. On the other
hand, adding multiple inheritance would raise new issues.
So, I'm wondering what are the best practices to model such components
with few variability. I'm quite sure that some AADL users already face
such issues and so, having a feedback about existing experience would be
nice ! On the other hand, I hope this could be useful for other people and
then, show some useful modelling patterns !
Thanks for any comment/suggestion,
More information about the Sae-aadl-users
mailing list