220 likes | 423 Views
A Stroll Down Oberon Lane. A User’s Perspective by Alan Freed adfreed@svsu.edu. Overview. Misconceptions Attaining a Dream Applications Oberon Zonnon Teaching Closing Comments. Oberon Means … to a Michiganer. Bell’s Brewery, Kalamazoo, MI. Actress Merle Oberon, 1936.
E N D
A Stroll Down Oberon Lane A User’s Perspective by Alan Freed adfreed@svsu.edu
Overview • Misconceptions • Attaining a Dream • Applications • Oberon Zonnon • Teaching • Closing Comments
Oberon Means … to a Michiganer Bell’s Brewery, Kalamazoo, MI Actress Merle Oberon, 1936
Oberon Also Means … King of the Fairies The Inspiration Quarrel of Oberon and Titania Sir Joseph Paton, 1846 Voyager 2 Photograph of Uranus Moon January 24, 1986 at 660,000 kilometers
Origin of the Name: Oberon Puck • “It happened that around the time of the beginning of our effort, the space probe Voyager made headlines with a series of spectacular pictures taken of the planet Uranus and of its moons, the largest of which is named Oberon.” Miranda Ariel Umbriel Titania “Since its launch I had considered the Voyager project as a singularly well-planned and successful endeavor, and as a small tribute to it I picked the name of its latest object of investigation. There are indeed very few engineering projects whose products perform way beyond expectations and beyond their anticipated lifetime; mostly they fail much earlier, particularly in the domain of software. And, last but not least, we recall that Oberon is famous as the king of elfs.” N. Wirth and J. Gutknecht, Project Oberon, ACM Press, 1992. Oberon
Design Goal: Efficient Functionality • Voyager 2 launched on August 20, 1977 • Perspective; also occurring at that time: • Bill Gates dropped out of Harvard • Apple incorporates: Apple II is sold • Intel releases the 8086 processor Oberon, the other photo
Oberon: A Legacy in Logic 1992 1992
Oberon V2, V4Document Centered Programming NASA’s Procurement Office tried, but could not purchase a Ceres Workstation for me.
The Three-Button Mouse Marshall Fredericks, Sculptor
Beginnings of My Collaboration, 1994 In-Line Exponentiation Operator, Enumeration Type, Complex Type, For Loop
I Use Oberon To Solve Problems • Viscoplastic flow in rocket engine components • Numerical methods for stiff differential equations • Fractional (non-integer order) calculus • Complex numbers & math: Mittag-Leffler function • Numerical methods for solving: integrals, derivatives, and (non-linear) differential equations • Viscoelastic flow in biological tissues • Numerical methods for Volterra integral equations with weakly singular kernel functions
Enabling This Research−Key Players:Prof. Jürg Gutknecht and His Team… • Josef Templ: SPARC-Oberon (~1991) • oberonmicrosystems: Oberon-F (~1994) • PatrikReali: operator overloading • Pieter Muller: my first native Oberon System • Felix Friedrich: math extensions • Eugene Zueff, Roman Mitin, and Nina Gonova • Zonnon compiler team • Brian Kirk and David Lightfoot • Zonnon language team • My apologies the the many many not listed.
Why Did I Switch to Zonnon? • Zonnon was so named (I was told by Eugene Zueff) because: “Zonnon had no Google hits.” • On April 10th, 2011, Zonnon returned 25,100 hits • It was designed for .NET; I run it under Mono • .NET ≈ System Oberon; Zonnon ≈ Active Oberon • Allows collaborative work on large projects • Collaborators can choose the language in which they “think” • Clear logical syntax – It thinks like I think! • Uses the idea of scope very effectively • Like Pascal, it is an excellent teaching language
Zonnon Course Topics • Program Scope: Modules and Procedures • Program Flow: IF, THEN, ELSE, and ELSIF • Program Flow: WHILE, REPEAT, and LOOP • Program Flow: FOR loops and ARRAYs • Data Structures: RECORDs aka {value} OBJECTs • Data Structures: {ref} OBJECTs and Methods • Applications: BEL Libraries
BEL: Biological Engineering Laboratory • BEL • Base definitions, core math types, IO with graphing, data structures, functions, linear algebra, calculus, … • BEL-GA • Genetic Algorithm: parameter estimation • BEL-PF • Physical Fields: SI units, scalars, vectors, tensors, … • BEL-SS • Soft Solids: A companion to my textbook • Other Projects …
My Zonnon Wish List • A textbook like “Programming in Zonnon” • A translation from Russian??? • Some type info gets lost across DLL interfaces (.NET issue?) • E.g., IS cannot type test definition implementations • E.g., type RealArray = array * of real{64} is not visible • Confusion between DLLs in same directory • Separate directories for each project/compilation unit • An Oberon-F like debugger for the Eclipse IDE • Students find error messages to be cryptic • Interface Zonnon code to a documentation tool • Too many core types: simplify (inherited from .NET) • I miss the multiple inheritance of Oberon-2
As I Reflect Back on My Oberon LaneI Would Like to Thank • Professors Niklaus Wirth and Jürg Gutknecht • Their numerous and very talented students • Mike McGaw and Chris Johnston • Steve Collins, Brian Kirk, and David Lightfoot • Dr. Patrick Hunziker and his Basel team • Eugene Zueff and Roman Mitin • NASA (the NASA that I choose to remember) NASA inspires people.