INFORMATIK CONSULTING SYSTEMS AG



Ähnliche Dokumente
Einsatz automatischer Testdatengenerierung im modellbasierten Test

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

INFORMATIK CONSULTING SYSTEMS AG. Firmenprofil ICS AG. Automotive Industrial Solutions Transportation Aerospace & Defence

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Vom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung

T1 - Fundamentaler Testprozess

Requirements-basiertes Testen am Beispiel des NI Requirements Gateways

16.4 Wiederverwendung von COTS-Produkten

T2 Fundamentaler Testprozess

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Functional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Modellbasierte Softwareentwicklung

A Domain Specific Language for Project Execution Models

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

INNOVATOR im Entwicklungsprozess

Neue Funktionen in Innovator 11 R5

Vortrag von: Ilias Agorakis & Robert Roginer

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

Entwurf. Anwendungsbeginn E DIN EN (VDE ): Anwendungsbeginn dieser Norm ist...

WI EDI Solution. Stand

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

intence automotive electronics Ausführbare Spezifikation Der Weg zu besseren Anforderungen

ITIL und Entwicklungsmodelle: Die zwei Kulturen

Seamless Model-based Engineering of a Reactive System

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Rhapsody in J Modellierung von Echtzeitsystemen

Qualitätsmanagement im Projekt

Funktionale Sicherheit in Automotive und Luftfahrt (ISO26262 und DO 178BC) Otto Alber, Peter Wittmann

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh.

Comparing Software Factories and Software Product Lines

Requirements-Management Ein praktisches Beispiel

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

your engineering partner boost your development

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Grundlagen Software Engineering

Softwaretechnik. Fomuso Ekellem WS 2011/12

VBA-Programmierung: Zusammenfassung

Anbindung LMS an Siemens S7. Information

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

Some Software Engineering Principles

Vergleich von klassischer und agiler Entwicklungsmethodik anhand der Entwicklung eines in Statemate simulierbaren Modells eines Türsteuergeräts

Entwicklungsprozesse und -werkzeuge

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Produktinformation DaVinci Developer

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Fachtagung Safety in Transportation Leitfaden für die IT Sicherheit auf Grundlage IEC 62443

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig,

dspace (1/3) dspace: Gegründet 1988 in Paderborn Mitarbeiter: Über 650 Mitarbeiter weltweit, davon über 70 % Ingenieure Ständiges Mitarbeiterwachstum

Automatische Testfallgenerierung aus Modellen. 8. Neu-Ulmer Test-Engineering-Day Martin Miethe

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.


SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Requirements Engineering I

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Modes And Effect Analysis)

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Festpreisprojekte in Time und in Budget

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge

NCDiff Testmanagement leicht gemacht

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Software-Evolution im Staged Lifecycle Model

3.2,,Eichung von Function Points (Berichtigte Angabe)

Robot Karol für Delphi

Elektronische Zustellung WKO / AustriaPro. Status Arbeitspakete PL.O.T

Integrative Entwicklungsprozesse am Beispiel einer automotiven Anwendung

Workflow Systeme mit der Windows Workflow Foundation

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Vorhersagemodell für die Verfügbarkeit von IT-Services

Ontologiebasierte Entwicklung von Anforderungsspezifikationen im Automotive-Umfeld Mathias Schraps,

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Einführung in Generatives Programmieren. Bastian Molkenthin

Übungsklausur vom 7. Dez. 2007

Prozess-Modelle für die Softwareentwicklung

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Traceability-Modell als Erfolgsfaktor für Process Enactment. Paul-Roux Wentzel, SEE 2008

Softwareentwicklung für Weltraumanwendungen

CeBIT CARMAO GmbH

Referent: Mathias Notheis Kontakt:

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

... über OGVIT GmbH & Co. KG

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Abacus Formula Compiler (AFC)

Kapitel 2: Der Software-Entwicklungsprozess

Impulsvortrag auf der 22. TAV; 18. Februar 2005, Bremen Zuordnung von Anforderungen und Tests (Tracing)

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Requirements-Traceability in der industriellen Praxis Ziele und Einsatz

Transkript:

INFORMATIK CONSULTING SYSTEMS AG Modellbasierte Entwicklung und Test sicherheitskritischer Software mit SCADE und SYMTES am Beispiel eines sicheren digitalen Übertragungssystems im Bahnumfeld Bernd Holzmüller ICS AG Vortrag beim Braunschweiger Verkehrskolloquium am 7. Mai 2009

Agenda Kurzvorstellung ICS AG Modellbasierte Entwicklung mit SCADE Demo: Referenzfallstudie Bahnübergang Modellbasiertes Testen von Systemen mit SYMTES Projektvorstellung: Entwicklung eines digitalen Übertragungssystems 2

INFORMATIK CONSULTING SYSTEMS AG Kurzvorstellung ICS AG

Standorte Geschäftsstelle Braunschweig Salzdahlumer Straße 196 38126 Braunschweig Tel.: +49 531 26306-33 Fax: +49 531 28503-46 Geschäftsstelle Berlin Rother Straße 18 10245 Berlin Tel.: +49 30 20687-262 Fax: +49 30 20687-375 Hauptsitz Stuttgart Sonnenbergstraße 13 70184 Stuttgart Tel.: +49 711 21037-00 Fax: +49 711 21037-53 Geschäftsstelle Leipzig Marschnerstraße 3 04109 Leipzig Tel.: +49 341 98250-10 Fax: +49 341 98250-11 Geschäftsstelle Immenstaad Ziegelei 5 88090 Immenstad Tel.: +49 7545 94996-0 Fax: +49 7545 94996-29 Geschäftsstelle Ulm Sedanstraße 14 89077 Ulm Tel.: +49 731 93579-325 Fax: +49 731 93579-327 Geschäftsstelle München Lise-Meitner-Straße 1 38126 Unterschleißheim Tel.: +49 89 203504-70 Fax: +49 89 203504-69 4

Philosophie Partner für den gesamten Produkt Life Cycle Vordenken Machbarkeitsstudien, Evaluierungen Beraten Technologien Methoden Werkzeuge Standards Prozesse Umsetzen Systems und Safety Engineering Produkt Design und Entwicklung Kapazitäts- und Kompetenzergänzung Test und Validierung RAM und Safety Management Assessment System Test System Test System Test System Test System Test System Test System Test System Test System Test Betreuen Maintenance von Software und Systemen 5

Aerospace & Defence Competence Centers Systems Engineering Software Architecture Software Engineering Verification & Validation Operation Support Systems Bodenstationen Betriebs-Überwachungssysteme Simulatorsysteme Führungs- und Führungseinsatzsysteme digitale Kartensysteme Auswertesysteme Flugsicherungssysteme Onboard Systems Missionsplanungs- und Managementsysteme Aufklärungssysteme Selbstschutzsysteme Steuerungssysteme Radarsysteme 6

Industrial Solutions Competence Centers Fertigungslogistik Infrastructure ERP Supply-Chain-Management Beschaffungslogistik Produktionslogistik Lagerlogistik Containermanagement Zollabwicklung IT-Infrastruktur Maintenance (Betriebsbereitschaft 7*24) mobile Datenfunksysteme ERP-Systeme Entwicklung und Integration von branchen- und kundenspezifischen Lösungen Definition und Implementierung von Systemschnittstellen 7

Transportation Competence Centers Applikationen: Leit- und Sicherungstechnik Schienenfahrzeugtechnik Engineering Systems Engineering Software Development Verification & Test Validation RAMS Assessment Systems & Safety Engineering Software Design und Development RAM und Safety Management RAMS und funktionale Sicherheit System- und Fehleranalysen (FMEA, FTA, HAZOP) Sicherheitsnachweise, Cross Acceptance Kunden- und Realisierungsprojekte (Customer Order Fulfillment) Verification & Validation Analytische Verifikation Testmanagement und -processing Testautomatisierung, Test-Tools Soft- und Hardware-Validierung Assessment Systembegutachtung Beratung und Unterstützung bei Zulassungsfragen Schnittstelle zur Zulassungsbehörde 8

Methods-Processes-Tools (MPT) Werkzeuge und Methoden: Tool-Evaluierung (Anwendbarkeit, Performance) Software Engineering (z. B. Modellbasierte Entwicklung) Statische Codeanalysen Simulation & Test (z.b. anforderungsbasiertes Testen, Testautomatisierung) Prozesse: Prozessentwicklung von Teilprozess- und Gesamtprozess für softwareintensive und sicherheitskritische Systeme (IEC 61508, EN 50126, CD 26262, Do 128B) Prozesseinführung und -optimierung Schwachstellenanalyse nach SPICE, CMMI, ISO 9001 Entwicklung von Aktionsplänen Projektmanagement: Projektplanung, -steuerung und -fortschrittskontrolle Aufwandsabschätzungen Risikomanagement Auswertungen und Reports Tooleinsatz wie MS-Project, Primavera Coaching der Stakeholder 9

INFORMATIK CONSULTING SYSTEMS AG Modellbasierte Entwicklung mit SCADE

SCADE Suite Kommerzielles modellbasierters Werkzeug Ursprung: Luftfahrt (Airbus) Seit 2001 durch die frz. Fa. Esterel Technologies weiterentwickelt und vertrieben Basisnotation: synchrone Datenflusssprache Lustre formal definiert streng typisiert Logischer Zeitbegriff ("tick") Variablen = Sequenzen von Werten (Funktion der Zeit) Datenflussgleichungen definieren Abhängigkeiten zwischen Variablen (auch rekursiv) nat: int; nat = 1 -> (pre(nat) + 1); deterministische Semantik 11

SCADE Zyklisches Ausführungsmodell loop Wait clock/event Read sensors Compute outputs Write actuators end loop 12

SCADE Suite Grafischer Editor Datenmodellierung (Strukturen, Arrays, Aufzählungstypen) Datenfluss- (Block-) Diagramme Safe State Machines (Harel State Machines mit Einschränkungen) Seit Version 6 sind beide grafische Notationen homogen integriert Codegenerator erzeugt aus SCADE-Modell effizienten und portablen C-Code erzeugte C-Funktionen flexibel einsetzbar (mit / ohne Betriebssystem, zeit-/ereignisgetrieben) qualifiziert / zertifiziert gemäß DO-178B / IEC 61508 / EN50128, jeweils höchste Sicherheitsstufe Modellsimulation Model Test Coverage (MTC) Design Verifier Formaler Nachweis von (Sicherheits-) Aussagen im Modell Plugin der Fa. Prover Technologies Statische WCET-Analyse Plugin der Fa. AbsInt 13

14 Implementierung mit SCADE

V-Modell nach EN 50128 Systemanforderungen Systemvalidierung Moduldesign Systemintegration Softwarevalidierung Integrationstest (+HW) Implementierung Softwareanforderungen Softwarearchitektur Modul tests Sys temarchitektur 15

Entwicklungsprozess mit SCADE Systemanforderungen Systemvalidierung Systemintegration Systemarchitektur Softwareanforderungen Correct-by-construction Modellvalidierung SCADE Design Verifier Modelltests SCADE Model Test Coverage SCADE Editor Softwarearchitektur Modelldesign Coding SCADE Qualified Code Generator 16

Einsparpotenziale bei Verwendung von SCADE (1) Einsparungen bei Verifikationsaktivitäten verschiedene Abstraktionsebenen (Designstufen, Code) stimmen stets überein (Schnittstellenkonformität, durch Werkzeug erzwungen) vor allem auch nach Änderungen! Design enthält in sich keine Widersprüche (vgl. Design mit UML oder Text!) formale Notation (eindeutige Semantik) Designdokumentation und Design stimmen stets überein Einsatz des Design Verifiers (z.b. für Sicherheitseigenschaften) erspart u.u. erhebliche Testaufwände soweit durch vorgegebene Normen unterstützt frühe Verifizierung durch Simulation ("Entwicklertests") Keine Modultests nötig ("low level testing activities") SCADE-Modelltests setzen auf dem gesamten Modell auf (Stimulation des Modells durch Eingaben in den Hauptknoten) Testen von Knoten der unter(st)en Ebene nur als Entwicklertests Kein aufwändiges Stubbing nötig (SCADE-Knoten viel leichter isolierbar und einzeln testbar) 17

Einsparpotenziale bei Verwendung von SCADE (2) Einsparungen bei Dokumentation Weitgehende Generierung von Designdokumenten aus annotiertem Designmodell Einfacher Nachweis der Traceability (Design -> Code) Einsparungen bei Codierung von nebenläufigem Verhalten Keine Aufwände für Synchronisierung Keine Probleme mit "race conditions", Nichtdeterminismus, Verhungern von Threads 18

INFORMATIK CONSULTING SYSTEMS AG Referenzfallstudie Bahnübergang

Referenzfallstudie Bahnübergang L. Jansen, E. Schnieder: Referenzfallstudie Verkehrsleittechnik: funkbasierte Bahnübergangssteuerung. Juli 2000 erstellt innerhalb des DFG-Schwerpunktprogramms "Integration von Techniken der SW- Spezifikation für ingenieurwissenschaftliche Anwendungen" basiert z.t. auf Lastenheft des funkbasierten Betriebsverfahrens FFB Kernfunktionen dezentrale Steuerung eines Bahnübergangs bei eingleisiger Eisenbahnstrecke Kommunikation über Mobilfunk (mit möglichen Latenzen und Nachrichtenverlust) Sicherung des BÜs durch Halbschranken und Lichtzeichen (gelb und rot) Überwachung einer maximal zulässigen Sperrzeit 20

Referenzfallstudie Bahnübergang Komponenten Zug mit Fahrzeugsteuerung Eigenortung Streckenatlas mit Positionen von Gefahrenpunkten Geschwindigkeitsüberwachung mit Bremskurve Bahnübergang mit Bahnübergangssicherungsanlage (BSA) Lichtzeichen (gelb und rot) Halbschranken Fahrzeugsensor Betriebszentrale 21

Referenzfallstudie Bahnübergang Reguläre Funktionsweise (Regelszenario) 1. Zug sendet Einschaltbefehl an BSA, BSA quittiert Empfang 2. BSA sichert BÜ (t=0: gelb, t=3s: rot, t=9s: Schranken schließen, t=15s: geschlossen) 3. Zug sendet Statusabfrage an BSA, BSA sendet Zustandsmeldung 4. Auslösung des Fahrzeugsensors hinter dem BÜ => Schranken öffnen, Lichtzeichen aus zu betrachtende Störungen Ausfall der gelben oder roten Lichtzeichen Ausfall der Halbschranken Ausfall des Fahrzeugsensors Verzögerung oder Verlust von Funktelegrammen 22

Modellierung mit SCADE SCADE-Modell Modellierung der Funktionalität durch Datenflüsse und Zustandsautomaten Simulation in SCADE-Umgebung möglich Generierung von effizientem C-Code durch SCADE-Codegenerator Modell-Ansteuerung kleiner C-Wrapper zum Aufruf des Modells und TCP-Verbindung zur Steuerung a) Steuerung durch GUI (mit oder ohne gleichzeitiger SCADE-Simulation) b) Steuerung durch Testszenario (z.b. mit Testwerkzeug SYMTES) BÜ-Modell (C) SCADE- Compiler Funktionsaufruf Wrapper (C) Status TCP-Verbindung Kommando GUI / Testszenario 23

24 Erzeugtes Code-Fragment

INFORMATIK CONSULTING SYSTEMS AG Praxisdemo Bild: [Frey2008]

INFORMATIK CONSULTING SYSTEMS AG Modellbasiertes Testen von Systemen mit SYMTES

Über SYMTES Produkt der ICS AG Start Entwicklung: 2000 SYMTES = SYstem-Modellierung und -TESt Modellierung, Simulation, Test Vollständig automatische Durchführung und Auswertung von Tests Simulation und Test von Basis verteilten, heterogenen Systemen / Systemkomponenten mit nachrichtenbasierter Kommunikation Anwendungsunabhängige Modellierungssprache SSL SSL-Compiler und Laufzeitsystem Diverse Hilfsmittel (Konverter, Editorunterstützung, Scenario Manager) 27

Motivation Besonderheiten verteilter Systeme Mehrere nebenläufige Prozesse Zeitabhängiges Verhalten ( race conditions, deadlocks ) Synchrone / Asynchrone Kommunikation Nachrichtenübermittlung Adressierung innerhalb verschiedener Bussysteme Marshalling - Bitgenaue Darstellung komplexer Typen Endianness - Reihenfolge der Bits und Bytes Protokolle Link Layer Transport Layer Application Layer(s) Datensicherheit Erkennen unberechtigter Datenmanipulationen Korrektur von Datenverfälschungen 28

SYMTES: Einsatzszenarien (1) Simulation Ablauffähiges Modell mit wesentlichem Funktionsumfang Schnittstellenexploration Erkunden des Verhaltens einer Systemkomponente Interaktiv oder automatisiert Interaktive Simulation / Test Interaktives Eingreifen in Simulation oder Test durch Benutzer z.b. willkürliches Einstreuen von Verfälschungen Funktionale Tests Eine oder einige wenige logisch abhängige Abläufe Klar definierte Randbedingungen Robustheitstests funktionale Tests mit unzulässigen Werten 29

SYMTES: Einsatzszenarien (2) Performance-Tests Reaktion auf Stimuli in vorgeschriebener Zeit Dauertests Wiederholter Test einzelner / weniger funktionaler Tests über einen längeren Zeitraum hinweg Lasttests Erzeugen von hoher Kommunikationslast Verteilte Testumgebung Rechner-HW unterstützt nicht alle Schnittstellen Ein Rechner kann Last nicht ausreichend produzieren Realitätsgetreue Verteilung (z.b. für Latenzzeiten) 30

SYMTES im V-Modell SRS Validation System Design System Test Software Requirements Subsystem Test Software Design Integration Test (Sub-) Systemtest Software Modul Design Modul Test Software Implementation 31

System Specification Language (SSL) Einordnung Streng typisierte Spezialsprache zur formalen Modellierung von Systemen und Systemteilen Fokus Simulation und Test Beschreibung der Struktur (Architektur) von Systemen Beschreibung reaktiver Verhaltensmuster Logisch asynchrone Kommunikation auf der Basis von Nachrichtenaustausch 32

System Specification Language (SSL) Grundbegriffe System Menge interagierender Objekte Objekt autonome, aktive logische Einheit Kommunikation zwischen Objekten über definierte Schnittstellen durch Nachrichtenaustausch Objekt1 Objekt3 Objekt2 Objekt4 33

System Specification Language (SSL) Beschreibung der Systemstruktur Verbindung logische Kommunikationsbeziehung zwischen zwei Objekten Protokoll (TCP, UDP, CAN, CORBA,...) Nachrichtentyp (Format auszutauschender Nachrichten) Ports (abhängig vom Protokoll) Angaben zur automatischen Verbindungssteuerung Distribution welche logischen Objekte sollen zu einem Prozess zusammengefasst werden? auf welcher Rechnereinheit soll dieser Prozess ausgeführt werden? 34

System Specification Language (SSL) Beschreibung des Systemverhaltens Definition des Verhaltens der Systemobjekte Alternativ als Sequenz von Aktionen > ablauffähiges Szenario extern > nicht simuliertes, reales Objekt operator > Objektverhalten interaktiv durch Benutzer (GUI) Beschreibungsmittel Zustände Ereignisse Empfang von Nachrichten (Musterbasiert) Änderung von Verbindungszuständen Zeitliche Ereignisse (Timeouts) Logische Verknüpfung Aktionen Versenden von Nachrichten Zustandswechsel Timer starten 35

SSL: Highlights Einfache, anwendungsnahe Syntax Leicht erlernbar Strenge Typisierung Eindeutige Datenbeschreibung, keine Mehrdeutigkeiten Umfangreiche Konsistenzprüfungen Offenbarung vieler Skriptfehler bereits durch den SSL-Compiler Systemstruktur (Statik) flexibel modellierbar Anwendungsnahe Datenmodellierung (Typdefinitionen in SSL) Einfache Beschreibung von Verbindungen zu externen Systemen einfache Anpassung an unterschiedlichste Kommunikationsprotokolle (TCP, CAN, Seriell, ) ohne Änderung der Verhaltensbeschreibung Import von Strukturbeschreibungen Definition verteilter Testumgebung / Simulation 36

SSL Beispiel Systemarchitektur type Code_T = {CONNECTREQ = 0x01, CONNECTACK = 0x81, } type Message = ( SeqNo: Byte, Code : Code_T, case Code of CONNECTREQ => ConnectReq_Data: (ISeq: Byte, ) CONNECTACK => ConnectAck_Data: ( ) ) connections CTR <-> IOC via: TCP type: Message distribute CTR on "localhost" IOC on "198.20.14.10" 37

SSL Beispiel Systemverhalten IOC CTR CONNECT(SeqNr) CONNACK(0, SeqNr) -- SSL scenario: successful connect sequence object IOC = extern -- Object under Test object CTR receive (SeqNumber@, CONNECTREQ, _) from IOC => send (0, CONNECTACK, (SeqNumber, )) to IOC 38

SSL Beispiel Testausführungs-Protokoll 11:40:14.972 ************************************************************ 11:40:14.972 Starting scenario "connect" on "localhost" (Windows_NT) for objects CTR 11:40:14.972 ************************************************************ 11:40:15.394 CTR: received (SeqNo => 123, Code => CONNECTREQ, ConnectReq_Data => (Station => 2, PID => 3, AID => 16, RID1 => 65, RID2 => 130, RID3 => 195))::Message from IOC 11:40:15.405 CTR: sending (SeqNo => 0, Code => CONNECTACK, ConnectAck_Data => (ISeq => 123, Err => 0, RID1 => 1, RID2 => 2, RID3 => 3))::Message to IOC 11:40:15.493 CTR: object terminating 11:40:15.520 ************************************************************ 11:40:15.520 08.06.2006: Stopping scenario "connect" 11:40:15.520 ************************************************************ 11:40:15.536 ************************************************************ 11:40:15.536 08.06.2006: Scenario "connect" on "localhost" terminated successfully 11:40:15.536 ************************************************************ 39

SYMTES: Infrastruktur SSL-Editor Szenario (SSL) Objekte (SSL) Bibliothek (SSL) Konfiguration (SSL) Rechner 1 SSL-Compiler Rechner n Szenario (Ada) Kernel Szenario (Ada) Ada-Compiler Szenario (Exe)... Ada-Compiler Szenario (Exe) Szenario (Log) Szenario (Log) 40

SYMTES: Komponenten System Specification Language Modellierungs- und Testsprache Runtime Kernel für Linux und Windows Standard-Adapter für Seriell (RS232), TCP, UDP, IP-Sniffing IO-Adapter Zusätzliche Adapter für CAN und Digital-IO Middleware-Adapter für CORBA Kundenspezifische Adapter Testmanager Scenario Manager für Testkampagnen Konverter SSL Import aus IDL, Ada SSL Export in UML und grafische Formate 41

SYMTES: Scenario Manager Organisation von Testkampagnen 42

SYMTES: Zusammenfassung Modellierung Ablauffähiges Modell / Simulation in sehr kurzer Zeit Schnittstellen Aktuell unterstützt: Seriell, TCP, UDP, CAN, IPM, CORBA, Digital-IO Automatische Serialisierung / Deserialisierung Leicht erweiterbar Protokollierung Automatisch, konfigurierbar, dynamisch anpassbar Generierter Code Effizient (Echtzeit-Verhalten, Stresstests) Portabel (getestet unter Windows, Linux) Anwendbarkeit Anwendungsunabhängig Nachrichtenbasierte Anwendungen mit klaren Schnittstellen zwischen Komponenten Spezifikation der funktionalen Tests in SSL auf der Basis der Anwenderforderungen Simulation / Systematischer Test von ganzen Systemen, Subsystemen oder einzelnen Systemkomponenten 43

INFORMATIK CONSULTING SYSTEMS AG Entwicklung eines sicheren digitalen Übertragungssystems

Projektdefinition Digitales Übertragungssystem zur Übertragung sicherheitsrelevanter Daten der Leit- und Sicherungstechnik (LST) gemäß Lastenheft DB Aufgaben ICS Erstellung Planungsdokumente gemäß EN 50128 Durchführung von RAMS-Aktivitäten Modellbasierte SW-Entwicklung (SCADE 5.1) auf Basis der vom Kunden gelieferten Spezifikationen SW / HW Integration Modellverifikation (MTC) Produkttest für das gesamte Produkt gegen die Systemanforderungen Validierung des Systems entsprechend der EN 50128 und EN 50129 Begutachtung der Software auf Basis der EN 50128 Zulassungsunterstützung für die Zulassung durch EBA 45

Einsatz von SCADE möglichst großen Anteil der Software mit SCADE entwickeln Nutzung des zertifizierten SCADE-Codegenerators Spart Kosten im SW Lifecycle ein, da die Verifikation bei einem zugelassenen Codegenerator auf Modellebene erfolgen kann und nicht auf Codeebene erfolgen muss Ausgerichtet auf die Entwicklung sicherheitskritischer Systeme Codebezogene Dokumentation und Prüfungen für Modell entfallen Beseitigung der größten Fehlerquelle (Coding) Design, Code und Dokumentation sind immer konsistent Schnelle Erstellung eines funktionsfähigen Modells Frühe Verifikation im Modell mit durchgängigem Werkzeug Keine offensichtlichen Risiken Ziele bezüglich SCADE-Einsatz Verkürzung der Entwicklungszeit Höhere Software-Qualität 46

Projektübersicht Zielsetzung: Softwareentwicklung für ein sicheres Übertragungssystem für Stellwerkssignale (SIL 4) Systemgrenzen z.b. Relais 8 8 8 8 Modem ISDN 0..30 km Modem 8 8 8 8 z.b. Relais Systemarchitektur 2 verbundene Einheiten (Duplexübertragung) Jede Einheit mit 1..4 redundanten Subsystemen 16 bit Mikrocontroller Software Functionality Sichere Übertragung zw. verbundenen Einheiten Sichere Übertragung zw. Subsystemen jeder Einheit und µcs jedes Subsystems Zyklische HW-Überwachung inkl. Online- Tests von CPU, RAM, ROM 47

Ansatz zur Anpassung des Entwicklungsprozesses Zielsetzung: Modellbasierte Entwicklung mit SCADE 5.1 Einschränkung: handgeschriebene Basisfunktionen ( Wrapper ) benötigt (kein Betriebssystem verwendet!) Ansatz: V-Modell aufteilen in modellbasierten Zweig und konventionellen Zweig SW Requirements SW Architecture SW system test Integration test Model design application Code generation Model test application Modellbasierte Entwicklung von Anwendungs -Modulen mit SCADE Detail design wrapper Coding wrapper Module test wrapper Konventionelle Entwicklung von von Wrapper -Modulen in C 48

Anpassung des Entwicklungsprozesses Features SW-Entwicklung: Modellentwurf der Anwendung mit SCADE (kein Coding!) SW-Funktionalität: ~80% modellbasierte Module, ~20% Wrappermodule SW-Verifikation: Modellbasierte Techniken für Anwendungsmodule Testen des Modells in SCADE Simulationsumgebung MTC (Model Test Coverage) als Testüberdeckungskriterium Statische Analyse der Modellkonsistenz Review auf Übereinstimmung mit definierten Modellierungsregeln Aber: Wrapper- und Integrationstests konventionell Unterstützende Prozesse: Verwendung etablierter Prozesse Projektmanagement, CM, DM, Validation, QAM, RAMS, Assessment Basis: Klare Abgrenzung zwischen modellbasierter und konventioneller Entwicklung! 49

4 1 1 1 1 NO_CAN_M ESSAGE NO_SERIAL _MESSAGE 5 Testarchitektur Report FBY NO_CAN_ MESSAGE FBY NO_SERIAL _MESSAGE Signal_Relay s_in Signal_Relay s_out_a Signal_Relay s_in Signal_Relays_Out_B Test_HW_Error Diagnostic_Out Test_HW_Error TCL scenarios SCADE simulator Test_Peripheries_Error EC_In Diagnostic_In Channel FBY FBY LED1_Out LED2_Out LED3_Out EC_Out Test_Peripheries_Error EC_In Diagnostic_In Channel HW_Watchdog_Interrupt Trigger_Read_Inputs_Interrupt HW_Watchdog_Interrupt Modelltest Error_Log_Is_Empty true Signal_Relay s_out_read_back Error1 Reset_HW_Watchdog Set_Dynamic_Signal Error_Log_Is_Empty f alse Signal_Relay s_out_read_back Error2 1 1 1 t_ids Erase_Error_Log 2 2 t_ids 2 SRS Integrations- & Systemtest SCADE Code-Generator SSL scenarios I/O-Controller code (C) Report I/O-Wrapper (C) 50

Modelltest TCL Szenarios automatisierte Testdurchführung und -auswertung reset "life tick seqnr after reconnect" source TL_Go_Operational.tcl cycle checkvars Msg_Out [Create_Connect 0] for {set i 1} {$i <= 2} {incr i} { cycle 50 checkvars Msg_Out [Create_Connect $i] } cycle 20 setfornextcycle Msg_In [Create_ConnAck 1 2] cycle 3 checkvars Msg_Out [Create_Indication 3...] Nachbarkanalkommunikation Simulation aufwendig Definiere Controller-Knoten durch Rückkopplung zweier Channel- Instanzen 51

Integrations- / Systemtest Anforderungsbasierter Black-Box-Test Schnittstellen: 2 x Seriell, 4 x Digital-I/O, 8 x CAN Einsatz von SYMTES / SSL Integrationstests in mehreren Stufen (Bottom-Up) Automatisierte Ausführung und Auswertung der SSL-Szenarien Regressionstests Einsatz des Scenario Managers 52

Probleme (1) Nachträgliches Auslagern performancekritischer Teile Unterschiedliche Anforderungen an Antwortzeitverhalten / Zykluszeit In Summe wurden 5 SCADE Modelle und 7 Wrapper-Teile implementiert CRC Berechnung war nicht optimierbar: einige 100 Variablen im Stack benötigt CRC Berechnung wurde in Wrapper ausgelagert Beim Sortieren der CAN-Frames in SCADE werden Variablen kopiert, statt Zeiger zu versetzen Sortierung wurde in Wrapper ausgelagert SCADE wurde nur zum Dekodieren benutzt 53

Probleme (2) Einschränkungen in SCADE 5 Verwendung von Arrays umständlich keine dynamische Indizierung, kein Slicing Codegenerierung für Zustandsautomaten in Version 5 nicht zertifiziert Modellierung durch Datenflüsse etwas umständlicher besondere Aufwände für Modellierung mit SCADE Datenflussansatz erfordert Umdenken grafische Modellierung z.t. umständlicher als textuelle Programmierung Ausdrücke (x*y + 3 > z) Layout SCADE 6 wäre hilfreich gewesen 54

Ergebnisse Weniger Aufwand und höhere Qualität für Modulentwicklung Trotz Neuheit des Entwicklungsansatzes Effizienz von Modellierung und Modelltest > Effizienz von Feinentwurf + Coding + Modultest Modulentwicklung ist aber nur eine Phase von vielen! 50 50 45 40 35 30 25 25 20 15 10 5 0 0 conventional conventional approach approach model-based development approach Test module test Design module design and realization Weniger Aufwand für Modultests und Verifikation des Quellcodes Hoher Automatisierungsgrad bei Modelltests und -analyse Bemerkung: Modelltestspezifikation anspruchsvoller als Modultestspezifikation Bemerkung: Klare Abgrenzung zwischen modellbasiert und konventionell entwickelten Anteilen essenziell für Verifikationsstrategie System zugelassen vom Eisenbahnbundesamt! 55

Lessons Learned (1) Gute Wartbarkeit Re- und Umstrukturierungen einfacher als bei konventionellem Vorgehen Bei neuen Anforderungen / Change Requests können Änderungen leichter zugeordnet werden Threads / Scheduling Analysen der zeitlichen Vorhersagbarkeit SCADE generiert C-Funktionen ohne Threads Sequenzialisierung der Datenflüsse deterministischer Programmcode Worst-Case Übertragungszeit für Gesamtsystem einfach(er) berechenbar im Vergleich zu Prozess / Thread orientiertem Entwurf mit Scheduler Geringerer Testaufwand in der Validierung Maximale Zykluszeit nur empirisch ermittelbar 56

Lessons Learned (2) Erzielte Produktqualität sehr hoch Hohe Qualität der modellbasiert entwickelten Software erhöht die Projekteffizienz Sehr niedrige Software-Fehlerrate während Systemtest und Feldtest sehr niedrige Zahl kostenaufwändiger Fehlerkorrekturen Testansatz nicht optimal Redundante Arbeiten für Modell- und Systemtest TCL-basierter Modelltest ist zeitaufwändig und änderungsintensiv (z.b. erwartete Reaktionen zu genau definierten Zyklen) Lösungsansatz: Testfallgenerierung aus Testmodell 57

Zusammenfassung SCADE ist ausgereiftes Werkzeug Schnelle Einarbeitung Intuitive Bedienbarkeit Gute Stabilität Guter Support Eignung auch im µc-umfeld schlankes Code-Image einfache Handhabung, da kein Multithreading im generierten C-Code Einsparpotenziale Schnelle Erstellung eines funktionsfähigen Modells Codebezogene Dokumentation und Prüfungen entfallen Frühe Verifikation im Modell mit durchgängigem Werkzeug Frühe Validation auf Modellebene Schnelle, zuverlässige Korrekturzyklen Design, Code und Dokumentation sind immer konsistent kein Bruch zwischen Anforderungen, Design und Coding 58

Ausblick Mit Einsatz von SCADE ist eine signifikante Aufwandsreduzierung erzielbar Entwicklungsaufwand reduzierbar um bis zu 30% Testaufwand (Modelltest / Modultest + SW-Integration) reduzierbar um bis zu 60% Entsprechende Erfahrung in Anwendung von SCADE notwendig, um Einsparpotentiale voll auszuschöpfen Für die ICS als Engineering-Company entwickelt sich SCADE zur kleinen Erfolgsgeschichte im Bahnbereich Akuelle Projekte mit SCADE 6 laufen, Entwicklungsmethode scheint sich zu etablieren 59

INFORMATIK CONSULTING SYSTEMS AG Herzlichen Dank für Ihre Aufmerksamkeit!