A Stroll Down Oberon Lane A User’s Perspective by Alan Freed adfreed@svsu.edu.

Post on 21-Dec-2015

214 views 0 download

Tags:

Transcript of A Stroll Down Oberon Lane A User’s Perspective by Alan Freed adfreed@svsu.edu.

A Stroll Down Oberon Lane

A User’s Perspectiveby

Alan Freedadfreed@svsu.edu

Overview

• Misconceptions• Attaining a Dream• Applications• Oberon Zonnon• Teaching• Closing Comments

Oberon Means … to a Michiganer

Actress Merle Oberon, 1936Bell’s Brewery, Kalamazoo, MI

Oberon Also Means …

King of the Fairies

Voyager 2 Photograph of Uranus MoonJanuary 24, 1986 at 660,000 kilometers

The Inspiration

Quarrel of Oberon and TitaniaSir Joseph Paton, 1846

Origin of the Name: Oberon• “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.”

“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.

Miranda

Ariel

Umbriel

Titania

Oberon

Puck

Design Goal: Efficient Functionality

Voyager 2 launched on August 20, 1977Perspective; 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)• oberon microsystems: Oberon-F (~1994)• Patrik Reali: 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.

Thank You - Questions?