8. Method Extension

A.
Definitions
1.
Extension Process

An algorithm that can be applied to the structure of a Method at one Stage to produce the structure of Methods at higher Stages. The Central Council maintains a collection of recognised Extension Processes. References in the Framework to 'Extension Process' are to those processes that are part of the Central Council's collection.


Further explanation: The Central Council's collection of recognised Extension Processes can be found in Appendix D.

In the case of a Static Method, the structure of the Method is its place notation. In the case of a Dynamic Method, the structure of the Method is the set of rules used to generate its place notation.


2.
Extension Construction

Some Extension Processes involve setting parameters, such as a mode or the subset of a Method's Changes to be copied. An Extension Construction specifies a fully qualified Extension Process -- that is, it specifies an Extension Process and the parameter values to be used.


Example: EP3-2CD/2DE


Further explanation: An Extension Construction starts with 'EP' followed by the number of the Extension Process in the Central Council's collection of recognised Extension Processes. EP3 usually requires 4 parameters, so an EP3 Extension Construction includes these. The first number is the mode above the treble, and the letters following the number are the sections to be copied above the treble. Following the slash is the mode below the treble, followed by the sections to be copied below the treble.

The format of an Extension Construction is defined as part of the specification of the corresponding Extension Process (see Appendix D).


3.
Related Methods

Two Methods at two different Stages are Related Methods if the higher Stage Method can be obtained by applying an Extension Process to the lower Stage Method.

4.
Parent Method

A Method at a given Stage from which it may be possible to derive Related Methods at higher Stages using an Extension Process.

5.
Extension

A Method at a higher Stage than a Parent Method that is related to the Parent Method by an Extension Process.

6.
Extension Path

When two Related Methods that have the same Class Descriptor have been given the same Method Name, this establishes an Extension Path for these Methods. Additional Methods at new Stages with the same Class Descriptor that are related to these existing Methods by the same Extension Construction are on this Extension Path.


Example: Cambridge Surprise Minor and Cambridge Surprise Major are related by Extension Construction EP3-1AB/1DE, have the same Class Descriptor ('Surprise'), and have been given the same Method Name. An Extension Path for these Methods has therefore been established.


B.
Requirements
1.

Related Methods with the same Class Descriptor may be given the same Method Name if the requirements of this Section 8, as well as Section 5 (Method Naming), have been met.
Methods with the same Class Descriptor that are not Related may not be given the same Method Name.


Example: Yorkshire Surprise Royal is related to Yorkshire Surprise Major by Extension Construction EP3-1AB/1FG, and they both have the same Class Descriptor ('Surprise'). These Methods may therefore be given the same Method Name (as has been done).


Further explanation: A given Parent Method can often be extended to a number of different Extensions using different Extension Constructions. It is left to bands ringing new Extensions to decide which Extension (if any) they wish to name the same as the Parent Method.
Similarly, two or more different Parent Methods may extend, using different Extension Constructions, to the same Extension. Likewise, it is left to the band ringing the new Extension to decide which Parent Method name (if any) they wish to give to the Extension.

Note that Extension Processes often only apply to Parent Methods with a certain structure. If there is not an Extension Process that can be applied to a given Parent Method, a higher Stage Method with the same Class Descriptor may not be given the same name as the Parent Method.


2.

Once an Extension Path has been established for two Related Methods with the same Class Descriptor then:
a) New Extensions of these Methods created using the same Extension Construction, and which have the same Class Descriptor, shall be given the same Method Name; and
b) A new Method at a different Stage with the same Class Descriptor that is not on the Extension Path shall not be given the same Name.


Example: Yorkshire Surprise Royal is an Extension of Parent Method Yorkshire Surprise Major, they both have the same Class Descriptor ('Surprise'), and they have been given the same Name, establishing an Extension Path.

When the same Extension Construction is applied to Yorkshire Surprise Major to obtain a Maximus Method, if the resulting Maximus Method has the same Class Descriptor, it must be given the name Yorkshire because the new Method is on the Extension Path. (The resulting Maximus Method in this example is a Surprise Method, and so it has been named Yorkshire, giving Yorkshire Surprise Maximus.)

Southwark Surprise Maximus is also an Extension of Yorkshire Surprise Major by a different Extension Construction. Since an Extension Path has already been established by the naming of Yorkshire Surprise Royal, Southwark Surprise Maximus could not have been named Yorkshire, even if the Method now known as Yorkshire Surprise Maximus had not already been named. Southwark, although related and having the same Class Descriptor, is off the Extension Path.


Further explanation: Note that an Extension Path also applies to lower Stage Methods. For example, if Cambridge Surprise Major and Cambridge Surprise Royal established an Extension Path, since there's a Surprise Minor Method that extends using the same Extension Construction to give Cambridge Surprise Major, this Surprise Minor Method is on the Extension Path and so is also named Cambridge.

It is possible that a new Method may be on two or more existing Extension Paths. In this case, the Method Name from any of the Extension Paths may be used for the new Method.


3.

There are no Extension naming restrictions per se between two Methods that have different Class Descriptors. However, when a new Extension is produced that has a different Class Descriptor from its Parent Method, the new Extension may only be given the same name as its Parent Method if this doesn't conflict with Sections 8.B.1 and 8.B.2 above as they relate to the Class Descriptor of the new Extension.


Example: A Method designer extends Beverley Surprise Minor with an Extension Process and the resulting Extension is a Delight Royal Method. Since the Extension has a different Class Descriptor from the Parent Method, a band ringing the new Delight Royal Method may choose to name it Beverley, or give it a different name. However, the band may not name the new Method Beverley if
(1) there is already a Beverley Delight Method at a different Stage to which the new Extension is not related, or
(2) there is already an established Extension Path for Beverley Delight, and the new Extension is not on this Extension Path.


C.
New Extension Processes
1.

A band that wishes to use a different Extension Process from those included in the Central Council's collection to create a new Extension is invited to submit the proposed process to the Central Council for review.

2.

The Central Council will add the new Extension Process to its collection of recognised Extension Processes if it believes it is a valid process.

D.
Exceptions
1.

Many higher Stage methods were named and recorded in the Methods Library before the Central Council implemented requirements for Method Extension. All such Methods retain their existing names, and the extension requirements of the Framework only apply to new Methods.

2.

If a new Extension that is on an Extension Path ought, under Section 8.B, to be given the same name as its Parent Method, but that name has already been used for a different Method recorded in the Methods Library before the Central Council implemented requirements for Method Extension, then another name can be given to the new Extension.

3.

If two (or more) Methods with the same Class Descriptor that are not related under the Framework have previously been given the same name, and none forms part of an Extension Path with other Method(s), then any of the Methods may be used to establish an Extension Path to other Stages.


Example: If X Bob Major and X Bob Royal are named but not related, a Maximus Bob Method that is related to either X Bob Major or X Bob Royal could be named X, thereby establishing an Extension Path for X Bob at all other Stages.