Oberon Community Platform Forum
December 12, 2019, 09:18:11 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: ETH Oberon, Aos, A2 - what's the diff?  (Read 13262 times)
dukester
Full Member
***
Posts: 140


On Faceflow I'm dukester


« on: June 11, 2010, 11:39:44 PM »

I'm a bit confused about the 3 implementations. Are they the same animal, but with a different name name along its evolutionary path?

or

are they each a different implementation? It seems to me that ETH Oberon came first, and seems to be fading.

Tey reason I ask is because the names A2 and Aos are often used in the various Forum posts and docs, and I'm not sure if they refer to the same implementation or not.
Logged

duke
cfbsoftware
Full Member
***
Posts: 107


WWW
« Reply #1 on: June 12, 2010, 01:44:01 AM »

For an overview see:

http://www.oberon.ethz.ch/
Logged

Chris Burrows
Astrobe v7.0 (Feb 2019): Oberon for ARM Cortex-M3, M4 and M7 Microcontrollers
http://www.astrobe.com
dukester
Full Member
***
Posts: 140


On Faceflow I'm dukester


« Reply #2 on: June 12, 2010, 05:33:51 AM »

Yep! Read That! But still, what's the diff between them?
Logged

duke
Bernhard T.
Administrator
Full Member
*****
Posts: 164


« Reply #3 on: June 12, 2010, 09:49:25 PM »

maybe the following is more than you requested, but take a look at http://www-old.oberon.ethz.ch/genealsys.html which gives you an impression of the history of all three ETH Oberon, Aos, and A2. Aos and A2 are in some  sense symonyms. As far as I know, AOS was already trademarked/copyrighted and then changed to A2.

regards
   Bernhard
Logged
dukester
Full Member
***
Posts: 140


On Faceflow I'm dukester


« Reply #4 on: June 13, 2010, 05:27:56 AM »

That's more what I had in mind. Thanks for the URL. So it seems that the ETH Oberon project was forked into another parallel project, i.e. Aos. Did this come about because of some philosophical or technical difference of opinion as to what Oberon should be? And the fork from Aos to A2, what brought that about?

The would it be a fair statement to say that A2 is the latest and greatest Oberon incarnation?  and that I should not bother with the other  two projects?
--
duke
Logged

duke
cfbsoftware
Full Member
***
Posts: 107


WWW
« Reply #5 on: June 13, 2010, 08:20:59 AM »

So it seems that the ETH Oberon project was forked into another parallel project, i.e. Aos.
I always perceived AOS / Bluebottle / A2 as a follow-on (i.e. new / additional research) to ETH Oberon rather than a fork.

The following timeline indicates that:

http://nativesystems.inf.ethz.ch/pub/Main/WebHomeResearch/PosterGroup.pdf

I believe there was a conscious effort made to distinguish 'Oberon the language' from 'Oberon the operating system' as it had previously been the cause of confusion in some minds.

Quote
would it be a fair statement to say that A2 is the latest and greatest Oberon incarnation?

Yes - A2 is the latest of all those mentioned.

Quote
and that I should not bother with the other  two projects?

That depends on your objectives, resources, requirements etc. AFAIR, you can run ETH Oberon from within A2 and have the best of both worlds. We use ETH Oberon hosted on Windows. Our objectives, resources, requirements make that the best combination for us at this time.
Logged

Chris Burrows
Astrobe v7.0 (Feb 2019): Oberon for ARM Cortex-M3, M4 and M7 Microcontrollers
http://www.astrobe.com
dukester
Full Member
***
Posts: 140


On Faceflow I'm dukester


« Reply #6 on: June 13, 2010, 02:37:18 PM »

@Chris (cfbsoftware)

Thanks for that link. It helps put the Oberons in some sort of perspective.

@Oberon developers

For the Oberon developers listening in, the following observation(s) are kindly meant, so please take them as such.

As a complete noob to Oberon - an outsider looking in - The Oberon community's presentation of Oberon in all its facets and incarnations is _extremely_ confusing and frustrating. To an outsider, Oberon appears to be  somewhat related groupings of projects, none of which is clearly explained. It is extremely bad marketing! It may not matter to the Oberon community, which is fine if you  want Oberon to remain in the shadows. Present this way:

Bare metal / native
    x86 cpu   .....................  Aos, A2, whatever
    ARM        .....................  whatever

Oberon on top of Windows
     95, 98 ........                  whatever
     NT, 2000, XP                  whatever

Linux                                  whatever

MacOS 9                             whatever

MacOS X                             whatever


Then explain briefly what each incarnation is; why it came into being:

ETH Oberon is:

Zonnon is:

Math Oberon is:

etc etc ....

So the new guy on the block can get a clue _quickly_ as to what he wants and where to get it. Currently, Oberon's presentation is way too disjointed. It appears that each incarnation is somewhat competing with each other, and someone is desperately trying to keep the in-fighting from the public. It gives the impression of a team of horses each pulling a wagon in different directions. That is what is also commonly called a "Cluster Fu$&".

In conclusion, if nothing else redo the "Oberon"  websites into one cohesive, simple presentation. I bet you'll generate more interest and converts. Wink
--
duke


 

Logged

duke
staubesv
Administrator
Sr. Member
*****
Posts: 387



« Reply #7 on: June 13, 2010, 09:13:35 PM »

I've joined the group at a time when AOS/Bluebottle was state of the art so I can't tell you much about the "older" systems.

ETH Oberon: Is a (indirect) result of the Project Oberon (http://www-old.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf). The programming language Oberon is a successor of MODULA. The same time, Oberon is used as name for the operating system.

Active Oberon & AOS/Bluebottle/A2:
The programming language Active Oberon is the succesor of Oberon. It essentially introduced object-orientation (Oberon supported type extension "only"), active objects (combination from objects and threads), the AWAIT statement for process synchronization and support for monitors (EXCLUSIVE statement).
The Active Object System (AOS, see http://e-collection.ethbib.ethz.ch/ecol-pool/diss/fulltext/eth14755.pdf) is the runtime system of Active Oberon that runs on bare hardware. Since Active Oberon supports threads (active objects) and memory management (garbage collector), the boundaries between runtime system and operating systems are quite blurred. I would see AOS as an operating system that is tailored to act as runtime system for Active Oberon.
AOS was later renamed to Bluebottle (http://e-collection.ethbib.ethz.ch/ecol-pool/diss/fulltext/eth16074.pdf) which again is a thread-safe multimedia framework written on top of AOS. There is no real difference between AOS and Bluebottle except the name.
Now, this system is called A2. The main differences between AOS and A2 are:
- differently modularized "core"
- heap datastructrures written in Active Oberon
- garbage collector is interruptible (not stop-and-go as before)
- realtime capabilities (Realtime threads can run when the garbage collector is running, but may only use a subset of the Active Oberon programming language)

The main differences between ETH Oberon and A2:
- different programming language (Oberon vs. Active Oberon)
- Multiprocessor support
- realtime capabilities

Considering the programming language, Zonnon (www.zonnon.inf.ethz.ch) is the successor of Active Oberon. Its target platform is .NET.
Logged
cfbsoftware
Full Member
***
Posts: 107


WWW
« Reply #8 on: June 13, 2010, 11:34:26 PM »

As a complete noob to Oberon - an outsider looking in - The Oberon community's presentation of Oberon in all its facets and incarnations is _extremely_ confusing and frustrating. To an outsider, Oberon appears to be  somewhat related groupings of projects, none of which is clearly explained. It is extremely bad marketing! It may not matter to the Oberon community, which is fine if you  want Oberon to remain in the shadows.
More work on the reorganisation would be welcomed - as long as the older stuff is still accessible somewhere. To be fair to ETH - you are looking at much of the inner workings - and I for one are most grateful that they are made available to outsiders like ourselves.

There are alternative views that have already been prepared for consumption by the business and / or the general public e.g.

 http://www.oberon-industry.ethz.ch

However, someone does need to make sure that this is kept up to date and make sure that statements like "will be held on May 26, 09 are fixed.

 
Logged

Chris Burrows
Astrobe v7.0 (Feb 2019): Oberon for ARM Cortex-M3, M4 and M7 Microcontrollers
http://www.astrobe.com
dukester
Full Member
***
Posts: 140


On Faceflow I'm dukester


« Reply #9 on: June 14, 2010, 01:54:00 PM »

@ staubesv

Thanks for that summary. Very helpful overview.

Sadly, I was initially attracted to Oberon because it did _not_ present OOP in the same fashion as C++, Smalltalk, et al. I detest OOP with a purple passion, so "type extensions" were "a good thing" to me.

@ cfbsoftware

That "alternate" view of Oberon at  http://www.oberon-industry.ethz.ch, is good for 2 things:

1. NO good
2. good for nothing

Its a total waste of bandwidth. It should be removed immediately, IMO.
Logged

duke
staubesv
Administrator
Sr. Member
*****
Posts: 387



« Reply #10 on: June 14, 2010, 02:47:29 PM »

Oberon is a subset of the Active Oberon language, so if you prefer type extension over object-orientation, just programm in that style (type extension is supported by Active Oberon).

The only places where there is no way around the usage of objects are:
- threads (since represented as active objects)
- use of object-oriented API's

Native Oberon (aka NO and ETH Oberon) is completely programmed in Oberon and therefore not object-oriented on programing language level.
Logged
dukester
Full Member
***
Posts: 140


On Faceflow I'm dukester


« Reply #11 on: June 14, 2010, 05:15:39 PM »

Oberon is a subset of the Active Oberon language, so if you prefer type extension over object-orientation, just programm in that style (type extension is supported by Active Oberon).

The only places where there is no way around the usage of objects are:
- threads (since represented as active objects)
- use of object-oriented API's

Very welcome news! Wink

Quote
Native Oberon (aka NO and ETH Oberon) is completely programmed in Oberon and therefore not object-oriented on programing language level.

I'm probably going to go "native", given all this friggin' trouble I'm having with the META key while running Aos on OS X/X11. Too much bullshine for me. So NO or ETH Oberon would be cool to try out.

BTW, http://spivey.oriel.ox.ac.uk/corner/Installing_OBC_release_2.8 appears to be pretty cool for playing around learning the language.

Thanks for your input!
--
duk
Logged

duke
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!