<uml> cloud «ETH» {
folder "Pascal (N.Wirth)" {
component "Pascal" as Pascal
}
folder "Modula-2 (N.Wirth)" {
component "Modula-2" as Modula2
}
folder "Oberon (N.Wirth)" {
component "Oberon" as Oberon
}
folder "Oberon SA (N.Wirth)" {
component "Oberon SA" as OberonSA
}
folder "Object Oberon ()" {
component "Object Oberon" as ObjectOberon
}
folder "Oberon-2 (N.Wirth,H.Mossenbok)" {
component "Oberon-2" as Oberon2
}
folder "Active Oberon ()" {
component "AOS" as AOS
component "JaOS" as JAOS
component "BlueBottle" as BlueBottle
component "Active Oberon" as ActiveOberon
AOS -down-> JAOS
AOS -down-> BlueBottle
BlueBottle -down-> ActiveOberon
}
}
cloud «Microsoft» {
folder "Zonnon (J.Gutknecht)" {
component "Zonnon" as Zonnon
}
}
folder «Oberon/L ()» {
component "Oberon/L" as OberonL
}
folder «Component Pascal ()» {
component ComponentPascal as CP
}
cloud «1985, Kronos Research Group» {
frame "Excelsior OS" as ExcelsiorOS
}
cloud «1999, Excelsior Inc.» {
node "XDS" as XDS
}
cloud «1993, Oberon Microsystems Inc.» {
node "BlackBox Component Builder" as BlackBox
}
Pascal -down→ Modula2 Modula2 -down→ Oberon Oberon -down→ OberonSA Oberon -down→ ObjectOberon ObjectOberon -down→ Oberon2 Oberon2 -down→ OberonL OberonL -down→ CP ObjectOberon -down→ ActiveOberon ActiveOberon -down→ Zonnon Oberon ..> ActiveOberon
ExcelsiorOS .|> Modula2 XDS .|> Modula2 XDS .|> Oberon2
BlackBox .|> CP </uml>