saeaadl / emv2

AADL Error Model V2 annex language
0 stars 0 forks source link

Consistency rule in error propagation section: All features must have a propagation or containment declaration #38

Closed reteprelief closed 3 years ago

buzden commented 6 years ago

Well, this rule definitely looks nice for full and completely EMV-annotated models. But there are two points against.


One of the points arises in a situation when model in not complete. There are two cases, one of them is rather simple, another is more or less complicated.

Simple case: we completely don't know yet

In this case, we can consider that we have a component for which we completely haven't decided yet whether this or that feature can be used for propagation and containment of an error. This still allows us to perform different kinds of analyses:

So it means that if your consistency rule is present, it won't allow us to use incomplete models for nevertheless reasonable analysis.

More complicated case: partial decisions

Another case considering which we can think that this rule is not so good (as it is, at least) is the following.

Consider we are designing some component and its error model. For instance, we have decided that some feature would definitely accept some incoming propagation of error E1 and that it would definitely not accept any incoming propagation of error E2. And consider that we are completely uncertain about other types of error propagations yet. The question is how can we write this decision to the model? There are at least three variants:


There is another point regarding to the topic and it is a boilerplate specification code. When I have for instance several tens of features (for instance, 32-port switch from some AADL-library), this rule makes me write something on features even if they're not used in my model. This looks like an annoying boilerplate. In this case it would probably better to consider nicer semantic rules for defaults (i.e. for cases when no propagation declaration exists) instead of inventing a consistency rule that obligates everyone to write a lot of dummy specifications.

jjhugues commented 3 years ago

This issue has not been reported as discussed. At this stage I prefer to close it