05.06.2013 Aufrufe

Tagungsbericht PDF, 2.4 MB

Tagungsbericht PDF, 2.4 MB

Tagungsbericht PDF, 2.4 MB

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Bericht<br />

Workshop Modellierung 2005 in<br />

Heidelberg<br />

16.3-18.3.05,<br />

Internationales Wissenschaftsforum der Universität<br />

Heidelberg<br />

1


Vorwort<br />

Turnusgemäß fand im Jahr 2005 ein Workshop Modellierung mit eingeladenen<br />

TeilnehmerInnen statt. Es war die erste Veranstaltung des neu gegründeten<br />

Querschnittsfach-ausschusses (QFA) Modellierung der Gesellschaft für Informatik.<br />

Teilgenommen haben Mitglieder des QFA-Leitungsgremiums sowie ExpertInnen aus<br />

Hochschule und Industrie.<br />

Die Frage nach dem Selbstverständnis des QFA stand naturgemäß im Vordergrund<br />

des Workshops. "Modellierung in der Informatik" umschreibt das gemeinsame Thema<br />

nur grob. Die konkreten Fragestellungen und die Vorgehensweisen bei ihrer<br />

Beantwortung unterscheiden sich erheblich in den verschiedenen im QFA<br />

repräsentierten Bereichen der Informatik. Dieser Umstand macht die besonderen<br />

Möglichkeiten des QFA deutlich, in dem Modellierungsinteressierte aus<br />

verschiedenen Fachgruppen voneinander lernen wollen.<br />

Um von den unterschiedlichen Sichtweisen, Erkenntnissen und Erfahrungen<br />

profitieren zu können, sollte die Diskussion auf der Grundlage eines gemeinsamen<br />

Verständnisses über den Begriff Modellierung stattfinden. Eine Modellierungstheorie<br />

mit dem Anspruch, anwendungs-bereichsunabhängige Grundlagen der Modellierung<br />

zu liefern, ist seit vielen Jahren in Entwicklung. Beiträge dazu wurden in früheren<br />

Modellierungsveranstaltungen vorgestellt und diskutiert. Ein Ziel des Workshops<br />

Modellierung 2005 war daher die Präzisierung des Selbstverständnisses des QFA<br />

Modellierung, zusammen mit Anforderungen an gemeinsame Grundlagen bzw. an<br />

eine Modellierungstheorie.<br />

Ein Einsatzbereich der Modellierung ist die Entwicklung softwareintensiver Systeme.<br />

Modellierung ist eine wichtige Aktivität während der Softwareentwicklung. Umgekehrt<br />

kann man die gesamte Softwareentwicklung stets auch als eine spezifische<br />

Modellierung auffassen, in der der Code das resultierende Modell ist.<br />

Softwareentwicklung und Modellierung sind eigenständige Disziplinen, die aber eng<br />

miteinander verwoben sind. Die Softwareentwicklung wird von einer größeren<br />

Community getragen und hat eine besser etablierte Begriffswelt als die Modellierung.<br />

Der Umgang mit Software (Code und Dokumentation) und Entwicklungswerkzeugen,<br />

Software als Wirtschaftsgut usw. sind allen InformatikerInnen geläufig,<br />

während entsprechende Begriffe bei Modellen noch nicht etabliert sind. Auch die<br />

große Zahl von Paradigmen (objektorientiert, aspektorientiert, serviceorientiert , ...)<br />

bei der Programmierung könnte eine sinnvolle Entsprechung bei der Modellierung<br />

haben. Auf dem Workshop Modellierung 2005 wurde die Analogie zwischen Software<br />

und Modellen aufgegriffen und als Vehikel für die gemeinsame Näherung an<br />

Fragestellungen der Modellierung verwendet.<br />

Der Workshop wurde in Form eines Open Space durchgeführt. Open Space betont<br />

minimale Struktur und maximale Selbstverantwortung ähnlich wie in agilen<br />

Softwareentwicklungs-vorgehensweisen. Am Anfang jedes Tages bestand<br />

Gelegenheit Arbeitsgruppen zu initiieren, die dazu dienen eine konkrete<br />

Fragestellung des Initiators zu beantworten. Die Arbeitsgruppen wurden parallel<br />

durchgeführt. Im Plenum am nächsten Tag wurden die Ergebnisse dann in großem<br />

Kreis sehr lebhaft diskutiert. Eine weitere Plenumsveranstaltung war eine<br />

2


Podiumsdiskussion nahe am Motto der Tagung: Auf dem Weg zu einer<br />

Modellierungstheorie: Was können wir aus einer Gegenüberstellung von<br />

Softwareentwicklung und Modellierung lernen?<br />

Die folgenden Arbeitsgruppen wurden während des Workshops initiiert:<br />

• Theorie der Konzeptuellen Modellierung (Bernhard Thalheim, Roland<br />

Kaschek, Wolfgang Reisig)<br />

• Zusatznutzen von Modellen (Matthias Riebisch)<br />

• Ästhetik und Qualität von Modellen (Ulrich Frank, Bernhard Rumpe, Andreas<br />

Oberweis)<br />

• Modellierung in der Lehre (Martin Glinz)<br />

• Modellierung in der Praxis – eine Bestandsaufnahme (Friederike Nickl,<br />

Günther Müller-Luschnat)<br />

• Modellierung vs. Programmierung (Friedrich Steimann, Thomas Kühne)<br />

• Modelltransformation (Andy Schürr)<br />

• Aspektorientierte Modellierung (Jan Jürjens)<br />

• Modellierung von Softwarearchitektur (Wilhelm Hasselbring)<br />

• Modellbasierte Entwicklung eingebetteter Softwaresysteme (Bernhard Schätz)<br />

• Modellierung von Datenbankkomponenten (Roland Kaschek, Bernhard<br />

Thalheim)<br />

Die Themen spiegeln das breite Spektrum der grundsätzlichen Fragen und der<br />

Anwendungen bei der Modellierung wieder. Die Ergebnisse sind nachfolgend<br />

zusammengestellt.<br />

Aus Sicht der OrganisatorInnen sind die folgenden Beobachtungen bemerkenswert:<br />

1. Die TeilnehmerInnen hatten wieder ein starkes Bedürfnis Grundsatzfragen der<br />

Modellierung zu diskutieren. Dies ist ein ganz wichtiger Bestandteil dieses<br />

Workshops, der auch in Zukunft Raum haben sollte.<br />

2. Durch die Gegenüberstellung mit der Softwareentwicklung wurde<br />

insbesondere die Durchgängigkeit von den oft informellen Modellen der<br />

Domäne über die Systementwurfsmodelle zu den formalen, ausführbaren<br />

Programmen thematisiert. Die Unterschiedlichkeit der Modelle (und ihrer<br />

Originale) und die daraus resultierenden unterschiedlichen Aktivitäten bei der<br />

Modellerstellung und der Modellnutzung sind offensichtlich. Es bestand<br />

weitgehend Konsens, dass Programmierung als ein Teilthema der<br />

Modellierung angesehen werden kann. Offen bleibt, inwieweit Durchgängigkeit<br />

machbar oder sogar (durch Modelltransformation) automatisierbar ist.<br />

3. Die Organisationsform des OpenSpace hat sich bewährt. Sie ermöglicht den<br />

IniatorInnen konkrete Fragestellungen anzusprechen, ohne die fertige Lösung<br />

präsentieren zu müssen. Besonders erfreulich ist, dass daraus auch Ideen für<br />

längerfristige Arbeitsgruppen erwachsen sind.<br />

Wir danken allen TeilnehmerInnen für Ihr Engagement. Die Diskussionen im<br />

frühlingshaften Garten des IWH und die zauberhaften Abende sind uns in sehr<br />

angenehmer Erinnerung.<br />

Barbara Paech, Jörg Desel<br />

März 2005<br />

3


Inhaltsverzeichnis Seite<br />

Theorie der Konzeptuellen Modellierung (Bernhard Thalheim,<br />

Roland Kaschek, Wolfgang Reisig)…………………………………………...5<br />

Zusatznutzen von Modellen (Matthias Riebisch)…………………………….6<br />

Ästhetik und Qualität von Modellen (Ulrich Frank,<br />

Bernhard Rumpe, Andreas Oberweis)………………………………………..9<br />

Modellierung in der Lehre (Martin Glinz)…………………………………….20<br />

Modellierung in der Praxis – eine Bestandsaufnahme<br />

(Friederike Nickl, Günther Müller-Luschnat)………………………………..23<br />

Modellierung vs. Programmierung (Friedrich Steimann, Thomas Kühne).28<br />

Modelltransformation (Andy Schürr)………………………………………….30<br />

Aspektorientierte Modellierung (Jan Jürjens)………………………………..42<br />

Modellierung von Softwarearchitektur (Wilhelm Hasselbring)……………..47<br />

Modellbasierte Entwicklung eingebetteter Softwaresysteme<br />

(Bernhard Schätz)………………………………………………………………48<br />

Modellierung von Datenbankkomponenten<br />

(Roland Kaschek, Bernhard Thalheim)………………………………………54<br />

Podiumsdiskussion (Ulrich Frank)……………………………………………55<br />

4


Theorie der konzeptuellen Modellierung<br />

Bernhard Thalheim, Roland Kaschek<br />

5


Modellierung 2005<br />

Modellierung 2005<br />

Nutzen und Motivation der<br />

Modellierung<br />

Arbeitsgruppe beim<br />

Workshop Modellierung 2005<br />

16. März 2005<br />

Matthias Riebisch<br />

TU Ilmenau<br />

Verhältnis von Aufwand und<br />

Nutzen entscheidet über Erfolg<br />

Laufender Aufwand<br />

• Erstellung:<br />

Modellieren<br />

• Prüfung: Bewertung,<br />

Konsistenzprüfung<br />

• Verstehen<br />

• Änderungen<br />

Einmaliger Aufwand<br />

• Infrastruktur<br />

bereitstellen und<br />

betreiben<br />

• Kenntnisse über<br />

Modellierung<br />

erwerben<br />

• Einbinden in Prozess<br />

und Organisation<br />

2<br />

6


Nutzen von Modellen<br />

• Prozess des Strukturierens von Problem- und Lösungsraum<br />

– Klären der wichtigen Begriffe, Abstraktionen der Realität, Ziele<br />

– Gliedern der Gedanken<br />

• Kommunikation<br />

– Schnelleres Verstehen von Konzepten und Lösungen<br />

– Vervielfachen von Wissen<br />

– Darstellen der Motivation des Lösungswegs<br />

– Vermeiden von Fehlern (durch Mißverständisse)<br />

• Entscheidungsunterstützung<br />

– Risikobewertung<br />

– Variantenvergleich<br />

– Projektsteuerung<br />

– Basis für Aufwandsschätzung<br />

• Modellbasierte Prüfungen<br />

– Frühzeitiger Fehler finden (Unvollständigkeiten, Inkonsistenzen)<br />

– Zeitverhalten & dyn. Eigenschaften<br />

– Robustheit<br />

• Werkzeuggestützte Tests<br />

• Generierung von Prototypen<br />

• Ausführbare Modelle, Generieren einer Implementierung<br />

Modellierung 2005<br />

Modellierung 2005<br />

Risiken bestimmen, welcher<br />

Aufwand akzeptabel ist<br />

Nicht-Formal<br />

Formal<br />

• Imageverlust eines PKW-Herstellers durch<br />

Instabilitäten, Rückrufe<br />

• Ausfall eines Bahnknotenpunktswegen SW-<br />

Fehlern im Stellwerk<br />

• Totalverlust eines Raumfahrzeugs<br />

• Unzufriedenheit der Kunden einer Bank wegen<br />

Ausfall der Terminals<br />

• Änderungen an einer Anwendung nicht möglich,<br />

weil nicht mehr stabilisierbar<br />

• ….<br />

3<br />

4<br />

7


Verbessern der Kommunikation<br />

• Verbessern der Verständlichkeit für die<br />

Beteiligten (Stakeholder)<br />

• Erfassbarkeit von komplexen Konzepten<br />

• Ergonomie von Modellen<br />

• Angemessenheit von Inhalt und Form<br />

– Graphische / textuelle Darstellung des Modells<br />

– Geeignetes Beschreibungsmittel /<br />

Modellierungssprache<br />

– Geeignete Sichten<br />

Modellierung 2005<br />

Wie Modellierung motivieren<br />

• Management<br />

– langfristigen Nutzen für Unternehmen verstehen<br />

– Raum für Modellierung schaffen (auch Personal …)<br />

– Entwickler überzeugen<br />

• Entwickler können Management überzeugen, Modelle zu<br />

verwenden<br />

• Bewusstsein für Qualität der Prozesse und Produkte schaffen – als<br />

Nutzen quantifizieren<br />

– Wartbarkeit als Voraussetzung für langfristige Weiterentwicklung<br />

• Reale Arbeitsteilung<br />

– Abnahme durch „Kunden“<br />

– Offshoring<br />

• Wiederverwendbarkeit von Konzepten (Code kann seltener<br />

wiederverwendet werden)<br />

Modellierung 2005<br />

5<br />

6<br />

8


Ästhetik und Qualität von<br />

Modellen<br />

Frank, Oberweis, Rumpe<br />

Teil<br />

• Zusammenfassung<br />

• und Vorschlag für eine Weiterführung<br />

9


Modellqualität<br />

• Thema von großer Bedeutung in<br />

Wissenschaft und Praxis<br />

• Ästhetik als Qualitätskriterium?<br />

• Ästhetik als Ausdruck der<br />

Professionalisierung<br />

• Ästhetikbegriff kaum zu definieren<br />

• Wahrheit als Qualitätskriterium kaum<br />

brauchbar<br />

Qualitätskriterien (überlappend?)<br />

• syntaktische Korrektheit<br />

• Angemessenheit<br />

• Verständlichkeit/Anschaulichkeit<br />

• Erlernbarkeit<br />

• Gebrauchstauglichkeit<br />

• Schönes Layout<br />

• Operationalisierbarkeit<br />

• Einfluss der Modellierungssprache<br />

• ...?<br />

• Artikel von Ebersberg<br />

10


Vorschlag: Model Review<br />

• Messbarkeit fragwürdig?<br />

• Analogie zur Beurteilung akademischer<br />

Arbeiten<br />

• Einreichung von Modellen (in spezifischen<br />

Kategorien zB UML-Klassendiagramme,<br />

PN)<br />

• Vorgabe von Begutachtungskriterien<br />

• Durchführung und Untersuchung eines<br />

Begutachtungsprozesses<br />

• parallel dazu: Vergleich mit OO-Metriken<br />

Teil 2<br />

• Mitschrift während der Sitzung<br />

11


Modellästhetik<br />

• Eigenschaft des Modells oder des<br />

Betrachters?<br />

• Eigenschaft der Repräsentation?<br />

• Für Praktiker schwieriger Begriff<br />

• "Einheit von Inhalt und Form",<br />

Angemessenheit<br />

• Vermittlung in der Lehre?<br />

• bestimmte als "gut/schön" empfundene<br />

Grundmuster in der Darstellung<br />

Modellästhetik<br />

• hat etwas mit Professionalisierung zu tun<br />

• "auf den ersten Blick eine Einschätzung über die<br />

Qualität zu haben" (nicht genau begründbar)<br />

• nicht nur abhängig von grafischer Darstellung<br />

• falsche Assoziationen durch schlechte<br />

Darstellung<br />

• Visualisierungstechnik ist noch keine Ästhetik.<br />

Es gibt Visualisierungstechniken, die Handwerk<br />

sind. Ästhetik ist mehr, eher Kunst.<br />

12


Modellästhetik<br />

• Kultur der Anwendung von Maßen, Maß<br />

alleine hilft nicht weiter<br />

• betroffene Personengruppe spielt eine<br />

Rolle: wie homogen ist die Gruppe?<br />

• Lesbarkeit vs. Ästhetik<br />

• Ist der "Kunstaspekt" für uns relevant<br />

• Modelle, die automatisch generiert werden<br />

• "Konstrukte werden vergewaltigt"<br />

Modellästhetik<br />

• intuitives Verständnis über "gut" und<br />

"schlecht" ist wichtig.<br />

"Modellierungskompetenz" / Erfahrung<br />

• "Muster-Wiedererkennung"<br />

• in der Lehre: vermitteln durch Zeigen von<br />

Beispielen<br />

• wichtig: wie kann man aus einem<br />

schlechten Modell ein gutes machen?<br />

• Empirie<br />

13


Abgrenzung des Begriffs Ästhetik<br />

• Modellieren ist ähnlich wie Programmieren eine Kunst<br />

• nicht vollständig objektivierbar<br />

• Analogie zum Design (besser als Analogie zum<br />

Programmieren)<br />

• Einsatzzweck (z.B. Erkenntnisse der Psychologie<br />

berücksichtigen)<br />

• subjektive Bewertung: was ist schön, was ist hässlich?<br />

• gewisse Übereinkunft möglich?<br />

• Gefahr: subjektiv im Sinne von willkürlich<br />

• Bewertung sollte intersubjektiv nachvollziehbar sein<br />

• manches quantitativ bewertbar, manches qualitativ<br />

Kann man ästhetische Aspekte<br />

messen?<br />

• wenn etwas messbar ist, sollte man es auch messen.<br />

• gibt es Eigenschaften, die man dauerhaft nicht messen kann?<br />

• man braucht einen Qualitätsbegriff und eine Skala zu unterschiedlichen<br />

Ausprägungen<br />

• ist Skala immer sinnvoll?<br />

• Analogie zu Programmen: Metriken für Programme<br />

• Systematik der Darstellung<br />

• Analogie: Modelle in der Geographie (Zweckbezogenheit der Darstellung)<br />

• Komplexität/Größe von Modellen: nur mit Hilfe von Werkzeugen / in verschiedenen<br />

Sichten zugänglich. Wenn man immer nur Ausschnitt sieht, stellt sich Frage der<br />

Ästhetik ganz anders.<br />

• Kriterien zur Erreichung von Ästhetik / "Faustregeln"<br />

• Ist Vereinfachung von Modellen zulässig?<br />

• Komplexität der Modelle in Relation zur Komplexität der dargestellten Realität<br />

• "objektiv messen"<br />

• Unabhängigkeit des Ästhetikbegriffs von Modellierungssprache?<br />

• wie machen das andere Ingenieursdisziplinen? Übertragbarkeit von solchen<br />

Konzepten scheitert an unterschiedlichen Reifegraden (vgl. Technisches Zeichnen,<br />

Darstellung technischer Sachverhalte)<br />

14


Modellästhetik<br />

• es muss unterschieden werden zwischen<br />

Ästhetik einer Modellierungssprache und<br />

Ästhetik eines Modells<br />

• Beurteilung nicht unabhängig von<br />

Modellierungssprache<br />

• Analogie Maschinenbau/Architektur: ein<br />

realer Gegenstandsbereich, Software ist<br />

immaterielles Gut<br />

Verstehbarkeit/Verständlichkeit<br />

• ist es möglich, das Modell in Teilen zu<br />

bauen und darzustellen?<br />

• Aspekte getrennt betrachten?<br />

• es geht nicht darum, das Modell zu<br />

verstehen, sondern das modellierte<br />

Subjekt zu verstehen: Verstehbarkeit des<br />

Subjektes vs. Verstehbarkeit des Modells<br />

(ist es dasselbe?)<br />

15


Qualität<br />

• relativ definiert<br />

• relative Vergleichbarkeit von Modellen<br />

• Qualität eines Modells bemisst sich danach, was<br />

man damit machen kann:<br />

Kommunizierbarkeit, Analysierbarkeit,<br />

Weiterentwickelbarkeit<br />

• Messbarkeit ist wichtig: kann man Qualität<br />

absolut messen?<br />

• Qualitätsmessung durch<br />

"Mehrheitsentscheidung"<br />

Qualität<br />

• inhaltliche Q. (in Bezug auf die Realität)<br />

und Q. der Repräsentation<br />

• gibt es eine Korrelation zwischen beiden<br />

Qualitätsaspekten?<br />

• ein inhaltlich sinnvolles Modell kann durch<br />

schlechte Repräsentation<br />

unlesbar/unverwendbar gemacht werden<br />

• Kann man von Qualität nur sprechen,<br />

wenn es eine Messvorschrift gibt?<br />

16


Bedeutung von Qualität<br />

• Modelle müssen lesbar sein<br />

• vgl. Codierungsrichtlinien: so etwas<br />

braucht man auf Modellierungsebene auch<br />

• Ansätze in Großunternehmen gibt es<br />

bereits<br />

• Qualität der Repräsentation eines Modells<br />

wird von Werkzeugen nicht gemessen<br />

syntaktische Korrektheit<br />

17


Angemessenheit<br />

• Eignung für Zweck<br />

• empirisch entscheidbar?<br />

• Kriterien für Angemessenheit<br />

• Wie sieht ein Konzept für Angemessenheit aus?<br />

• wann kann man Angemessenheit sinnvoll<br />

beurteilen?<br />

• Angemessenheit heisst nicht, dass Wahrheit<br />

keine Rolle spielt.<br />

• Findet man einen Konsens?<br />

Anschaulichkeit<br />

18


Transformierbarkeit<br />

19


Modellierung in der Lehre<br />

Modellierung 2005, Heidelberg<br />

Martin Glinz<br />

www.ifi.unizh.ch/req<br />

Agenda<br />

Universität Zürich<br />

Institut für Informatik<br />

Grundannahme: Modellierung in der Informatik-Lehre<br />

Was lehren: Ziele, Inhalte<br />

Wann und wie lehren:<br />

Stellung im Curriculum<br />

Vermittlung und Didaktik<br />

Modellierung in der Lehre © 2005 by Martin Glinz 2<br />

20


Ziele und Inhalte<br />

Grundziel der Modellierung: Komplexe Sachverhalte kommunizierbar,<br />

verstehbar, analysierbar machen<br />

Generische Lernziele<br />

Modellierungstechniken in konkreten Problemsituationen<br />

anwenden<br />

Zu einem gegebenen Problem eine adäquate<br />

Modellierungstechnik auswählen<br />

Modellbildung als kreativen Prozess verstehen und anwenden<br />

Modelle lesen, interpretieren und analysieren<br />

Modelle integrieren und harmonisieren<br />

Wieviel Theorie? Welche Theorie?<br />

Metamodelle – wann und in welchem Umfang?<br />

Modellierung in der Lehre © 2005 by Martin Glinz 3<br />

Wann und wie lehren: Stellung im Curriculum<br />

Modellierung im Informatik-Unterricht der Hochschulen<br />

kleine Bestandesaufnahme, wer was macht<br />

keine vertiefte Diskussion<br />

Nicht diskutiert:<br />

Weiterbildung<br />

Modellierungs-Lehre unterhalb des Hochschulniveaus<br />

Modellierung in der Lehre © 2005 by Martin Glinz 4<br />

21


Wann und wie lehren: Vermittlung und Didaktik<br />

Modelle müssen erfahrbar sein: Fallstudien, Werkzeuge, Übungen,<br />

Praktika<br />

Das Motivationsproblem: Lösung sucht Problem<br />

Das Größenparadoxon:<br />

Realistische Probleme sind für die Lehre zu groß<br />

Lehrbare Probleme machen die Notwendigkeit nicht erfahrbar<br />

Das Prüfungsparadoxon: Prüfbarkeit vs. Adäquatheit<br />

Modelle exakt spezifizierbarer Probleme vs. Modelle von Problemen,<br />

die in einen Realwelt-Kontext eingebettet sind<br />

Kreativität vs. Abbildungstreue<br />

Medieneinsatz und e-Lehre<br />

Modellierung in der Lehre © 2005 by Martin Glinz 5<br />

Konkrete (kleine) Schritte<br />

Folien zu Modellierungslehrveranstaltungen sich gegenseitig zur<br />

Verfügung stellen (>> Webseiten des QFA Modellierung?)<br />

Austausch von Fallstudien<br />

...<br />

...<br />

Modellierung in der Lehre © 2005 by Martin Glinz 6<br />

22


Modellierung 2005<br />

Sitzung „Modellierung in der Praxis“<br />

Moderatoren: Friederike Nickl (Sepis),<br />

Günther Müller-Luschnat (F.A.S.T)<br />

Da wir Moderatoren zwei der wenigen Teilnehmer an der Modellierung 2005 aus der Praxis<br />

waren, wurden wir gebeten, ein dementsprechendes Thema für diese Veranstaltung beizusteuern.<br />

Nach einigen Überlegungen entschieden wir uns für eine (natürlich nicht repräsentative) Bestandsaufnahme<br />

zur Situation der Modellierung in der Praxis. Auf der einen Seite aus dem<br />

Grund, dass uns hierüber keine bestehende Untersuchung bekannt war, zum anderen, weil wir<br />

das Gefühl hatten, dass die Situation in der Praxis nicht besonders rosig aussieht und wir dies<br />

den hochakademischen sonstigen Themen gegenüber stellen wollten.<br />

Vorausschickend ist zu konstatieren, dass es uns (leider) gelungen ist, das Plenum des<br />

Workshops auf den Boden der Tatsachen zurück zu holen.<br />

10 Workshop-Besucher nahmen an dieser 1,5 std. Arbeitssitzung teil. Der überwiegende Anteil<br />

bestand aus Praxisvertretern. Die teilnehmenden Vertreter aus dem akademischen Bereich<br />

schilderten ihre Erfahrungen bei Projekten, die sie in Unternehmen durchgeführt hatten.<br />

Alle Teilnehmer beantworteten reihum folgende Fragen:.<br />

Einsatz der Modellierung in der Praxis<br />

• in welchen Phasen ?<br />

• zu welchem Zweck ?<br />

• mit welchen Techniken ?<br />

• mit welchen Werkzeugen ?<br />

• mit welchen Erfahrungen ?<br />

• wo besteht Handlungsbedarf für Forschung/Toolhersteller ?<br />

In welchen Phasen?<br />

In der Praxis wird entweder in den sehr frühen Phasen der IT-Entwicklung modelliert oder<br />

auch kurz vor der Codierung, im letzteren Fall meist, um Code-Teile aus den Modellen generieren<br />

zu können. In den dazwischen liegenden Phasen wird nur sehr sparsam modelliert. Insbesondere<br />

gibt es nur sehr selten eine durch ein Metamodell integrierte Modelllandschaft über<br />

alle Phasen hinweg.<br />

Zu welchem Zweck ?<br />

Als Zweck der Modellierung wird meist die Kommunikation der Entwickler mit den Fachanwendern<br />

angegeben. Auch die Unterstützung durch Modellierungstechniken bei der Strukturierung<br />

des fachlichen Inhalts wird erwähnt. Wie bereits oben angeführt, ist der Zweck der<br />

Modellierung in den späteren Phasen meist alleine die aus den Modellen heraus mögliche<br />

Generierung.<br />

Mit welchen Techniken ?<br />

In der Anforderungsanalyse und für das fachliche Feinkonzept werden in der Hauptsache die<br />

Modelle, die die Statik des Systems beschreiben (vor allem Klassenmodelle), verwendet.<br />

Auch die eher informelle Beschreibung der Use Cases hat sich etabliert.<br />

In den technischen Phasen werden meist proprietäre Modelle verwendet (nur sehr selten<br />

UML), um daraus Code zu generieren.<br />

Mit welchen Werkzeugen ?<br />

Erstaunlich oft werden keine datenbankbasierten Modellierungswerkzeuge verwendet, sondern<br />

reine Zeichenwerkzeuge (wie z.B. Powerpoint) oder auch Visio.<br />

Mit welchen Erfahrungen ?<br />

23


Ein klares Ergebnis dieser Arbeitsgruppe war leider die Tatsache, dass die Modellierung in<br />

der Praxis oft sehr viele negative Aspekte aufweist. Als hauptsächliche Mankos wurden angeführt:<br />

• Die Modellierung ist keine Vorgabe des Unternehmens, daher wird sie meist kaum gesteuert<br />

und damit auch nicht zielgerichtet eingesetzt.<br />

• Modelle werden kaum gepflegt.<br />

• In keinem der betrachteten Unternehmen gab es eine durchgängige (alle Phasen umfassende)<br />

Modellierungslandschaft. Modelle wurden nur punktuell, nicht miteinander vernetzt,<br />

eingesetzt.<br />

• Auch die negativen Erfahrungen mit bestehenden Modellierungssprachen (unklare Semantik,<br />

zu schwergewichtig) wurden immer wieder angeführt.<br />

Glücklicherweise standen diesen Mankos auch ein paar positive Erfahrungen gegenüber, die<br />

allerdings unserer Meinung nach den negativen Gesamteindruck nicht aufheben können:<br />

• Gute Erfahrungen wurden mit dem Einsatz domänenspezifischer Modellierungssprachen<br />

gemacht.<br />

• Im Bereich der Workflow-Management-Anwendungen gibt es Beispiele für die Durchgängigkeit<br />

der Modellierung.<br />

• Auch die Möglichkeit der guten Kommunikation mit dem Kunden / Fachabteilung durch<br />

informelle Modelle wie z.B. Use-Cases wurde hervorgehoben.<br />

• Wie oben bereits öfter erwähnt, scheint auch die Möglichkeit der Generierung aus Modellen<br />

zu guten Erfahrungen geführt zu haben.<br />

Wo besteht Handlungsbedarf für Forschung/Toolhersteller ?<br />

Wie aus den Erfahrungen ableitbar, wurde der größte Handlungsbedarf darin gesehen, heterogene<br />

Modellierungslandschaften zu vernetzen, um z.B. Konsistenzen zu prüfen. Hierzu passt<br />

der Wunsch, die Lücke zwischen informellen und formellen Modellierungstechniken zu<br />

schließen. Auch die Anwendung von geeigneten Modellierungstechniken für unterschiedliche<br />

Hard- und Software-Situationen (Host-Systeme, Standard-Software, Individual-Software,...)<br />

wurde als erforschungswert angesehen. Viel ist auch noch zu tun, um die Modelle wartbarer<br />

zu machen und die Validierung der Modelle zu unterstützen.<br />

Fazit:<br />

Die Anwendung von Modellierungstechniken in der Praxis ist noch lange nicht so weit, wie<br />

die Teilnehmer es sich optimal vorstellen könnten. Unternehmensführungen sowie die die<br />

Modellierungstechniken zu verwendenden Mitarbeiter müssen überzeugt und motiviert werden,<br />

dass Modellierung für sie viele Vorteile hat (und nicht nur Arbeit macht!).<br />

Die grundlegenden Techniken und Verfahren für die Modellierung sind im Großen und Ganzen<br />

vorhanden, müssen jedoch zum Einsatz gebracht werden.<br />

Dennoch ist auch noch (siehe Handlungsbedarf) im akademischen Bereich viel zu tun, um die<br />

Modellierung umfassend einsetzbarer und effizienter zu machen.<br />

24


Modellierung in der Praxis<br />

Bestandsaufnahme der Modellierungspraxis<br />

Günther Müller-Luschnat, FAST GmbH<br />

Friederike Nickl, Sepis GmbH<br />

Vorgehensweise im Workshop<br />

• Ursprünglich angedacht:<br />

Strukturierte Diskussion an Hand eines Fragebogens<br />

Zu aufwändig und zeitraubend<br />

• Beschränkung auf folgende Fragen für jeden der Teilnehmer:<br />

Einsatz der Modellierung in der Praxis<br />

– in welchem Phasen ?<br />

– zu welchem Zweck ?<br />

– mit welchen Techniken ?<br />

– mit welchen Erfahrungen ?<br />

– wo besteht Handlungsbedarf für Forschung/Toolhersteller ?<br />

25


Modellierung in der Praxis<br />

In welchem Phasen ?<br />

Meist in sehr frühen Phasen oder sehr späten (Codenahen)<br />

Phasen (zur Generierung). Dazwischen wird die<br />

Modellierung sehr sparsam angewendet, insbesondere<br />

keine Verbindung zwischen Phasen.<br />

Zu welchem Zweck ?<br />

In frühen Phasen zur Kommunikation oder/und zur<br />

Strukturierung, in späten Phasen zur Generierung<br />

Mit welchen Techniken ?<br />

Meist die statischen Modelle (Klassenmodelle) oder<br />

sehr informelle (Use-Case-Diagramme)<br />

Generierung meist nicht aus Standardmodellen (UML),<br />

sondern aus proprietären Modellen<br />

Mit welchen Werkzeugen?<br />

Pragmatische Anwendung: Oft Powerpoint, Visio<br />

Modellierung in der Praxis<br />

Mit welchen Erfahrungen ?<br />

+ Einsatz domänenspez. Sprachen<br />

+ Generierung aus Modellen<br />

+ Einsatz informeller Modelle in der Kommunikation mit den<br />

Kunden<br />

+ Wegwerfmodelle im Sinne von Prototyping<br />

+ Durchgängigkeit der Modellierung im WfM-Bereich<br />

(Generierung)<br />

- Modellierung zum Selbstzweck (zu detailliert, nicht<br />

zielgerichtet, nicht umsetzbar)<br />

- Unklare Semantik bestehender Modellierungssprachen<br />

- Nur Punktueller Einsatz<br />

- Keine Durchgängigkeit<br />

- Modellierung ist keine Unternehmensvorgabe<br />

- Modelle werden kaum gepflegt (auch bei langlebigen Systemen)<br />

- UML zu schwergewichtig<br />

26


Modellierung in der Praxis<br />

Wo besteht Handlungsbedarf für Forschung/Toolhersteller ?<br />

• Modellierungsmittel für heterogene Landschaften (Unterschiedliche<br />

Host-Systeme, Standard-Software, Ind.-Software,...)<br />

• Validierung von Modellen (z.B. durch Ausführbarkeit)<br />

• Vernetzung von Modellen (incl. Konsistenzprüfung)<br />

• Sichten auf Modelle<br />

• Modelle wartbarer machen<br />

• Komponentenmodellierung<br />

• Lücke zwischen informellen und formalen Modellierungstechniken<br />

schließen<br />

• Regeln zur Beschreibung der Modellierungsidee (Design-Regeln)<br />

27


2<br />

Modellierung<br />

versus<br />

Programmierung<br />

Thomas Kühne<br />

TU Darmstadt<br />

Friedrich Steimann<br />

FernUniversität Hagen<br />

Modellierung vs Programmierung<br />

Programmierung<br />

Modellierung<br />

28


3<br />

4<br />

Modellierung vs Programmierung<br />

Wunsch<br />

» Kontinuität, Durchgängikeit<br />

» homogene Notation<br />

(unvermeidlicher) Bruch?<br />

» IC(Assembler) > IC(Model)<br />

» IC(Assembler) = IC(Model) + IC(Transformation)<br />

Unterscheidung<br />

» Mod \ Prog<br />

» Mod Prog<br />

Modellierung vs Programmierung<br />

Abgrenzungskriterien für Mod \ Prog<br />

» Berechenbarkeit<br />

» Unvollständigkeit<br />

» Intention<br />

Kriterien für Artefakte in der Schnittmenge<br />

» Abstammung, Compiler<br />

» Zweck<br />

… vieles Interessantes mehr<br />

29


www.es.tu-darmstadt.de<br />

www.es.tu-darmstadt.de<br />

1<br />

2<br />

25.04.2005<br />

25.04.2005<br />

Arbeitsgruppe<br />

Modell-Transformations<br />

Modell Transformations-Ansätze: Ansätze:<br />

Nutzungsszenarien, Klassifikation, Werkzeuge, ...<br />

Andy Schürr + 13 weitere Teilnehmer<br />

Fachgebiet Echtzeitsysteme<br />

Fachbereich Elektrotechnik und Informationstechnik<br />

Technische Universität Darmstadt<br />

Diskussionsthemen<br />

Fachgebiet Echtzeitsysteme<br />

Gestern:<br />

• braucht man Transformationssprachen (Standards?)<br />

• Einsatzszenarien für Transformationsansätze<br />

• Eingrenzung des Begriffs „Modelltransformation“<br />

• Eigenschaften von Transformationssprachen<br />

Heute!:<br />

• Klassifikation von Modelltransformations-Ansätzen<br />

Zukunft?:<br />

• Gründung eines AKs für Dokumentation, Vergleich, ...<br />

Fachgebiet Echtzeitsysteme<br />

30


www.es.tu-darmstadt.de<br />

www.es.tu-darmstadt.de<br />

3<br />

4<br />

25.04.2005<br />

Braucht man Transformationssprachen<br />

• Nein, da man alles direkt programmieren kann<br />

• Ja, in vielen verschiedenen Szenarien<br />

• Standardisierung von Sprachen heute (noch) sinnlos<br />

•...<br />

25.04.2005<br />

Einsatzszenarien<br />

Fachgebiet Echtzeitsysteme<br />

• Verfeinerungskonzept, Anreicherung, ... von Modellen<br />

• Mischung, Verweben von Aspekten/Facetten<br />

• Modellevolution (Schemaevolution, Refactoring, ... )<br />

• Komposition wiederverwendbarer Teilmodelle<br />

• Konfiguration von Modellen (z.B. für Produktlinien)<br />

• Modellintegration (von Sichten, Abstraktionsebenen)<br />

• Definition von Sichten, Extraktion von Teilmodellen<br />

• Generierung von Testfällen, Code, GUIs, ...<br />

• Referenzmodellübersetzung<br />

• Übersetzung zwischen verschiedenen Notationen<br />

• Verifikation von Modelleigenschaften<br />

Fachgebiet Echtzeitsysteme<br />

31


www.es.tu-darmstadt.de<br />

www.es.tu-darmstadt.de<br />

5<br />

6<br />

25.04.2005<br />

Was sind Modelltransformationen<br />

• nur vollautomatische Manipulation von Modellen – nein<br />

(auch interaktive Steuerung mit einbezogen)<br />

• nur auf einer Modellierungsebene (wie DB-Bereich) - nein<br />

(Unterschied Transformation und Mapping)<br />

• sind Parser, Pretty-Printer Transformatoren – ja<br />

(ModellText-Transformationen, TextText-Trafos)<br />

• sind Layoutoperationen Transformationen – ja<br />

(da sehr praxisrelevant und Grenzziehung schwierig)<br />

Modellre- Modell<br />

präsentation<br />

CodeCodefragmente<br />

Fragment<br />

25.04.2005<br />

Repr.-<br />

Grammatik<br />

Modell-<br />

Parser<br />

Code-<br />

Generator<br />

Text-<br />

Templates<br />

„Forward“ Forward“-MDA MDA-Ansatz Ansatz<br />

Meta-<br />

Modell<br />

Meta-<br />

Objekte<br />

Modell-<br />

Übersetzer<br />

Meta-<br />

Objekte<br />

Meta-<br />

Modell<br />

Fachgebiet Echtzeitsysteme<br />

AnalyseCodeergebnisse Fragment<br />

Modell-<br />

Analysator<br />

Modell-<br />

Transformator<br />

Spezifikation<br />

Spezifikation<br />

Fachgebiet Echtzeitsysteme<br />

Level 1<br />

(PIM)<br />

Level 2<br />

(PSM)<br />

32


7<br />

25.04.2005<br />

www.es.tu-darmstadt.de<br />

Fachgebiet Echtzeitsysteme<br />

Spezifikation<br />

Code-<br />

Fragment<br />

Modell<br />

„Reverse“<br />

Reverse“-MDA<br />

MDA-Ansatz<br />

Ansatz<br />

Modellre-<br />

präsentation<br />

Repr.-<br />

Generator<br />

Meta-<br />

Objekte<br />

Modell-<br />

Transformator<br />

Modell-<br />

Analysator<br />

Modell-<br />

Übersetzer<br />

Meta-<br />

Objekte<br />

Code-<br />

Parser<br />

Code-<br />

fragmente<br />

Level 1<br />

(PIM)<br />

Level 2<br />

(PSM)<br />

Repr.-<br />

Grammatik<br />

Repr.-<br />

Templates<br />

Meta-<br />

Modell<br />

Spezifikation<br />

Meta-<br />

Modell<br />

8<br />

25.04.2005<br />

www.es.tu-darmstadt.de<br />

Fachgebiet Echtzeitsysteme<br />

Spezifikation<br />

Code-<br />

Fragment<br />

Modell<br />

Modellintegration<br />

Modellintegration<br />

Modellre-<br />

präsentation<br />

Modell-<br />

Parser<br />

Meta-<br />

Objekte<br />

Modell-<br />

Transformator<br />

Modell-<br />

Analysator<br />

Konsistenz-<br />

Prüfer<br />

Meta-<br />

Objekte<br />

Modell-<br />

Parser<br />

Modellre-<br />

präsentation<br />

Level 1<br />

Level 2<br />

Repr.-<br />

Grammatik<br />

Repr.-<br />

Grammatik<br />

Meta-<br />

Modell<br />

Spezifikation<br />

Meta-<br />

Modell<br />

33


www.es.tu-darmstadt.de<br />

www.es.tu-darmstadt.de<br />

9<br />

10<br />

25.04.2005<br />

Kritik an Abbildungen<br />

• Layoutaspekte werden meist ignoriert<br />

• Integration/Manipulation von höchstens 2 Modellen<br />

• ist Integration wirklich der Vergleich 2er Modelle oder<br />

Abbildung in ein gemeinsames Modell ?<br />

25.04.2005<br />

Weitere Aspekte<br />

Fachgebiet Echtzeitsysteme<br />

• Modelltransformations-Forschung ignoriert Know-How:<br />

• Datenbank-Community<br />

• Compilerbau-Community<br />

• [formale Grundlagen]<br />

• auf welcher Meta-Ebene bewegen sich<br />

• Modelltransformationen<br />

• Transformationsregeln<br />

• Transformationssprachen<br />

• Konzepte der / Kalküle für Modelltransformationen<br />

Fachgebiet Echtzeitsysteme<br />

34


www.es.tu-darmstadt.de<br />

www.es.tu-darmstadt.de<br />

11<br />

12<br />

25.04.2005<br />

Diskussionsthemen<br />

Gestern:<br />

• braucht man Transformationssprachen (Standards?)<br />

• Einsatzszenarien für Transformationsansätze<br />

• Eingrenzung des Begriffs „Modelltransformation“<br />

• Eigenschaften von Transformationssprachen<br />

Heute!:<br />

• Klassifikation von Modelltransformations-Ansätzen<br />

Zukunft?:<br />

• Gründung eines AKs für Dokumentation, Vergleich, ...<br />

25.04.2005<br />

Fachgebiet Echtzeitsysteme<br />

Obligate OMG-Anforderungen<br />

OMG Anforderungen an Trafo-Sprache<br />

Trafo Sprache<br />

• eignet sich auch als „ad-hoc“-Anfragesprache<br />

• erlaubt Definition von Sichten auf Modellen<br />

• Transformationen auf 1 Modell und zwischen 2! Modellen<br />

• erlaubt automatische Generierung von Zielmodellen<br />

• deklarativer Ansatz: inkrementelle Änderungspropagation<br />

• Syntax der Transformationssprache mit MOF definiert<br />

• operiert auf MOF-Instanzen<br />

Fachgebiet Echtzeitsysteme<br />

35


www.es.tu-darmstadt.de<br />

www.es.tu-darmstadt.de<br />

13<br />

14<br />

25.04.2005<br />

Optionale OMG-Anforderungen<br />

OMG Anforderungen an Trafo-Sprache<br />

Trafo Sprache<br />

• unterstützt bidirektionale Modelltransformationen<br />

• erzeugt Traceability-Relationships zwischen Modellen<br />

• hat Konzepte für generische, wiederverwendbare,<br />

spezialisierbare Transformationen (Bibliotheken)<br />

• erlaubt Verwendung von Transaktionsmechanismen<br />

• Einbezug zusätzlicher Informationsquellen zur Steuerung<br />

von Transformationen<br />

• erlaubt Berechnung abgeleiteter Daten in einem Modell<br />

25.04.2005<br />

Fachgebiet Echtzeitsysteme<br />

Klassifikation nach Czarnecki<br />

Eigenschaften von Transformationsansätzen:<br />

• Aufbau von Transformationsregeln<br />

• Einschränkung der Anwendbarkeit einer Regel (Scope)<br />

• Beziehungen zwischen Quelle und Ziel<br />

• Regelanwendungsstrategie (nichtdet., parallel, ... )<br />

• Regelsteuerung (Metaregeln)<br />

• Strukturierung von Regelmengen<br />

• Traceability<br />

• Bidirektionalität<br />

Fachgebiet Echtzeitsysteme<br />

36


www.es.tu-darmstadt.de<br />

www.es.tu-darmstadt.de<br />

15<br />

16<br />

25.04.2005<br />

Klassifikation nach Czarnecki<br />

Kategorien von Transformationen<br />

• Modell auf Text abbilden<br />

• Visitor-based<br />

• Template-based<br />

•...<br />

• Modell auf Modell abbilden<br />

• API-Programmierung<br />

• relational<br />

• Graphtransformationen<br />

• XSLT<br />

• hybrid<br />

25.04.2005<br />

Fehlende Aspekte<br />

• Formale Eigenschaften von Transformationen:<br />

• semantikerhaltend<br />

• ...<br />

Fachgebiet Echtzeitsysteme<br />

Fachgebiet Echtzeitsysteme<br />

37


www.es.tu-darmstadt.de<br />

17<br />

25.04.2005<br />

Folienfriedhof - erfolgreiche Trafo-Ansätze<br />

Trafo Ansätze<br />

• Compiler-Bau, Code-Generierung<br />

• Schemaintegration, Schemaevolution im DB-Bereich<br />

• im Verifikationsbereich<br />

• Dokumentationsgenerierung<br />

Fachgebiet Echtzeitsysteme<br />

38


Prof. Dr. B. Rumpe<br />

Software Systems<br />

Engineering<br />

TU Braunschweig<br />

Seite 1<br />

bei/04.11.09<br />

Prof. Dr. B. Rumpe<br />

Software Systems<br />

Engineering<br />

TU Braunschweig<br />

Seite 2<br />

bei/04.11.09<br />

IDL<br />

Kern der MDA:<br />

PIM, PSM und Transformationen<br />

Plattform Independent Model (PIM)<br />

• abstrakt, unabhängig von Details wie Middleware etc.<br />

Plattform Specific Model (PSM) (oft gleich Code)<br />

• Technologie-abhängig, Plattform-Optimierungen, etc.<br />

Platform Independent Model<br />

(PIM)<br />

transformation<br />

Platform Specific Model<br />

(PSM)<br />

Beispiele für PIM→PSM-Transformationen<br />

PIM: UML Model<br />

interface Car<br />

{<br />

};<br />

Car<br />

color : Color<br />

type : CarType<br />

ower : Person<br />

Java<br />

class Car<br />

{ private Color color;<br />

public Color<br />

getColor() {<br />

...<br />

};<br />

DTD<br />

<br />

J2EE<br />

SQL-Tables<br />

JDBC-Codes<br />

Invariants<br />

Objects<br />

m-c-33: Car<br />

color = Green<br />

type = BMW<br />

ower = Felix<br />

bs-k-9: Car<br />

color = Blue<br />

type = VW<br />

ower = John<br />

39


Prof. Dr. B. Rumpe<br />

Software Systems<br />

Engineering<br />

TU Braunschweig<br />

Seite 3<br />

bei/04.11.09<br />

Prof. Dr. B. Rumpe<br />

Software Systems<br />

Engineering<br />

TU Braunschweig<br />

Seite 4<br />

bei/04.11.09<br />

Formen von Transformationen<br />

Ein PIM für mehrere Platformen<br />

Mehrere PIM auf eine Platform<br />

Platform Independent Model<br />

(PIM 1)<br />

Platform Specific Model<br />

(PSM 1)<br />

Evolution von<br />

Modellen<br />

0 platform dependency<br />

+<br />

Abstraction Spectrum<br />

Platform depencency<br />

-<br />

Platform Specific Model<br />

(PSM 1)<br />

Platform Independent Model<br />

(PIM)<br />

Platform Independent Model<br />

(PIM 2)<br />

single transformation<br />

used several times<br />

Platform Specific Model<br />

(PSM 2)<br />

Platform Specific Model<br />

(PSM 2)<br />

Model<br />

(PIM)<br />

Fusion von Modellen<br />

transformation<br />

MDA bei THALES (Paris)<br />

PSM<br />

CODE<br />

PIM<br />

PIM<br />

Analysis Models<br />

Hintereinanderschaltung<br />

von<br />

Transformationen<br />

Model 1<br />

(PIM 1)<br />

Might contain implicit information<br />

related to a type of platform but none<br />

explicit information (architecural style)<br />

PSM<br />

CODE<br />

Model 1 + 2<br />

(PSM)<br />

A PSM contains some<br />

explicit information<br />

related to the target platform<br />

No more model but code<br />

fusing<br />

transformation<br />

Platform Independent Model<br />

(PIM)<br />

Model 2<br />

(PIM 2)<br />

transformation 1<br />

„PSM 1“ = „PIM 2“<br />

transformation 2<br />

Platform Specific Model<br />

(PSM 2)<br />

PIM scope<br />

PIM requires no<br />

change at all to<br />

be deployed on<br />

another platform<br />

PSM scope<br />

PSM is dedicated<br />

to a specific<br />

platform<br />

PLATFORM<br />

scope<br />

40


Prof. Dr. B. Rumpe<br />

Software Systems<br />

Engineering<br />

TU Braunschweig<br />

Seite 5<br />

bei/04.11.09<br />

Prof. Dr. B. Rumpe<br />

Software Systems<br />

Engineering<br />

TU Braunschweig<br />

Seite 6<br />

bei/04.11.09<br />

Ziele von MDA<br />

Wiederverwendung:<br />

• „Separation of concerns“ in die PIM und die Transformation<br />

erhöht Wiederverwendung:<br />

PIM<br />

• PIM ist weiderverwendbar bei einer Transition zu neuer<br />

Technologie<br />

PSM<br />

• Transformation ist wiederverwendbar für andere Applikationen auf<br />

diesselbe Plattform<br />

Produktivität:<br />

• wird besser durch Wiederverwendung<br />

Portabilität:<br />

• leichtere Portierbarkeit der technologieunabhängigen PIM<br />

Interoperabilität:<br />

• erzeugung mehrerer PSM für unterschiedliche Plattformen und Bridges<br />

erhöht die Interoperabilität<br />

Wartung und Dokumentation:<br />

• PIM eignet sich als Dokumentation genau so wie als Quelle von<br />

Evolution<br />

Different Forms of DSLs<br />

Wizard<br />

page MainPage () {<br />

filename = index.html<br />

placeHolders {<br />

header = fragmentCall { include = Header() }<br />

leftNavigation = fragmentCall { include = LeftNavigation(nil) }<br />

rightNavigation = fragmentCall { include = RightNavigation() }<br />

body = fragment { filename = main/main.html<br />

filterElement = body }<br />

footer = fragmentCall { include = Footer () }<br />

}<br />

}<br />

Textual DSL<br />

Configuration tool<br />

Library in a<br />

programming language<br />

Visual DSL<br />

…<br />

41


Aspektorientierte Modellierung<br />

Hintergrund<br />

Jan Jürjens<br />

TU München<br />

Historischer Hintergrund: Objekt-orientierte Programmierung.<br />

Typische Sichtweise: zB UML<br />

Struktur (Klassen, Komponenten, Deployment): konkret<br />

bis abstrakt<br />

Verhalten (Statecharts, Interaktion, Koordination):<br />

(relativ) konkrete funktionale Beschreibung, bzgl.<br />

Struktureinheiten oder deren Interaktion<br />

Grundidee: Modularisierung<br />

Was ist mit abstrakter oder nicht-funktionaler Beschreibung<br />

von Eigenschaften (insbes. Verhalten) ?<br />

Was mit querschnittsartig über Struktureinheiten<br />

übergreifende, unhandlich zu modularisierende<br />

Eigenschaften ?<br />

42


Aspekt-Orientierte Programmierung<br />

Erlaubt Beschreibung und Implementierung von<br />

Querschnittseigenschaften durch neues Konzept:<br />

Aspekte (Kiczales).<br />

Entitäten, die über die Struktur anderer Einheiten<br />

übergreifen<br />

Entitäten, die durch partielle Information über<br />

andere Einheiten definiert werden<br />

Design- und Implementierungsebene.<br />

Nicht-/Funktional; abstrakt/konkret.<br />

Geht über traditionelle Modularisierung hinaus.<br />

Aspekte / concerns<br />

A-priori Modularisierung problematisch.<br />

concerns:<br />

Nicht-Funktionale Anforderungen<br />

Security (Vertraulichkeit), Benutzbarkeit,<br />

Performanz, …<br />

Kernsystem<br />

Ausnahmebehandlung, Logging, Transaktionen,<br />

Parallelität<br />

Sichten: Dynamisch, statisch.<br />

„Security keine Funktion sondern Eigenschaft“<br />

43


concerns sind…<br />

Systemmerkmale die mit bisherigen Methoden<br />

nicht gut modelliert werden können<br />

Querschnittseigenschaft ? Nicht<br />

notwendigerweise „orthogonal“ ?<br />

Eigenschaft die hineingewoben werden<br />

müssen<br />

AOM = Quantification + Obliviousness<br />

[Philman et al]<br />

Beispiele für funktionale Aspekte ?<br />

Modellierungsansätze<br />

UML Collaborationsdiagramme<br />

UML Stereotypen<br />

Umsetzung eines concerns als Verfeinerung<br />

(Einsatz ggf. auch Erweiterung)<br />

Aspektorientierte Meta-Modellierung ?<br />

Re-Engineering von Aspekten<br />

Forward-Engineering: Integration von<br />

Aspekten<br />

44


Probleme<br />

AOM bricht Lokalitätsprinzip in 2-dimens.<br />

graph. Modellierung<br />

Skalierbarkeit vs. Verständlichkeit vs.<br />

Interaktion von Aspekten ?<br />

AspectJ konkret, AOP statt AOM,<br />

eingeschränkt<br />

Realisierung<br />

AspectJ, HyperJ<br />

Feature-oriented Programming<br />

Container<br />

Nicht-funktionale vs. funktionale<br />

Anforderungen<br />

Python: Function Declarators<br />

45


Ad Theoretische Fundierung<br />

46


Modelling Software Architectures<br />

Sitzung auf der Modellierung 2005<br />

W. Hasselbring, Uni Oldenburg<br />

http://se.informatik.uni-oldenburg.de/<br />

Ziel dieser Sitzung war primär eine Diskussion des Zwecks der Modellierung von Software-<br />

Architekturen. Eine Terminologiediskussion des Begriffs „Software-Architektur“ wurde,<br />

insbesondere aus Zeitgründen, nicht vorgeschaltet: Am SEI gibt es beispielsweise eine recht<br />

längliche Auflistung von vorgeschlagenen Definitionen. Eine entsprechende Diskussion hätte<br />

möglicherweise die ganze Sitzung gefüllt. Stattdessen sei auf den entsprechenden IEEE<br />

Standard 1471-2000 zur Terminologie der Software-Architekturbeschreibung verwiesen, wo<br />

z.B. die Konzepte der Viewpoints und Views definiert werden.<br />

Die Modellierung von Software-Architekturen zielt primär auf die Betrachtung nichtfunktionaler<br />

Aspekte von Software-Systemen. Ein zentrales Ziel ist die Bewertung der<br />

Qualität der modellierten Software-Systeme, bevor diese realisiert werden. Die Genauigkeit<br />

der Bewertungen sollte am später realisierten System überprüft werden, um die zukünftigen<br />

Vorhersagen zu verbessern.<br />

Im Gegensatz zur Modellierung von Software-Architekturen wird in der fach-konzeptuellen<br />

Modellierung primär die Funktionalität eines zu entwickelnden Software-Systems betrachtet.<br />

Zur Modellierung der Komponenten und deren Beziehungen für ein konkretes System sollte<br />

beispielsweise auf Vererbung zwischen Komponenten verzichtet werden. Bei der Modellierung<br />

von Referenzarchitekturen, z.B. für Produktlinien, sind Generalisierungs/Spezialisierungs-Beziehungen<br />

jedoch sehr sinnvoll.<br />

Wesentliches Ergebnis der Diskussion ist das nachfolgende Mind-Map. Viele Konzepte<br />

treffen generell auf die Modellierung zu, die Konzepte mit für die Architekturmodellierung<br />

spezifischen Anforderungen und Techniken sind durch markiert.<br />

static<br />

dynamic Viewpoints<br />

resource mapping<br />

Views<br />

Type<br />

Metamodel level<br />

Instance<br />

Formal<br />

Semi-formal<br />

Notation<br />

Informal<br />

Standards<br />

Iterative<br />

Incremental<br />

Construction<br />

Reverse engineering Reconstruction<br />

Refactoring<br />

Patterns<br />

Self-organization Peer-to-peer<br />

Styles<br />

Client-server<br />

Library viewpoints<br />

Variability Product lines<br />

Wrapper<br />

Transformation<br />

Process<br />

Reference architectures<br />

Component adaptation<br />

Description<br />

Reuse<br />

Goal<br />

Modeling Software<br />

Architectures<br />

Documentation<br />

Communication<br />

Understanding<br />

Blueprint<br />

Strategic IT management<br />

Design evaluation<br />

Evolution<br />

Constraints<br />

Evaluation<br />

Migration<br />

Reconfiguration<br />

Among stakeholders<br />

Programming-in-the-large<br />

Prediction<br />

Assessment<br />

Measurement<br />

Budget<br />

Ressources<br />

Existing infrastructure<br />

Simulation<br />

Analysis<br />

Clients<br />

Architects<br />

Developers<br />

Assessors<br />

Quality attributes (QoS)<br />

Characteristics<br />

Metrics<br />

W. Hasselbring<br />

Modellierung 2005<br />

47


Modellbasierte Entwicklung eingebetteter Systeme<br />

Uni Heidelberg<br />

10. Januar 2005 - 14. Januar 2005<br />

Diskrepanz Disziplinen „<strong>MB</strong>EES“<br />

• ITG-FG 4 Beschreibungssprachen und Modellierung von<br />

Schaltungen und Systemen, (Kontakt: Hr. Wolfgang Ecker, Infineon)<br />

• ITG-FA 6.2 Industrielle Methoden der Software-Entwicklung (FB 6<br />

Technische Informatik) (Kontakt: Hr. Philip Dellafera, T-Systems)<br />

• GI-FG 4.4.2 Echtzeitprogrammierung (EP-PEARL, FB ITTN), AK<br />

Modellierung von Echtzeitsystemen (Kontakt: Fr. Vogel-Heuser, Uni<br />

Wuppertal)<br />

• GI-FG 2.1.9 Objektorientierte Softwareentwicklung (OOSE, FB<br />

Softwaretechnik), AK Modellbasierte Entwicklung/Embedded<br />

Systems, (Kontakt: Hr. Riebisch, Uni Illmenau)<br />

• GI-Querschittsausschuss Modellierung (Kontakt: Hr. Andy Schürr)<br />

48


Diskrepanz Industrie/Universität „<strong>MB</strong>EES“<br />

• AUTOSAR: Offener Architekturstandard für eine E/E-Infrastruktur zur<br />

Integration von Softwaremodulen<br />

– Themen: Kommunikationsmodelle, Middleware<br />

• MSR-MEGMA: Bibliothek-Standards für den modellbasierten Entwurf von<br />

Steuergerätefunktionen für Kraftfahrzeuge.<br />

– Themen: Funktionsbausteine, Testfälle<br />

• HIS: Unterstützung Hersteller-/Zuliefererprozess im Automobilbau<br />

– Themen: Werkzeugdurchgängigkeit, übergreifende Standards<br />

• OMG: Domänenspezifische Standards für plattformspezifische und<br />

plattformunabhängige Spezifikationen<br />

– Themen: UML-Profile, PIM/PDM-Beschreibungen<br />

Themenfelder (Auszug <strong>MB</strong>EES-Workshop)<br />

• Kombination Regelungstechnik/Informatik<br />

– Beschreibungsmodelle: Zustandsmaschinen vs. Blockdiagramme<br />

– Berechnungmodelle: DES vs SDF<br />

49


Themenfelder (Auszug <strong>MB</strong>EES-Workshop)<br />

• Phasenspezifische Beschreibungstechniken/Modelle:<br />

– Anforderungsmodelle: Funktion, Szenario<br />

– Designmodelle: Komponente, (dynamische) Schnittstellen<br />

– Implementierungsmodelle: Tasks, Deployment<br />

Themenfelder (Auszug <strong>MB</strong>EES-Workshop)<br />

• Analytische und generative Verfahren:<br />

– Analytische: z.B. Überprüfung von Design Standards<br />

– Generative: z.B. Testfallgenerierung<br />

50


Mögliches Ergebnis der Arbeitsgruppe<br />

AK-übergreifende “Agenda” für Modellbasierte Entwicklung von Embedded<br />

Systems:<br />

1. Spezifische Problemfelder: Welche Themen müssen addressiert werden?<br />

1. Motivation: Abgleich Industrie/Universität, Integration Disziplinen<br />

2. Beispiele: Produktlinien, Durchgängigkeit bis zur HAL<br />

2. Spezifische Modelle: Welche (Informatik-)Modelle sind hier hilfreich?<br />

1. Motivation: Unterstützung neuer Sichten, Vermittlung in der Ausbildung,<br />

2. Beispiele: Integrierte CT/DES-Modelle, Funktionsbäume<br />

3. Spezifische Verfahren: Welche Techniken sind relevant?<br />

1. Motivation: Transfer vorhandener/Identifikation fehlender Techniken<br />

2. Beispiele: Design Standard Checker, Timing Analysis, Testfallgenerierung<br />

51


Ergebnisse der Arbeitsgruppe:<br />

Modellbasierte Entwicklung eingebetteter Systeme<br />

Uni Heidelberg<br />

18. März 2005<br />

Warum ist die Informatik (noch) nicht „angekommen“?<br />

• “Außensicht der Informatik”: Bereitstellung von Middleware und OO-<br />

Prinzipien<br />

• “Negativ-Image”: Unreflektierter Einsatz (zustandsorientierter) UML-<br />

Modelle auf regelungstechnische Probleme<br />

• „Matlab-Add-On“: Tradition der regelungstechnischen Werkzeuge<br />

und Modelle<br />

• „No quick wins“: Zugewinn vieler Informatikmethoden nur<br />

projektübergreifend erfahrbar<br />

• „Generische vs spezifische Lösungen“: Kaum Bereitstellung von<br />

Standardlösungen im Embedded-Bereich durch die Informatik<br />

• „Der blinde Fleck“: Mangelnde Integration von<br />

regelungstechnischen Ansätzen in die Informatik<br />

52


Wo hilft die Informatik unmittelbar?<br />

• Ablösen des Komponenten-Kopie-Ansatzes durch das Prinzips der<br />

Klasse-Instanz-Beziehung<br />

• Definition von domänenspezifische Architekturmodellen:<br />

Schichtenmodelle, Bushierarchien<br />

• Konstruktion von hybriden Umgebungsmodellen: Abstraktere und<br />

erweiterte Modelle der Umgebung<br />

• Definition von Entwurfsebenen: Funktionsarchitektur, logische<br />

Architektur, technische Architektur<br />

• Vermittlung von Modellen und Techniken zur Unterstützung der<br />

Anforderungsanalyse und -definition<br />

• Vermittlung von Modellen und Techniken zur Beschreibung von<br />

Varianten und Produktlinien<br />

Was gehört auf eine „Embedded-Roadmap“ für die Informatik?<br />

• Integrierte Beschreibung hybrider (regelungstechnischer und<br />

ereignisgetriebener) Modelle<br />

• Konstruktion domänenspezifische Bibliotheken wiederverwendbarer<br />

Komponenten/Funktionen<br />

• Modelle für Fehler und Fehlerausbreitung bei Software- und<br />

Hardware/Softwaresystemen<br />

• Modelle und Techniken für Komposition von Gesamtfunktionen aus<br />

Einzelfunktionen<br />

• Modelle für (Schnittstellen-)Verhalten zur Unterstützung der<br />

Verteilung und Integration<br />

• Eigenschaftserhaltende Übergänge zwischen den Entwurfsebenen<br />

53


Komponentenbasierte Modellierung<br />

Bernhard Thalheim, Roland Kaschek<br />

54


Software-Entwicklung und Modellierung<br />

Brigitte Bartsch-Spörl<br />

Jürgen Ebert<br />

Martin Glinz<br />

Johannes Siedersleben<br />

Elmar Sinz<br />

Podiumsdiskussion<br />

Brigitte Bartsch-Spörl:<br />

Im Unterschied zur Programmierung ermöglicht Modellierung in der Gruppe<br />

diskutierbare, bewusste Entwurfsentscheidungen – und damit leichter<br />

erweiterbare und wartbare Systeme.<br />

Jürgen Ebert:<br />

• Abgrenzung Modellierungssprache – Programmiersprache macht keinen Sinn.<br />

• Integration verschiedener Sprachen als Herausforderung<br />

Martin Glinz:<br />

• Software-Entwicklung ist Modellierung<br />

• Modellierung allein nicht genug<br />

Johannes Siedersleben:<br />

• Bei größeren Projekten ist Modellierung unumgänglich.<br />

• Allerdings: Es gibt noch einen erheblichen Forschungsbedarf: insb. Komponentenentwurf<br />

und Offenheit gegenüber verschiedenen Modellierungsansätzen.<br />

Elmar Sinz:<br />

• Die Verwendung grafischer Sprachen in der Softwareentwicklung ist nicht<br />

gleichzusetzen mit Modellierung.<br />

• Softwareentwicklung ist mehr als Modellierung.<br />

55<br />

1


Thesen:<br />

- Modellierung passiert:<br />

Modellierung ist eine zwangsläufig notwendige Vorstufe für die<br />

Softwareentwicklung von nichttrivialer Funktionalität<br />

- Modellierung lohnt:<br />

Modellieren kostet Zeit und Geld – aber Nicht-Modellieren Nicht Modellieren kommt<br />

auf den Lebenszyklus der Software betrachtet noch viel teurer<br />

- Modellierung erzeugt Qualität:<br />

Modellierung ermöglicht in der Gruppe diskutierbare, bewusste<br />

Entwurfsentscheidungen – und damit leichter erweiterbare und<br />

wartbare Systeme<br />

56


Software-Entwicklung und<br />

Modellierung<br />

Podiumsdiskussion, Modellierung 2005<br />

Martin Glinz<br />

www.ifi.unizh.ch/req<br />

Universität Zürich<br />

Institut für Informatik<br />

Software-Entwicklung ist Modellierung<br />

Software ist vielfach (immer?) selbst ein Modell<br />

Anforderungen sind Modelle der Problemstellung<br />

Architekturen und Entwürfe sind Modelle der Lösung<br />

Testvorschriften sind Modelle des korrekten Funktionierens des Codes<br />

usw.<br />

„Die Artefakte der Software-Entwicklung sind Modelle“ (Jürgen Ebert)<br />

Aber: die Umkehrung gilt nicht, auch nicht in der Informatik!<br />

Software-Entwicklung und Modellierung © 2005 by Martin Glinz 2<br />

57


Schön, und was haben wir nun davon?<br />

Modellierung liefert<br />

ein grundlegendes Verständnis der Natur von Software-Artefakten<br />

eine Reihe grundlegender Sprachen und Methoden zur<br />

Problembeschreibung und -analyse<br />

grundlegendes Problemlösungswissen<br />

konzeptionelle Grundlagen für den Bau von Software-Werkzeugen<br />

Modellierung liefert nicht<br />

das notwendige domänenspezifische Wissen<br />

das notwendige Informatik-Fachwissen<br />

das notwendige Prozesswissen (Arbeitstechniken und Verfahren)<br />

das notwendige Führungswissen<br />

Software-Entwicklung und Modellierung © 2005 by Martin Glinz 3<br />

58


Modellierung<br />

und Softwaretechnik<br />

Jürgen Ebert<br />

Universität Koblenz-Landau<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Podiumsbeitrag<br />

hier:<br />

konservative,<br />

sprach-orientierte,<br />

nicht philosophische<br />

Sicht der Softwaretechnik<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

25.04.2005<br />

Jürgen Ebert<br />

25.04.2005<br />

1<br />

59


Aspekte der Softwaretechnik<br />

Aspekte der Softwaretechnik<br />

• Prozesse<br />

(erfassen Umgang mit Artefakten)<br />

• Sprachen<br />

(beschreiben Artefakte)<br />

• Methoden<br />

(erstellen oder analysieren Artefakte)<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Sprachen<br />

Zur Zeit haben wir eine Vielfalt von<br />

Sprachen im Entwicklungsprozess<br />

• informell – formal<br />

• visuell – textuell<br />

Probleme:<br />

• Sprachspezifikation<br />

• Sprachintegration<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Jürgen Ebert<br />

25.04.2005<br />

Jürgen Ebert<br />

25.04.2005<br />

2<br />

3<br />

60


Sprachspezifikation<br />

Für alle Sprachen muss der fassbare<br />

formalisierbare Anteil auch formalisiert<br />

werden.<br />

Eine Sprache kann mehrere Semantiken<br />

haben (Notenschlüsselmetapher).<br />

Beispiel: extensional, intensional<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Sprachintegration<br />

Ziel:<br />

• eine Breitbandsprache<br />

• visuell und textuell<br />

• multiperspektivisch<br />

• integriert<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Jürgen Ebert<br />

25.04.2005<br />

Jürgen Ebert<br />

25.04.2005<br />

4<br />

5<br />

61


Zusammenfassung<br />

Abgrenzung Modellierungssprache –<br />

Programmiersprache macht keinen Sinn.<br />

• Manche Artefakte modellieren Teile der<br />

Domäne (Rekonstruktion),<br />

• Andere modellieren Ausführungsprozesse<br />

(Konstruktion).<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Herausforderungen<br />

Jürgen Ebert<br />

25.04.2005<br />

Neue Systemparadigmen (post-OO)<br />

erfordern neue Sprachen und damit neue<br />

Modellparadigmen.<br />

Beispiele<br />

•Komponenten<br />

•Aspekte<br />

•Agenten<br />

•Services<br />

•u.v.a.m.<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Jürgen Ebert<br />

25.04.2005<br />

6<br />

7<br />

62


Herausforderungen<br />

• Verstehen der Sprachen, die wir haben.<br />

• Suchen und Erfinden anderer Sprachen.<br />

• Integration verschiedener Sprachen<br />

• Transformation von Artefakten innerhalb<br />

und zwischen Sprachen<br />

© Institut für Softwaretechnik<br />

Universität Koblenz-Landau<br />

Jürgen Ebert<br />

25.04.2005<br />

8<br />

63


Thesen<br />

Workshop Modellierung 2005<br />

Heidelberg 16.-18. März 2005<br />

Analogie zwischen<br />

Softwareentwicklung und Modellierung?<br />

Prof. Dr. Elmar J. Sinz<br />

Lehrstuhl für Wirtschaftsinformatik,<br />

insbes. Systementwicklung und Datenbankanwendung<br />

Otto-Friedrich-Universität Bamberg<br />

Modellierung versus Systementwicklung<br />

1. Systementwicklung im Allgemeinen und Softwareentwicklung im<br />

Speziellen sind mehr als Modellierung.<br />

2. Modelle (und Modellierung) gehören zu den wichtigsten methodischen<br />

Hilfsmitteln der Systementwicklung.<br />

3. Die Anhebung von Spezifikationsebenen und die Verwendung grafischer<br />

Sprachen in der Softwareentwicklung ist nicht gleichzusetzen mit<br />

Modellierung.<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

64


Modelle und Modelleigenschaften<br />

Abbildorientierter Modellbegriff<br />

Modell M=(S O , S M , f)<br />

Objektsystem<br />

S O<br />

Modellabbildung f<br />

Modell M<br />

Metamodell<br />

Modellsystem<br />

S M<br />

Anforderungen an das Modellsystem:<br />

• Das Modellsystem muss formal konsistent und vollständig in<br />

Bezug auf das Metamodell sein.<br />

• Das Modellsystem muss struktur- und verhaltenstreu in Bezug<br />

auf das Objektsystem sein. Dies wird durch die Verwendung<br />

homomorpher und isomorpher Modellabbildungen erreicht.<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

Modelle und Modelleigenschaften<br />

Konstruktivistisches Modellierungsverständnis<br />

Klärung der Rolle des modellierenden Subjekts im Rahmen der<br />

Modellbildung<br />

Objektsystem<br />

S O<br />

Realität<br />

Kontext<br />

Perzeption<br />

Modellabbildung<br />

Interpretation<br />

Subjekt<br />

Modellziele<br />

Modellsystem<br />

S M<br />

Konstruktion<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

65


Aufgabenebene<br />

Aufgabenträgerebene<br />

Anwendungssysteme als maschinelle Aufgabenträger<br />

Aufgaben- und Aufgabenträgerebene des IS<br />

Betriebliches Informationssystem (IS)<br />

(Teil-) Aufgabe<br />

nicht-automatisiert<br />

Mensch-Computer-<br />

Kommunikation Anwendungssystem<br />

(AwS)<br />

Personeller<br />

Aufgabenträger<br />

(Teil-) Aufgabe<br />

teilautomatisiert<br />

Info-Bez.<br />

(Teil-) Aufgabe<br />

automatisiert<br />

Maschineller<br />

Aufgabenträger<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

Modell der Systementwicklungsaufgabe<br />

Betriebliche Aufgabe<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

Sachziel Formalziel<br />

Vorereignis<br />

Lösungsverfahren<br />

Nachereignis<br />

Aufgabenobjekt<br />

Ein Aufgabenträger (personell oder<br />

maschinell) stellt ein Lösungsverfahren<br />

für eine (nicht-automatisierte<br />

oder automatisierte) betriebliche<br />

Aufgabe bereit und führt dieses durch.<br />

Methodische Grundlagen der Systementwicklung<br />

Systementwicklungsaufgabe<br />

Sachziel Formalziel<br />

Vorereignis<br />

Lösungsverfahren<br />

Nachereignis<br />

Aufgabenobjekt<br />

• Sachziel:<br />

Entwicklung eines Softwaresystems, welches<br />

vorgegebene (inhaltliche und qualitative)<br />

Anforderungen erfüllt.<br />

• Formalziel:<br />

Zeit-, Kosten- und Qualitätsziele für die<br />

Durchführung der Aufgabe.<br />

• Aufgabenobjekt:<br />

Zu entwickelndes Produkt in Form von Modellen<br />

und Spezifikationen des zu konstruierenden<br />

Softwaresystems.<br />

• Vorereignis:<br />

Auslösung der Aufgabendurchführung in Form<br />

der Initiierung des Systementwicklungsprojekts.<br />

• Nachereignis:<br />

Vorliegen des eingeführten, betriebsbereiten und<br />

abgenommenen Softwaresystems.<br />

• Lösungsverfahren:<br />

Phasenorientierte Durchführung von<br />

Entwicklungsschritten.<br />

66


Fachliche Ebenen<br />

Softwaretechnische Ebenen<br />

Methodische Grundlagen der Systementwicklung<br />

Beschreibungsebenen und zugehörige Aktivitäten<br />

Modell des betrieblichen<br />

Objektsystems<br />

Anwendungsmodell<br />

Softwarearchitektur<br />

Programme<br />

Bitte klicken sie auf die<br />

Folie, um die Animation<br />

zu starten<br />

Beschreibungsebene Inhalt<br />

Aktivität<br />

Fachliches Modell der<br />

betrieblichen Diskurswelt<br />

und ihrer relevanten<br />

Umwelt.<br />

Fachliches Modell des<br />

betrieblichen<br />

Anwendungssystems.<br />

Spezifikation der<br />

Softwarearchitektur des<br />

betrieblichen<br />

Anwendungssystems.<br />

Spezifikation der<br />

Programme (Quellcode)<br />

des betrieblichen<br />

Anwendungssystems.<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

Modellierung versus Systementwicklung<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

Analysieren und<br />

Definieren der fachlichen<br />

Anforderungen an das<br />

Anwendungssystem.<br />

Phase Anforderungsanalyse<br />

und –definition (A)<br />

Entwerfen der Struktur der<br />

Software („Programmieren<br />

im Großen“).<br />

Phase Softwaredesign (D)<br />

Programmieren, d.h.<br />

Codieren der Programme<br />

(„Programmieren im<br />

Kleinen“).<br />

Phase Realisierung (R)<br />

Diskussion<br />

1. Modellierung im Sinne des abbildorientierten Modellbegriffs bezieht sich<br />

auf Modelle als 3-Tupel M=(So , Sm , f).<br />

Unterscheidung zwischen Modell und (semi-) formaler<br />

Spezifikationen eines Systems in einer (grafischen) Notation.<br />

2. Modellierung im Sinne des konstruktivistischen Modellierungsverständnisses<br />

bezieht sich auf Modelle, bei denen das Objektsystem S o<br />

ein Ausschnitt der betrieblichen Realität ist.<br />

3. Modelle mit realem Objektsystem S o treten in der Systementwicklung<br />

insbesondere in Form des Modells des betrieblichen Objektsystems und<br />

des Anwendungsmodells auf.<br />

4. Modelle mit (semi-) formalem Objektsystem So werden insbesondere<br />

auf der softwaretechnischen Ebene der Systementwicklung verwendet.<br />

Aber: Eine (semi-) formale Spezifikationen eines Systems ist<br />

nicht notwendig ein Bestandteil eines Modells.<br />

67


Thesen<br />

Modellierung versus Systementwicklung<br />

1. Systementwicklung im Allgemeinen und Softwareentwicklung im<br />

Speziellen sind mehr als Modellierung.<br />

2. Modelle (und Modellierung) gehören zu den wichtigsten methodischen<br />

Hilfsmitteln der Systementwicklung.<br />

3. Die Anhebung von Spezifikationsebenen und die Verwendung grafischer<br />

Sprachen in der Softwareentwicklung ist nicht gleichzusetzen mit<br />

Modellierung.<br />

Prof. Dr. E. J. Sinz, Universität Bamberg<br />

68

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!