The objective is the optical element that gathers light from the object being observed and focuses the light rays

Click on the image to view it full size

We now have an abstraction OpticalElement, where clearly Lens and Mirror extend OpticalElement, because an objective 'can be a single lens or mirror, or combinations of several optical elements'.

A block CompositeOpticalElement has been introduced for the case where the objective is not just a single element. Note that this is not yet intended as a mechanical assembly, however it does have AggregationKind 'composite' for its child property element:OpticalElement. This is of course a simplified SysML variation on the GoF Composite Pattern. Note that a more concrete CompositeLens or CompositeMirror could extend CompositeOpticalElement.

The block OpticalTelescope now has a shared reference objective:OpticalElement[1], with a tagged value {aka = "primary"}.

An OpticalElement may have a diameter {aka = "aperture"}. The existing SI-friendly ValueType diameter[metre] from the ISO-80000 library has been used (rather than diameter[centimetre], because it will make any calculations easier and eventually it will work well with very large telescopes like the Giant Magellan Telescope, even though amateur scopes are often described in cm and their eyepieces in mm).

Note that the value property diameter {aka = "aperture"} has a multiplicity [0..1], because this measure might not be applicable to the geometry of every type of optical element. However, the value property area[1] is assumed to be applicable to any kind of optical element.

Many of these concepts apply to telescopes other than just optical telescopes, so it is worth preserving the flexible existing pattern when introducing Ray, «em» RayEM and «optical» LightRay. An observed Object (of which a DistantObject of interest to telescopes is a special case) emits ray:Ray[*] of which a subset are rayEM:RayEM[*] of which in turn a subset are lightRay:LightRay[*].

The "semantic triple" keyword «observes» has been extended to now also be applicable to a uni-directional Association. So any kind of Telescope now «observes» a reference property object:DistanceObject.

The internal structure compartment of block OpticalTelescope has been used to indicate the semantic triples for «collects» (means also 'gathers'), «focuses», and «produces». The objective «collects» from the object, «focuses» its lightRay[*] and «produces» the image.

You might be able to see how this is beginning to head towards a port-based light flow and IBDs, but first we need to collect some more information about other optical elements.

There is a minor «problem» indicated, the snippets seem to not explicitly include the possibility of a secondary mirror in the image forming process. That will be addressed in due course.

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