1 / 10

by: Marc Conrad, Tim French, Carsten Maple (University of Luton) Sandra Pott (University of York)

Mathematical Use Cases lead naturally to non-standard Inheritance Relationships – How to make them accessible in a “mainstream” language?. by: Marc Conrad, Tim French, Carsten Maple (University of Luton) Sandra Pott (University of York). !. ?. Possible Strategies.

Download Presentation

by: Marc Conrad, Tim French, Carsten Maple (University of Luton) Sandra Pott (University of York)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mathematical Use Cases lead naturally to non-standard Inheritance Relationships – How to make them accessible in a “mainstream” language? • by: • Marc Conrad, Tim French, Carsten Maple (University of Luton) • Sandra Pott (University of York) ! ?

  2. Possible Strategies • Adding new features to the mainstream language itself (negotiations with the “owner of the language”). • Providing an “add-on” to the mainstream language (library, pre-processor, package, …). • Developing an extension of the mainstream language. • Developing a new language and educating possible users. Marc Conrad - University of Luton

  3. (G,o) a group with an operation. Can be additive (+) or multiplicative (x). Also other examples (e.g. endomorphism becomes matrix multiplication, …) Group +operation() Cryptographic Application (Z/nZ)* +multiplication() Elliptic Curve +addition() Use Case I – Overriding & Renaming Marc Conrad - University of Luton

  4. Z/nZ can be a field or aring(depending on n). Also other examples (Euclidian Ring vs. UFD vs. Noetherian Ring …, abelian groups, …) Ring Z/nZ Field Z17:Z/nZ prove 17 prime reclassify to field Z17:Field Use Case II – Reclassification Sequence diagram(?) Class diagram Marc Conrad - University of Luton

  5. New structures in Mathematics are discovered or defined (or simply “non-standard”) but belong inside an existing inheritance hierarchy. More recent examples in Functional Analysis (eg. Triebel-Lizorking spaces between Lp, Hardy & BMO spaces and Banach spaces, …), … Ring Ring Noetherian Ring Field Field Use Case III – Interclassing Emmy Noether invents her Ring and wants to integrate it in the existing hierarchy. Marc Conrad - University of Luton

  6. These features are not new! Overriding with renaming: Eiffel, Python Reclassification: Cecil (predicate classes), Self, the Darwin Project, Fickle Interclassing:OFL (hyper-generic parameters), Shadows(?) Common to all these languages, architectures, solutions: They are mostly unrelated to each other. They are not usually applied in Mathematical context They are unknown to the intended target user population (i.e. Mathematicians). Discussion Marc Conrad - University of Luton

  7. Implementation could be straightforward, eg. using a keyword override (cf. C#). public class Group { public abstract Elt operation( Elt a, Elt b ); } public class EllipticCurve extends Group { public override operation Elt add( Elt a, Elt b) { … } … } Possible Java Syntax of Overriding & Renaming Marc Conrad - University of Luton

  8. Define a method in the java.lang.Object class (cf. clone() ). // module=17: Z/17Z is instantiated: Ring Z_nZ = new ModularIntegerRing(module); // … // Z/17Z is reclassified because it is a Field: if(Z_nZ.getModule.isPrime() ) { Z_nZ.reclassify( Class.forName(“com.perisic.FinitePrimeField”)); } Possible Java Syntax of Reclassification Marc Conrad - University of Luton

  9. Any suggestions? ? Possible Java Syntax of Interclassing Marc Conrad - University of Luton

  10. Solutions to these problems do exist. But not in Java! (C++, C#, …) In Mathematics these “esoteric” features exist naturally. So they should be naturally accessible in mainstream languages (“Interclassing for Dummies”). Maybe similar problems in other application areas. If a language feature cannot be used it is useless. Summary Marc Conrad - University of Luton

More Related