OpenLLM-France/wikimedia huggingface dataset:
# LMIs in Control/Matrix and LMI Properties and Tools/D-Stability Settling Time Poles

LMI for Settling Time Poles
The following LMI allows for the verification that poles of a system will fall within a settling time constraint. This can also be used to place poles for settling time when the system matrix includes a controller, such as in the form A+BK.

## The System

We consider the following system:
${\begin{aligned}{\dot {x}}(t)&=Ax\end{aligned}}$
or the matrix $A\in \mathbb {R} ^{n\times n}$, which is the state matrix.

## The Data

The data required is the matrix A and the settling time $t_{s}$ you wish to verify.

## The Optimization Problem

To begin, the constraint of the pole locations is as follows: ${(z+z^{*}) \over 2}+{4.6 \over t_{s}}{\leq }0$, where z is a complex pole of A. We define $2Re(z){\leq }-\alpha$. The goal of the optimization is to find a valid P > 0 such that the following LMI is satisfied.

## The LMI: LMI for Settling Time Poles

The LMI problem is to find a matrix P > 0 satisfying:
${\begin{aligned}AP+(AP)^{T}+\alpha P&<0\\\end{aligned}}$

## Conclusion:

If the LMI is found to be feasible, then the pole locations of A, represented as z, will meet the settling time specification of ${(z+z^{*}) \over 2}+{4.6 \over t_{s}}{\leq }0$, and the poles of A satisfy the previously defined constraint.

## Implementation

A link to Matlab codes for this problem in the Github repository:
https://github.com/maxwellpeterson99/MAE509Code

## Related LMIs

- D-stabilization
- D-stability Controller
- D-stability Observer

## External Links

- LMI in Control Systems Analysis, Design and Applications
- A course on LMIs in Control by Matthew Peet

## Return to Main Page

-Matrix and LMI Properties and Tools
# LMIs in Control/Matrix and LMI Properties and Tools/Continuous Time/Schur Complement

      * Schur Complement
      * Strict Schur Complement
      * Nonstrict Schur Complement
# Lower Sorbian/Grammar/Introduction to the conjugation

* –oš
* –aš
* –iš (yš)
* In every conjugation verbs have 6 grammatical tenses: (a) present tense, (b) past tense, (c) future tense, (d) imperfect, (e) aorist, (f) plusquamperfect.
* Verbs have 3 moods - indicative, imperative, conditional - in 3 numbers - singular, plural and dual - as well as in 3 persons
* Verbs form following impersonal forms: (a) infinitive, (b) verbal noun, (c) supine, (d) present active participle, (e) past active participle, (f) past passive participle.
* Grammatical tenses are divided into simple and complex ones. Passive voice is formed descriptively.

## Present and past stems

(a) present stem is formed of 2. pers. sg. present, by cutting -š ending, e.g. wuknjoš> wuknjo-
(b) past stem:
* of verbs with infinitive ending with -š is formed out of infinitive, by cutting -ś ending, e.g. wuknuś > wuknu-
* of verbs with infinitive ending with -č, -c is formed out of 1. pers. sg. present, by cutting the ending -u, e.g. njasć, njasu >
njas-

## Negation

Negation is formed by adding a prefix nje- to the verb.
# Lower Sorbian/Grammar/Irregular verbs

| inf. | wěźeś `want` | jěsć `eat` | daś `give` |
| pres. |
| 1. sg. | wěm | jěm | dam |
| 2. sg. | wěš (west. wěs) | jěš (west. jěs) | daš |
| 3. sg. | wě | jě | da |
| 1. du. | wěmej | jěmej | damej |
| 2. 3. du. | wětej | jětej | datej |
| 1. pl. | wěmy | jěmy | damy |
| 2. pl. | wěśo | jěśo | daśo |
| 3. pl. | wěźe | jěźe | daźe |
| imperative |
| 2. 3. sg. | wěz | jěz | daj |
| 1. du. | wězmej | jězmej | dajmej |
| 2. 3. du. | wěztej | jěztej | dajtej |
| 1. pl. | wězmy | jězmy | dajmy |
| 2. pl. | wězćo | jězćo | dajćo |
| imperfect |
| 1. sg. | wěźech | jěźech | dawach |
| 2. 3. sg. | wěźešo | jěźešo | dawašo |
| aorist |
| 1. sg. | powěźech `I had said` | zjěch `I had ate` | wudach `I had given` |
| 2. 3. sg. | powěźešo | zjěšo | wudašo |
| sup. | powěźet | jěst `to eat` | (dawat `to give`) |
| pres. act. part. | wěźecy `knowing` | jěźecy | dajucy `giving` |
| past act. part. | wěźeł | jědł | dał |
| past pass. part. | wěźony | (zjěźony) | dany |
| verbal noun | wěźeńe | jěźeńe | dańe, daśe |

## Notes

* compounds of byś in conjugation have a stem bydn-, e.g. dobyś `conquer, achieve, win`, ja dobydnu, dobyń!, etc.
* compounds of wěźeś are conjugated following the basis; compounds of compounds are generally conjugated following rozmjeś pattern
* daś have present tense daju, dajoš, etc.; this alternation also appears in compounds
# Lower Sorbian/Grammar/Passive voice

* passive voice is generally expressed by a concatenation of a proper form of the verb byś + past passive participle, e.g. wšykne wiki su zakazane
* 3. sg., du. i pl. can be replaced with a reflexive pronoun se + the verb in active voice, e.g. wóni su tak daloko, až se dostaś njamogu
* aorist is expressed by buch, bu + past passive participle, e.g. ja buch pytany
# Lower Sorbian/Grammar/Conjugation of the verb ''to be''
## Present tense [1]

| | sg. | du. | pl. |
| 1. | ja som | mej smej | my smy |
| 2. | ty sy | wej stej | wy sćo |
| 3. | wón jo | wónej stej | wóni su |
[1] a negation of present tense of the verb byś is created with a prefix njej (apart from the form njejo)

## Future tense

| | sg. | du. | pl. |
| 1. | ja budu | mej buźomej | my buźomy |
| 2. | ty buźoš | wej buźotej | wy buźośo |
| 3. | wón buźo | wónej buźotej | wóni budu |

## Auxiliary aorist

| | sg. | du. | pl. |
| 1. | ja buch | mej buchmej | my buchmy |
| 2. | ty bu | wej buštej | wy bušćo |
| 3. | wón bu | wónej buštej | wóni buchu |

## Imperfect

| | sg. | du. | pl. |
| 1. | ja běch | mej běchmej | my běchmy |
| 2. | ty běšo | wej běštej | wy běšćo |
| 3. | wón běšo | wónej běštej | wóni běchu |

## Imperative

| | sg. | du. | pl. |
| 1. | - | mej buźmej! | my buźmy! |
| 2. | ty buź! | wej buźtej! | wy buźćo! |
| 3. | - | wónej buźtej! | - |

## Impersonal forms

* Past active participle: był, była, było; byłej;
byli
* Present active participle: buducy
* Verbal noun: byśe
# Lower Sorbian/Grammar/Prepositions
## Governing 1 case

| G. | D. | A. | I. | L. |
| bźez `without` dla `because of` do `to` podla, pla `next to` wót [2] `from` wu `by` | k, ku [1] `to` pśeśiwo `in front of` napśeśiwo `in front of` | pśez `through` pśe `in front of` wób [2] `around, about` | nad, nade [1] `over` | pśi `next to` w, we [1] `in` |

## Governing 2 cases

| A. (active) + L. (stative) | A. (active) + I. (stative) | G. (active) + L. (stative) |
| na `on` po `after` wó `about` | pód [2] `under` pśed [2] `before` za `behind` mjazy, mjaz `between` | z, ze `with` |

## Improper prepositions

Derived of different parts of speech; they govern genitive case (G.).

## Notes

[1] form ku before k, g, ze before z, s, we before w and groups of 2 and more consonants
[2] prepositions from point [1] and wóte, póde, pśede and wóbo are used in a long form before the 1. sg. pronoun and often before some 1-syllable words
# Lower Sorbian/Grammar/Declension of adjectives

| | sg. (m, f, n) | pl. | du. |
| NOM | dobry [1], dobra, dobre [4] | dobre | dobrej |
| GEN | dobrego, dobreje, dobrego / [5] | dobrych [1] | dobreju |
| DAT | dobremu [5], dobrej, dobremu [5] | dobrym [1] | dobryma [1] |
| ACC | =NOM./GEN. [2], dobru, dobre | =NOM./GEN. [3] | =NOM./GEN. [3] |
| INS | dobrym [1], dobreju, dobrym [1] | dobrymi [1] | dobryma [1] |
| LOC | dobrem, dobrej, dobrem | dobrych [1] | dobryma [1] |
[1] endings of masculine NOM. sg.: (a) –y, (b) –i, (a) –y ending: adjectives not mentioned in (b) (b) –i ending:
* soft-stemmed adjectives
* adjectives: (1) tuni `cheap`, (2) dwoji `twofold`, (3) tšoji `threefold`, (4) tśeśi `third`, (5) chłošći `voracious`, (6) kokośi `hen-like`, (7) kurośi `rooster-like`
* adjectives ending with –ki, –gi, e.g. daloki, drogi
[2] category of (un)animacy
[3] category of (non-)personhood
[4] neuter adjectives in a predicative meaning take –o ending, np. źěnsa jo śopło `today is warm`
[5] when 2 or more adjectives ending with –ego, -eje, -emu stay concatenated, the last vowel is being omitted, np. dobrem a pśijaznem cłowjekoju
[6] there exists a noun ženska `woman`, which is inflected following a feminine adjectival pattern, only alternatively taking forms of nominal inflection in GEN. DAT. INS. LOC. sg. and NOM. ACC. du. and pl.
# Lower Sorbian/Grammar/Further explanation of conjugatory matters
## General listing of verbal endings

| | present | past active part. | imperative | aorist/imperfect |
| 1. sg. | -u; -m [1] | r.m: -ł r.ż.: -ła r.n.: -ło | - | -ch |
| 2. sg. | -š | -‘; -i (-y) | -šo |
| 3. sg. | - | - | -šo |
| 1. du. | -mej | -łej | -‘mej; -mej | -chmej |
| 2. du. | -tej | -‘tej; -tej | -štej |
| 3. du. | -tej | -‘tej; -tej | -štej |
| 1. pl. | -my | -li | -‘my; -my | -chmy |
| 2. pl. | -śo | -śo | -šćo |
| 3. pl. | -u | - | -chu |
[1] the ending –u belongs to the 1st conjugation; the ending –m belong only to the 2nd and 3rd conjugations, alternatively also in the 1st conjugation
* infinitive: -ś; -č; -c
* supine: -t
* verbal noun: -nje; -śe
* past passive participle: ­-ny; -ty
* present active participle: -cy

## Complex tenses
### Past tense

Appropriate personal form of present tense of byś + past active participle of given verb in an appropriate number and gender, e.g. som pšosył

### Future tense

Appropriate personal form of future tense of byś + infinitive, e.g. budu pšosyś

### Conditional mood

* Present tense: particle by + past active participle in an appropriate number and gender, e.g. by pšosył
* Past tense I: an appropriate form of auxiliary aorist of byś + past active participle in an appropriate number and gender, e.g. buch pšosył
* Past tense II: particle by + past active participle of byś in an appropriate number and gender + past active participle in an appropriate number and gender, e.g. by był pšosył

### Plusquamperfect tense

An appropriate personal form of imperfect of byś + past active participle of a given verb in an appropriate number and gender, e.g. běch pšosył
# Lower Sorbian/Grammar/Gradation of adjectives
## Comparative grade

* there exist following endings, used to form comparative grade of adjectives: (a) –šy, (b) –jejšy
* there also exist adjectives gradated (c)irregularly and (d) descriptively
(a) adjectives with comparative ending with –šy – those, which stem ends with 1 consonant
* if the last consonant of the stem is ł, n, g, ch, s, z – it's being softened (palatalised); note that groups žš, šš are being simplified into š, e.g.. běły-bělšy `white`, drogi-drošy `expensive, precious`
* if the last consonant of the stem is d, t, w, b, r – it remains unchanged, e.g. swěty-swětšy `holy`
* if the equal grade of adjective ends with –ki, -oki, than this ending is being omitted while forming comparative grade, e.g. wusoki-wušy `high`
(b) adjectives with a comparative grade ending with –jejšy – those, which stem ends with 2 and more consonants
* if the last consonant of the stem is d, t, st, ł, tš, it's being softened (palatalised) (tš >tś), np. žołty-žołśejšy `yellow`, wótšy-wótśejšy `sharp`
* in other cases the ending is added without changes, np. mudry-mudrjejšy `clever, wise`
* following adjectives ending with –ki form comparating grade ending with –jejšy: (1) górki-górcejšy `bitter`, (2) wuzki-wuzčejšy `narrow`, (3) lažki-lažčejšy `light`, (4)śěžki-śežšejšy `heavy`
(c) adjectives gradated irregularly: (1) dobry-lěpšy `good`, (2) zły-goršy `bad`, (3) wjeliki-wětšy `great`, (4) mały-měńšy `small`, (5) dłujki-dlejšy `long`
(d) descriptive gradation – by adding the adverbs lěpjej albo wěcej in front of the adjective
* it's used for all adjectives ending with –ski and a significant number of those ending with –aty
* as well as for the adjectives (1) cuzy `strange, alien`, (2) gorucy `hot`

## Superlative grade

superlative grade – is formed by adding prefix nej- to the comparative grade of the adjective, np. lažki-nejlažčejšy, gorucy-nejwěcej gorucy
# LaTeX/Academic Journals

* LaTeX
* Getting Started
* Introduction
* Installation
* Installing Extra Packages
* Basics
* How to get help
* Common Elements
* Document Structure
* Text Formatting
* Paragraph Formatting
* Colors
* Fonts
* List Structures
* Special Characters
* Internationalization
* Rotations
* Tables
* Title creation
* Page Layout
* Customizing Page Headers and Footers‎
* Importing Graphics
* Floats, Figures and Captions
* Footnotes and Margin Notes
* Hyperlinks
* Labels and Cross-referencing
* Initials
* Mechanics
* Errors and Warnings
* Lengths
* Counters
* Boxes
* Rules and Struts
* Technical Text
* Mathematics
* Advanced Mathematics
* Theorems
* Chemical Graphics
* Algorithms
* Source Code Listings
* Linguistics
* Special Pages
* Indexing
* Glossary
* Bibliography Management
* More Bibliographies
* Special Documents
* Scientific Reports (Bachelor Report, Master Thesis, Dissertation)
* Letters
* Presentations
* Teacher's Corner
* Curriculum Vitae
* Academic Journals (MLA, APA, etc.)
* Creating Graphics
* Introducing Procedural Graphics
* MetaPost
* Picture
* PGF/TikZ
* PSTricks
* Xy-pic
* Creating 3D graphics
* Programming
* Macros
* Plain TeX
* Creating Packages
* Creating Package Documentation
* Themes
* Miscellaneous
* Modular Documents
* Collaborative Writing of LaTeX Documents
* Export To Other Formats
* Help and Recommendations
* FAQ
* Tips and Tricks
* Appendices
* Authors
* Links
* Package Reference
* Sample LaTeX documents
* Index
* Command Glossary
When writing an academic paper, it usually follows a specific style guide such as the Modern Language Association's MLA style or the American Psychological Association's APA style.

## MLA style

For the MLA style, there is the mla package along with the mla class.

### mla package

Documents formatted in the MLA style can be made using the mla package.
The following is an example MLA document (with blindtext):
| \documentclass[12pt,letterpaper]{article} \usepackage{ifpdf} \usepackage{mla} \usepackage{blindtext} \begin{document} \begin{mla}{Jane}{Doe}{Smith}{ENG 118}{2022-07-05}{My Paper} \blindtext \end{mla} \end{document} | Rendering missing! |

### MLA class

There is also an MLA class.
| \documentclass[mla8]{mla} \usepackage{blindtext} \title{My paper} \author{Jane Doe} \professor{John Smith} \course{ENG 118} \date{\mladate} \addbibresource{my-citations.bib} \begin{document} \begin{paper} \blindtext \end{paper} % end notes \begin{notes} \printendnotes \end{notes} % works cited page \begin{workscited} \printbibliography[heading=none] \end{workscited} \end{document} | Rendering missing! |
An example MLA document can be found in the repository under mla-example.tex

## APA style

The APA class is also available, which may be used to write papers in the APA format.
| \documentclass[man]{apa} \usepackage{blindtext} \title{My paper} \author{Jane Doe} \affiliation{Wikiversity} \begin{document} \blindtext \end{document} | Rendering missing! |
An example APA paper can be found in the package's repository under apaexample.tex
# LPI Linux Certification/Troubleshooting Network Issues
## Detailed Objective (205.3)

(LPIC-2 Version 4.5)
Weight: 4
Description: Candidates should be able to identify and correct common network setup issues, to include knowledge of locations for basic configuration files and commands.
Key Knowledge Areas:
* Location and content of access restriction files
* Utilities to configure and manipulate ethernet network interfaces
* Utilities to manage routing tables
* Utilities to list network states.
* Utilities to gain information about the network configuration
* Methods of information about the recognized and used hardware devices
* System initialization files and their contents (SysV init process)
* Awareness of NetworkManager and its impact on network configuration
Terms and Utilities:
* ip
* ifconfig
* route
* ss
* netstat
* /etc/network, /etc/sysconfig/network-scripts/
* /bin/ping, ping6
* traceroute, traceroute6
* mtr
* hostname
* System log files such as /var/log/syslog, /var/log/messages and the systemd journal
* dmesg
* /etc/resolv.conf
* /etc/hosts
* /etc/hostname, /etc/HOSTNAME
* /etc/hosts.allow, /etc/hosts.deny
# LPI Linux Certification/Troubleshooting System Resources
## Detailed Objective

Weight: 1
Description:
Candidates should be able to identify, diagnose and repair local system issues when using software from the command line.
* Key knowledge area(s):
** Core system variables
** The contents of:
*** /etc/profile && /etc/profile.d/
*** /etc/init.d/
*** /etc/rc.*
*** /etc/sysctl.conf
*** /etc/bashrc
*** /etc/ld.so.conf
**** or other appropriate global shell configuration files
** Any standard editor
** Standard tools, utilities and commands to manipulate the above files and variables
* The following is a partial list of the used files, terms and utilities:
** /bin/ln
** /bin/rm
** /sbin/ldconfig
** /sbin/sysctl
# Object Oriented Programming/"State" is Evil!
## "State" is Evil!

Something that we don't see reiterated enough: State (as opposed to change) is evil! Or, (perhaps better said) maintaining unnecessary state is the root of all (er... many) bugs. Let's look at an example, now in Ruby:
We're displaying something over time, so we're dealingwith both pixels and seconds. Based on the zoom level, there is a correlation between them: pixels per second, or PPS.
In this example, we're maintaining gratuitous state — which is to say, we're holding the position in both seconds AND pixels. This is convenient, and important for users of this class, but we've messed up the encapsulation here. Whenever you set the value in one unit, you've destroyed the correctness for the other unit. Okay, you say, here's a simple fix:
This fixes the obvious error with the previous example, but you've created a lot of work for yourself. Now you have to keep every calculation in every method in the Timeline class duplicated to maintain consistency. There could be dozens more where this came from (trust me). And what about when you add in other units, say inches? You have to duplicate all of that again. Presumably, you see where this is heading: calculated properties, logical properties, virtual properties, whatever you like to call them. Let's see this example again:
Now, we're presuming that the conversion factors of PPS and IPS are set correctly for simplicity, but otherwise we've vastly simplified our problem. In twenty other functions we now write, we only have to worry about seconds, there's no consistency problems to worry about. Additionally, if we need to change our base units from seconds to pixels, the Timeline users need never know.
# Object Oriented Programming/Abstraction

If you've ever made coffee using a coffee machine, you have probably experience abstraction. When you make your coffee, you make sure that there are ample coffee beans, you add water, add milk, and perhaps put in a fresh coffee filter. Then, you hit a button and a coffee of your choice is made. This is a good example of abstraction since the user doesn't need to be concerned about the right amount of milk needed for a specific type of coffee, or how many beans need to be ground up for the right amount, or what the temperature of the water needs to be, the user is only considered with providing the necessary materials to produce the final product. This same structure applies to object oriented programming. The user of the object should only be concerned with providing the necessary parameters for the final product and shouldn't really know or need to know how the object works internally.

## Abstract classes and interfaces

In some languages it is possible to create a class which can’t be instantiated. That means that we can’t use this class directly to create an object – we can only inherit from the class, and use the subclasses to create objects.
Why would we want to do this? Sometimes we want to specify a set of properties that an object needs to have in order to be suitable for some task – for example, we may have written a function which expects one of its parameters to be an object with certain methods that our function will need to use. We can create a class which serves as a template for suitable objects by defining a list of methods that these objects must implement. This class is not intended to be instantiated because all our method definitions are empty – all the insides of the methods must be implemented in a subclass.
The abstract class is thus an interface definition – some languages also have a type of structure called an interface, which is very similar. We say that a class implements an interface if it inherits from the class which specifies that interface.
In Python we can’t prevent anyone from instantiating a class, but we can create something similar to an abstract class by using NotImplementedError inside our method definitions. For example, here are some “abstract” classes which can be used as templates for shapes:
Any two-dimensional shape has an area, and any three-dimensional shape has a volume. The formulae for working out area and volume differ depending on what shape we have, and objects for different shapes may have completely different attributes.
If an object inherits from 2DShape, it will gain that class’s default area method – but the default method raises an error which makes it clear to the user that a custom method must be defined in the child object:

## References

* OOP Concept of Abstraction
* ReadTheDocs OOP

## See also

* Wikipedia:Abstraction(computer science)
* Programming Fundamentals/Encapsulation
# Oberon/genealsys

This document was originally hosted at the ETHZ. It remains under the ETH license and is in the WayBack archive.
Note: Suggestions for corrections and hints for improvement are welcome. The dates are approximative.
| | System name | Target Machine | Processor | OS | Milestone |
| | | Lilith (ETH) | | | |
| 1985 | Oberon | Ceres-1 (ETH) | NS 32032 | | Fall: Oberon project start |
| 1987 | | | | | Mid-year: Draft Oberon version |
| 1988 | Oberon Wir88a, Wir88a | Ceres-2 (ETH) | NS 32532 | Oberon (native) | Mid-year: Oberon system introduced at the ETH |
| 1989 | | | | | Oberon in programming courses |
| 1990 | Oberon | Ceres-3 (ETH) | NS 32GX32 | | Portable compiler Cre90 |
| 1990 | | | | | System completion |
| 1991 | Spark-Oberon Tem90 | SPARCstation (SUN) | SPARC | UNIX (SunOS) | Oberon-2 MoW91a, MoW91b |
| 1991 | MacOberon Fra90a, Fra90b | Macintosh II (Apple) | MC68020 | MacOS | Oberon-2 MoW91a, MoW91b |
| 1991 | DEC-Oberon | DECstation 3100 and 5000 (DEC) | MIPS R2000 | UNIX (Ultrix) | Oberon-2 MoW91a, MoW91b |
| 1991 | RISC Oberon | RS/6000 (IBM) | RIOS | UNIX (AIX) | Oberon-2 MoW91a, MoW91b |
| 1991 | MS-DOS Oberon Dis93 | Intel-based PC | Intel | MS DOS | Oberon-2 MoW91a, MoW91b |
| 1991 | Chameleon Oberon HeP92 | Chameleon (ETH) | LSI LR33000 | Oberon (native) | Oberon-2 MoW91a, MoW91b |
| 1991 | | | | | Oberon System 3 project start |
| 1992 | | | | | System books Rei92, WiG92 |
| 1993 | HP-Oberon Sup94 | HP 9000 Series 700 (HP) | PA-RISC | HP-UX | Object model adopted Cre94, Cre95 |
| 1993 | Oberon for Windows | Intel-based PC | Intel | MS Windows NT, 3.1 | Object model adopted Cre94, Cre95 |
| | System name | Target Machine | Processor | OS | Milestone |
| 1990 | | | | | Gadgets Mar90, Mar91, Mar94b |
| 1991 | Oberon System 3 | Ceres-2 (ETH) | NS 32532 | Oberon (native) | Oberon System 3 project start |
| 1992 | Spirit of Oberon | Intel-based PC | Intel | MS Windows 3.1 and 3.11 | Followed Oberon System 3 for Windows 95/98/NT |
| 1993 | MacOberon | Mac PowerPC 68k-based Mac | | MacOS | Fra93a |
| 1994 | Hybrid Oberon | Intel-based PC | Intel | Hybrid Kernel | Prototype of Native Oberon |
| 1994 | Native Oberon | Intel-based PC | Intel | Native Oberon | |
| 1998 | Oberon for Linux | Intel-based PC | Intel | Linux | Replaced by Linux-based Native Oberon |
| 1998 | Oberon Linux PPC | Mac PowerPC 68k-based Mac | | Linux PPC | |
| 1998 | SPARC | SPARCstation (SUN) | SPARC | Solaris (SUN) | |
| 1998 | HPUX | | | | Beta version |
| 1998 | Linux-based Oberon | Intel-based PC | Intel | Linux | |
| 1999 | SharkOberon | DEC DNARD NC | StrongARM | Oberon (native) | |
| 1999 | Linux x86 | Intel-based PC | Intel | Linux | |
| 1999 | Solaris x86 | Intel-based PC | Intel | Solaris | |
| 1999 | | | | | Programming language project with Microsoft Research |
| 2000 | | | | | Renamed to "ETH Oberon" |
10 Jul 2000 - Copyright © 2000 ETH Zürich. All rights reserved. E-Mail: oberon at lists.inf.ethz.ch Homepage: http://www.ethoberon.ethz.ch