Tagungsbericht PDF, 2.4 MB
Tagungsbericht PDF, 2.4 MB
Tagungsbericht PDF, 2.4 MB
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