Eingebettete Systeme Qualität und Produktivität

Slides:



Advertisements
Ähnliche Präsentationen
Hörsaalübung: Einfacher GPS-Receiver
Advertisements

Submodell Softwareentwicklung (SE)
PC II für Biochemiker Eberhard-Karls-Universität Tübingen, Institut für Physikalische und Theoretische Chemie, Prof. Dr. J. Enderlein,
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Prof. Dr. Holger Schlingloff
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Qualitätssicherung von Software (SWQS)
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Galileo Die Visualisierungssoftware für XVH und XVC
Finale Semantik und beobachtbares Verhalten
OOAD, Prof. Dr. Ralf Hahn, Prof. Dr. Wolfgang Weber, SS2009, h_da, Fachbereich Informatik 1 Hörsaalübung: Einfacher GPS-Receiver Zeichnen Sie ein Zustandsdiagramm.
Eingebettete Systeme Qualität und Produktivität
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Qualitätssicherung von Software
Modellbasierte Software-Entwicklung eingebetteter Systeme
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Management großer Softwareprojekte - Auswertung der Fragebögen - Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer.
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Eingebettete Systeme Qualität und Produktivität
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Management großer Softwareprojekte Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer Institut für Rechnerarchitektur.
Prof. Dr. Holger Schlingloff
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE 3.1-4V - Modell Überblick V-Modell Regelungen, die die Gesamtheit aller Aktivitäten,
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Access 2000 Datenbanken.
Theorie soziotechnischer Systeme – 12 Thomas Herrmann Informatik und Gesellschaft FB Informatik Universität Dortmund iundg.cs.uni-dortmund.de.
Von Molekülen zu Systemen
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
Folie 1 Kapitel II. Vom Raumbegriff zu algebraischen Strukturen Neubeginn: Herleitung des Begriffs Vektorraum aus intuitiven Vorstellungen über den Raumbegriff.
Variationsformalismus für das freie Teilchen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering1 Zentralübung Automotive Software Engineering – Übungsblatt 3 Sascha Schwind.
Planung Planung Planung Planung Prof. Dr. Bernd Schmidt Planung
Effiziente Algorithmen
Inhalt der Kurzvorstellung
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Effiziente Algorithmen
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
UML-Kurzüberblick Peter Brusten.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 5 Dr. W. Narzt u. Dr. A. Stritzinger.
7.3.1 Ein Modellierungsbeispiel (1|9)
Zustandsübergangsdiagramme (1)
Berechenbares Chaos - unvorhersehbare Wirklichkeit
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Cyberspeed Web SolutionsCyberspeed Web Solutions © 2005© 2005 Christof Barth Thomas Müllegger MIRO 1.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Modellbasierte Software-Entwicklung eingebetteter Systeme
 Präsentation transkript:

Eingebettete Systeme Qualität und Produktivität Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 19.5.2009

War wir bislang hatten Einführungsbeispiel (Mars Polar Lander) Automotive Software Engineering Domänen-Engineering Modellbasierte Entwicklung Anforderungsdefinition und -artefakte Lastenheft TSG Ziele und Szenarien Strategien Modellierung physikalische Modellierung Anwendungs- und Verhaltensmodellierung Berechnungsmodelle 19.5.2009

physikalische Modellierung 1. Identifikation der relevanten Umgebungsgrößen 2. Repräsentation durch mathematische Variablen 3. Eigenschaften / Relationen der Variablen festlegen die relevanten Variablen sind im Allgemeinen zeitabhängig  Funktionen über der Zeit! Zustand: Wert aller Funktionen zu einem gegebenen Zeitpunkt Trajektorie: Veränderung des Zustandes in der Zeit Festlegung: überwachte und geregelte Variablen („monitorierte“ und „kontrollierte“ Größen) 19.5.2009

Beispiel Sitzkontrolle im TSG Bewegung des Sitzes in einer Achse soll über einen Sitztaster mit drei Tasterstellungen gesteuert werden in einer Achse soll über einen Sitztaster mit drei Tasterstellungen gesteuert werden wird der Taster betätigt, soll der Sitz in die entsprechende Richtung bewegt werden; bei Erreichen der jeweiligen Endposition soll die Bewegung unterbrochen werden eine weitere Bewegung in diese Richtung soll erst wieder möglich sein, nachdem der Sitz per Taster in die entgegen gesetzte Richtung zurückgefahren wurde Modellierung Taster: {vorwärts, losgelassen, rückwärts} Sitzmotor: {enger, aus, weiter} Positionssensor: {minimum, normal, maximum} Fahrer, Sitz Steuerung 19.5.2009

UML Zustandsdiagramme parallele, hierarchische Automaten mit gemeinsamen Variablen synchrone Kommunikation über Ereignisse Transitionsbeschriftungen: (Ereignis, Bedingung, Aktion) s´ s event [condition] / reaction 19.5.2009

19.5.2009

Physikalisches Umgebungsmodell Benutzer kann Taster vorwärts oder rückwärts betätigen (ev_vor, ev_rueck) Taster loslassen (ev_los) Sitz wenn der Sitz „genügend lange“ enger gestellt wird, erreicht er irgendwann die Minimalposition wenn der Sitz „genügend lange“ weiter gestellt wird, erreicht er irgendwann die Maximalposition Sitzposition ist Funktion von Zeit und Motor in reelle Werte mit Zustandsdiagrammen nur unzureichend modellierbar! (nichtdeterministischer Übergang oder globale Variable) 19.5.2009

Modell der Steuerung (später!) überwacht: ev_t_vor, ev_t_rueck, ev_t_los; ev_p_min, ev_p_max gesteuert: ev_weiter, ev_enger, ev_stop; 19.5.2009

Beispiel Füllstandsregelung Füllstandsanzeiger Zulauf Ablauf max min Variable Typ Beschreibung Wertebereich Einheit Bemerkung f m Füllstand 0-100 mm   z c Zulauf 0-1 prozentuale Öffnung a Ablauf nicht zugänglich min konstant Minimalfüllstand 86 max Maximalfüllstand 95 informelle Anforderungen: Wenn f < min, Zulauf einschalten Wenn f > max, Zulauf ausschalten Stellvertretend für Heizungsthermostat, Batterieladegerät, Dämmerungslicht, … 19.5.2009

Festlegung in Systemspezifikation Randbedingungen von der Natur oder vom Auftraggeber vorgegeben z.B. physikalische Beschränkungen z.B. Altsysteme, zu beachtende Restriktionen etc. Verantwortlichkeit des Auftraggebers! Steuerfunktionalität Abbildung von überwachten in gesteuerte Größen i.A. mehrdeutig, relational; Definitionsbereich von Randbedingungen eingeschränkt, Wertebereich gibt zulässige Trajektorien an Verantwortlichkeit des Systemingenieurs 19.5.2009

im Beispiel Randbedingungen Steuerfunktionalität 0  f(t)  h Füllstandsanzeiger Zulauf Ablauf max min im Beispiel Randbedingungen 0  f(t)  h 0 < f(t) < h  f´(t)= k1*z(t) – k2*a(t) Steuerfunktionalität als Klauseln f(t)  min  z(t) = 1 f(t)  max  z(t) = 0 als partielle Funktion  1 falls f(t)  min z(t) =  0 falls f(t)  max  undef sonst als Abbildung C ={(f(t), z(t)) | (f(t)  min  z(t) = 1)  (f(t)  max  z(t) = 0)} 19.5.2009

Trajektorienbereiche intendierte, erlaubte und verboten 19.5.2009

Füllstandsanzeiger Zulauf Ablauf max min im Beispiel Zulauf sei kontinuierlich regelbar (0  z(t)  1); der Füllstand sollte möglichst nahe an max gehalten werden intendiertes Verhalten: je näher der Füllstand bei max ist, desto mehr wird der Zulauf geschlossen erlaubtes Verhalten: voller Zulauf bis max erreicht wird, dann zu (ruiniert auf Dauer das Ventil) verboten: max wird irgendwann überschritten und Ventil ist auf 19.5.2009

Parnas‘ 4-Variablen-Modell Die Systemspezifikation darf nur die nach außen sichtbaren Größen (überwachte und gesteuerte Variablen) verwenden! interne Variablen der Regelung versteckt, interne Zustände nicht sichtbar Implementierungsfreiheit 19.5.2009

Modi Wdh.: Zustand = Wert aller relevanten Variablen zu einem gegebenen Zeitpunkt Zustand der Umgebung ist für das System (nur) durch überwachte Variablen gegeben Systemzustand setzt sich aus überwachten, gesteuerten und internen Variablen zusammen Ein Realzeitsystem (Zeit ist überwachte Größe) kehrt niemals in den selben Zustand zurück Modus (engl.: mode) Menge von „äquivalenten“ Zuständen Modalpartitionierung (mode class) Partitionierung der Menge der Zustände in Modi 19.5.2009

diskrete Modellierung statt Zustandsübergängen betrachten wir Übergänge von einem Modus in einen anderen Im Beispiel Umgebungszustand=Füllhöhe f(t) Modalpartitionierung={A:f(t)min, B:min<f(t)<max, C:f(t)max} mögliche Moduswechsel: AB, BC, CB, BA A B C 19.5.2009

propositionale Modellierung In jedem Modus können gewisse Konditionen (engl. Condition: Aussage, Proposition) zutreffen oder auch nicht Def. Kondition (condition): boolesche Funktion über der Zeit, die mit Hilfe von Umgebungsvariablen definiert ist Beispiel: voll(t) = f(t)max, leer(t) = f(t)min Def. Ereignis (event): Umschalten einer oder mehrerer Konditionen , : Schalten auf wahr bzw. auf falsch Beispiel: voll(7): max wird zum Zeitpunkt 7 erreicht Steuerfunktionalität als temporale Formeln leer  z voll  z 19.5.2009

Ablaufbeschreibung Def. Historie: Folge von Ereignissen Für jeden konkreten Systemablauf gibt es genau eine Historie endliche Variabilität: In jedem endlichen Zeitabschnitt passieren nur endlich viele Ereignisse (non-Zeno-Eigenschaft) Der Modus eines Systems wird durch den Anfangszustand und die Historie eindeutig bestimmt Beispiel: voll(7), voll(9), leer(13), leer(16) Überprüfung solcher Abläufe und Vergleich mit der vorgegebenen Soll-Funktionalität 19.5.2009

Benutzungs- und Umgebungsmodell Ereignisse werden durch (menschliche) Benutzer oder (natürliche) Umgebung ausgelöst Benutzer drückt Aus-Knopf Widerstandssensor zeigt „Maximalwert“ Verschiedene Arten der Modellierung Benutzungsmodell Anwendungsfalldiagramme („Use Cases“) UML Notation zur Beschreibung von Nutzungsverhalten, spezifiziert (Namen von) Akteure und Aktionen sowie deren Aufrufbeziehung Ablauf der Aktionen wird schablonenartig anhand konkreter Szenarien beschrieben (textuell oder mit Sequenz- oder Aktivitätsdiagrammen) Aktionen ≈ Events ≈ Methodenaufrufe Umgebungsmodell verschiedene „Berechnungsmodelle“ 19.5.2009

Marwedel‘s Models of Computation http://ptolemy.berkeley.edu/ 19.5.2009

Your Toy Modelling Language? 19.5.2009