Lepton types by charge

Click on the image to view it full size

In general, one should try to interpret snippets as directly as possible without "sneaking in" information that is not from an authoritative, traceable source. A little bit of general knowledge about elementary particles is nevertheless used here to interpret this snippet (in awareness of the previous snippets).

It is assumed that Charge is a value property of any abstract ElementaryParticle. It is also assumed that elementary particles can be either neutral or charged but not both (as represented by an OCL constraint).

The values of isCharged:Boolean and isNeutral:Boolean are then redefined and fixed in ChargedLepton and NeutralLepton respectively.

A GeneralizationSet has been used to indicate the hierarchy is {disjoint} (a concrete Lepton instance has to be one or the other). It is also marked as {complete}, although the source snippet is not completely clear on that, as it says "Two main classes of leptons exist" - leaving it a little bit open about whether only those two classes of leptons exists (it is assumed here for now that there are indeed only two).

A custom stereotype keyword «pa:term» with an attribute 'aka' has been used to indicate alternative names for the blocks as tagged values, so block NeutralLepton is {aka = 'neutrino'}.

As always, the newly elicited elements are moved out of the 'source' zone into the main model; one can then update some of the relevant Package Diagrams and BDDs.

Up next
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (includes other tutorials)
Related slides (backlinks, includes other tutorials)