1 PS NS 2 Siminar 2005

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Slide1: 

Seminar „Rechnernetzsimulation“ im SoSe 2005 Prof. Dr. Joachim Fischer Dipl.-Inf. Toby Neumann fischer|tneumann@informatik.hu-berlin.de J.Fischer

Vereinfachung der Softwareentwicklung: 

Vereinfachung der Softwareentwicklung nach Grady Booch Herausbildung unterschiedlicher Paradigmen … Objektkompositionsparadigma Modelltransformationsparadigma Komponentenparadigma

Vereinfachung der Softwareentwicklung: 

Vereinfachung der Softwareentwicklung nach Grady Booch – oder eine bleibende Illusion ?

Selbstorganisation und Katastrophenmanagement (Informatik/GFZ): 

Selbstorganisation und Katastrophenmanagement (Informatik/GFZ)

Aus der letzten Vorlesung …: 

Aus der letzten Vorlesung … formale Beschreibungstechnik Simulation / funktionaler Test Codegenerierung/ Test informale / semiformale Beschreibungen Simulation / Leistungsbewertung

SDL ist eine ausführbare, objektorientierte Spezifikationssprache, mit der sich verteilte System modellieren und analysieren lassen. Aus SDL-Modellen lässt sich toolgestützt plattformabhängiger Code generieren. SDL besitzt eine formal definierte Syntax, und Semantik : 

SDL ist eine ausführbare, objektorientierte Spezifikationssprache, mit der sich verteilte System modellieren und analysieren lassen. Aus SDL-Modellen lässt sich toolgestützt plattformabhängiger Code generieren. SDL besitzt eine formal definierte Syntax, und Semantik Einsatz von Verhaltensmodellen … Struktur- und Verhaltensmodelle

Slide7: 

system S1; block B1; SDL-Spezifikation Semantikanalysator Syntaxanalysator Common Representation Grafischer Editor Texteditor

Slide8: 

Analysemodelle Entwurfsmodelle Umgebungs- modelle Anforderungs- modelle Anforderungen Modellbasierte Softwareentwicklung

Slide9: 

Analysemodelle Entwurfsmodelle Implementie- rungsmodelle Verteilungs- modelle Plattform- modelle Umgebungs- modelle Anforderungs- modelle Anforderungen Modellbasierte Softwareentwicklung

Slide10: 

Analysemodelle Entwurfsmodelle Implementie- rungsmodelle Verteilungs- modelle Plattform- modelle Umgebungs- modelle Anforderungs- modelle Anforderungen Originale: ausführbarer Code ? Kultivierung von Sichtweisen? Identifikation spannender Modellklassen?

Bei der modellzentrierten Software-Entwicklung werden in Modellen alle(?) Aspekte eines Softwaresystems erfasst: 

Bei der modellzentrierten Software-Entwicklung werden in Modellen alle(?) Aspekte eines Softwaresystems erfasst Modellunterstützung nach MDA

Technologische Basis für automatische Modelltransformationen: 

Technologische Basis für automatische Modelltransformationen Modell Infrastruktur

Bei der Softwaresystemkonstruktion nach MDA werden Modelle weiter kategorisiert: „platform independent“ und „platform specific“.: 

Bei der Softwaresystemkonstruktion nach MDA werden Modelle weiter kategorisiert: „platform independent“ und „platform specific“.

(Komponenten-)Plattformen: 

(Komponenten-)Plattformen C++ eine BS-Familie Java verschiedene BS verschiedene Sprachen verschiedene BS Plattform über verteilte, heterogene SW/HW-Struktur

CORBA- Plattform : 

CORBA- Plattform CORBA = Common Object Request Broker Architecture ist eine verteilte objekt-orientierte Client/Server- Plattform objekt-orientierter RPC (Remote Procedure Call) Objekt-Dienste (Naming, Trading, …) Unterstützung verschiedenster Programmiersprachen per Sprachabbildung interoperable Protokolle Programmierrichtlinien und Programmier-Muster ersetzt ad-hoc- Mechanismen (wie Socket- Kommunikation) durch eine offene, standardisierte, skalierbare und portable Plattform

CORBA: Client/Server- Systeme: 

CORBA: Client/Server- Systeme eine gewisse Anzahl von Klienten und Diensterbringern kooperieren, um gemeinsam eine Aufgabe zu bearbeiten Diensterbringer sind passiv, bieten Dienst(e) an, warten auf Anforderungen der Klienten zur Diensterbringung Klienten sind aktiv, nehmen Dienstleistung in Anspruch Klienten und Server laufen als Prozesse i. allg. auf verschiedenen Maschinen objekt-orientierte Client/Server- Systeme nutzen OO-Para-digmen (Interface, Nachrichten, Vererbung, Polymorphie)

Slide17: 

ORB Client Side Object Implementation Side Small talk ORB Quelle: OMG CORBA: Interface Definition Language

Slide18: 

ORB Vendor 1 Client Side Object Implementation Side C++ Small talk ORB Vendor 2 Quelle: OMG CORBA: Interface Definition Language

Slide19: 

ORB Vendor 1 Client Side Object Implementation Side C++ Small talk ORB Vendor 2 Quelle: OMG alternative Transportprotokolle CORBA: Interface Definition Language

Fazit: MDA: 

Fazit: MDA MDA definiert die Trennung der Spezifikation der Funktionalität einer Softwarelösung von der Realisierung dieser Spezifikation auf der Grundlage einer bestimmten Plattform

Slide21: 

Wozu Modellierung und Computersimulation in der Softwareentwicklung ?

Beispiel: DemonGame: 

Beispiel: DemonGame Computerspiel als reaktives System unbegrenzte (unbekannte) Anzahl von Spielern Spieler treten gegen das System an nach Registrierung bis zur Abmeldung eigentliche Spiel ist trivial Unterstützung mehrerer unabhängiger Spiele, wobei ein Spieler zu einem Zeitpunkt nur bei höchstens einem Spiel angemeldet sein kann system DemonGame Input Output

Spielregeln: 

Spielregeln der Wert einer nicht sichtbaren System-Variable ändert sich nichtdeterministisch zu diskreten Zeitpunkten rät ein Spieler, ob der Wert ungerade ist ist das der Fall, gewinnt er einen Punkt wenn nicht, verliert er einen (Punkt) zu jedem Zeitpunkt kann von den Spielern ihr jeweiliger Punktestand abgefragt werden

Anmeldung von Spielern (newgame): 

system DemonGame Input Output Anmeldung von Spielern (newgame) von x bzw. y

Raten (probe), Spielstandsanzeige (result): 

system DemonGame Input Output Raten (probe), Spielstandsanzeige (result)

Abmeldung von Spielern (endgame): 

Abmeldung von Spielern (endgame) system DemonGame Input Output

Eingesetzte SDL-Konzepte: 

Eingesetzte SDL-Konzepte Konfigurationsdefinition bei Verwendung von Instanzmengen system, block, process dynamische Prozesserzeugung (create) (Nutzung parametrisierter Prozesse) Signaladressierung mittels output to (Nutzung von sender, parent) Datentypen: Menge von PId-Werten als Powerset spontane Transition input none Zustandswechsel even (gerade)  odd (ungerade)

Verbreitung von Referenzen: 

Verbreitung von Referenzen Menge von PId-Werten wird um player-Referenz erweitert Sender-Referenz noch nicht vorhanden? Referenz zum Player newgame

Verbreitung von Referenzen: 

Verbreitung von Referenzen Menge von PId-Werten wird um player-Referenz erweitert Sender-Referenz noch nicht vorhanden? gameid Referenz als Parameter

Verbreitung von Referenzen: 

Verbreitung von Referenzen Menge von PId-Werten wird um player-Referenz erweitert probe

Terminierung von Referenzen: 

Terminierung von Referenzen Menge von PId-Werten wird um Spieler-Referenz erweitert Referenz wird entfernt? Referenz zum Spieler Terminierung gamevover endgame

Fragen: 

Fragen ???