MARTE für UML Programmiersprachen und Modellierungswerkzeuge - Entwurf von Software für

Die Seite wird erstellt Fynn Hauser
 
WEITER LESEN
MARTE für UML Programmiersprachen und Modellierungswerkzeuge - Entwurf von Software für
Entwurf von Software für
         eingebettete Systeme
 Programmiersprachen und
  Modellierungswerkzeuge
       MARTE für UML
Wintersemester 2010/11
TU Chemnitz
Fakultät für Informatik
Professur Betriebssysteme

Dr. Dirk Müller
MARTE für UML Programmiersprachen und Modellierungswerkzeuge - Entwurf von Software für
Übersicht
     ●     Einführung
     ●     UML: Metamodellierung und Diagrammarten
     ●     Profil, Stereotyp, Eigenschaftswert
     ●     Vorgänger und Verwandte
     ●     Paketdiagramm
     ●     Zeit
     ●     Beispiele von Uhren
     ●     Operationen auf Uhren
     ●     Zusammenfassung
     ●     Literatur

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 2/27
Einführung
     ●     UML-2-Profil für MARTE (Modeling and Analysis of
           Real-Time and Embedded systems)
     ●     UML-2-Profil: konkrete Erweiterung des UML-2-
           Metamodells basierend auf dem leichtgewichtigen
           Erweiterungsmechanismus (belässt UML-Metamodell)
           ●   Stereotype mit Eigenschaftswerten (tagged values)
           ●   Constraints (Einschränkungen, Nebenbedingungen)
     ●     Analogie zu Sprachbeschränkungen auf Quellcode-
           ebene (z.B. MISRA-C/C++): Modellbeschränkungen
           auf Modellebene (auch: MISRA-AC-TL für TargetLink)
     ●     unterstützt Modellierung, Simulation und Analyse
     ●     für Codegenerierung nur teilweise geeignet [1]
     ●     Version 1.0 im November 2009 erschienen
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 3/27
MOF-Metamodellierung
     ●     „meta“ als
           relativer Begriff
     ●     M3-Ebene hat
           sich selbst als
           Metamodell (vgl.
           Bootstrapping)
     ●     erst durch solche
           formal definierten
           Regeln auto-
           matische Code-
           generierung er-
           möglicht
                                 Quelle: http://upload.wikimedia.org/wikipedia/commons/9/93/M0-m3.png

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                                         4/27
UML-2.3-Diagrammarten

             neu in Version 2.2

                                                                         Quelle: [3], S. 704

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                                   5/27
UML-Profil
    “A profile defines limited extensions to a reference metamodel with the
    purpose of adapting the metamodel to a specific platform or domain.” [3]
     ●     ist ein spezielle Form eines Pakets
     ●     Bezugs-Metamodell ist notwendig (hier: UML-MM)
     ●     neue Diagrammart Profildiagramm zur Beschreibung
           der Anwendung von Profilen
     ●     gekennzeichnet durch
           ●   Menge von zugeordneten
               Stereotypen
           ●   Menge von zugeordneten
               Constraints (Einschränkungen)
               –   als Kommentar (natürliche Sprache,
                   optional auch in OCL, Object Constraint               Quelle: [3], S. 689
                   Language, formal angegeben)
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                                       6/27
Beispiel: EJB-Profil
                                        Enterprise Java Beans als Komponenten in Java EE

                                                                         Quelle: [3], S. 686

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                                   7/27
Stereotyp
  ●   konkrete Syntax: Name in
      Guillemets, «name»
  ●   abstrakte Syntax: Er-
      weiterung anderer Meta-
      klassen
  ●   bei Anwendung eines
      Stereotyps auf ein
      Modellierungselement
      spricht man von Eigen-
      schaftswerten (tagged
      values), typisiert (neu in
      UML 2)
  ●   Eigenschaftswerte werden
      im Kommentar angegeben
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 8/27
Vorgänger und Verwandte
   ●   „UML Profile for Schedulability, Performance and Time
       (SPT)“, aktuelle Version 1.1 ist 2005 erschienen
       ●   für UML 1, daher keine Weiterentwicklung
   ●   „OMG Systems Modeling Language (OMG SysML)“,
       aktuelle Version 1.2 ist im Juni 2010 erschienen
       ●   Modellierung von HW, SW, Informationen, Prozessen,
           Personen, Einrichtungen mgl. => nicht mehr SW-zentriert
       ●   zusätzliche Diagrammarten
            –   Anforderungsdiagramm (requirement diagram)
            –   Parameterdiagramm (parametric diagram) für Analysen
       ●   kompaktere Sprache, unterstützt Viewpoints
   ●   „UML Profile for System on a Chip (SoC)“, aktuelle
       Version 1.0.1 ist 2006 erschienen
   ●   „AUTOSAR UML Profile“, aktuelle Version 1.0.1, 2006
       ●   Mapping des AUTOSAR-Metamodells auf UML/SysML
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 9/27
Paketdiagramm von MARTE
● NFP: non-functional prop.
● GRM: Generic Resource

  Modeling
● Alloc: Allokation von

  Funktionalität zu Modulen
  (Zeit, Raum, WCET)
● GCM: Generic Component

  Model
● HLAM: High-Level Application

  Modeling
● SRM: SW Resource Model

● HRM: HW Resource Model

● GQAM: Generic Quantitative

  Analysis Modeling
● SAM: Schedulability Ana. M.

● PAM: Performance Ana. Mod.

● VSL: Value Specification Lan-

  guage
● RSM: Repetitive Structure

  Modeling
                                                             Quelle: [2]
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                   10/27
Arbeitszyklus mit MARTE

                                                                         Quelle: [2]
     ●     viele Schritte automatisierbar
     ●     manchmal kann sogar auf Experten aus der Analysis-
           Domäne verzichtet werden
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                               11/27
Zeit in MARTE
     ●     chronometrisch
                                                                             verschiedene
           ●   klassischer Zeitbegriff, gekoppelt an eine Uhr                Berechnungs­
     ●     logisch                                                             modelle
                                                                              unterstützt
           ●   gebunden an Ereignisse, asynchron
     ●     synchron
           ●   gebunden an Ereignisse, sogar getaktete Ausführung
           ●   vgl. synchrones Berechnungsmodell mit Lustre, Esterel
           ●   benötigt für EZS mit höchsten Anforderungen
     ●     Profil-
           diagramm

                                                        Quelle: [4], S. 73
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                               12/27
Zeitmodellierung: Clock

                                                                         Quelle: [4], S. 74

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                               13/27
Beispiel: 100-Mhz-Uhr in MARTE
                                                                             alternative
     ●     nature                                                        Darstellungsform
                                                                         für Eigenschafts­
           ●   discrete                                                         werte
           ●   dense
     ●     isLogical
           ●   false => chrono-                                                Objekt
               metrisch
           ●   true => logisch oder
               synchron
     ●     unitType
           ●   Aufzählung möglicher
               Zeiteinheiten

                                            Quelle: [1]
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                            14/27
Beispiel: Chronometrische Uhren

                                                                          Quelle: [4], S. 85
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 15/27
Clocks: NFPs und Operationen
     ●     Nichtfunktionale
           Eigenschaften
           chronometrischer
           Uhren
           ●   Stabilität
               (Varianzmaß)
           ●   Offset (Differenz)
           ●   Taktversatz (Skew,
               1. Ableitung)
           ●   Drift (2. Ableitung)
     ●     Operationen
           ●  Diskretisierung
           ● Filterung

           ● Verzögerung                                                 Quelle: [4], S. 475
           ● Verkettung
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                                   16/27
Codegenerierung mit MARTE
     ●     Codegenerierung als Schwachstelle von MARTE
     ●     Lösungsansätze durch Kombination mit anderen
           Sprachen, z.B. SysML und SystemC [1]

                                              Modell in                   Software:
                      Promela      SPIN       Ordnung:                   ausführbarer
                                               ja/nein                      Code
                                              Verifikation
         MARTE

                                                                          Hardware:
                     Generator      SystemC                              FPGAs bzw.
                                                                           ASICs
                                                     synthesefähiges
         SysML                                            VHDL           Implementierung
                                                                            (Produkt)
 Spezifikation und    Beispiel für
     zugleich         modellgetriebene
 Implementierung      Softwareentwicklung                    Verilog
 (vom Menschen)       in mehreren Stufen

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                                17/27
SPARK-Profil für UML
     ●     Integration mit Code-
           generierung von der
           anderen Seite her (im Vgl.
           zum MARTE-Profil)
     ●     UML ist ziemlich C++-
           orientiert => Probleme bei
           der Spezifikation des
           Informationsflusses
     ●     Automatisierung möglich
           mit Rhapsody in Ada (UML
           CASE tool)
                                                 Quelle: [7]

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 18/27
AADL
     ●     Architecture analysis and design language
     ●     Ursprung in der Luftfahrt, heute stark im Automobilbau
           verwendet
     ●     standardisiert durch Society of Automotive Engineers
           (SAE), Version 1.0 vom November 2004
     ●     unterstützt Hard- und Software => gut für eingebettete
           Systeme (Kombination aus Anwendung und Aus-
           führungsplattform)
     ●     unterstützt Scheduling-Analyse => gut für EZ-Systeme
     ●     komplizierte Konstrukte, nicht alles orthogonal
     ●     besser: Abbildung auf UML MARTE, meist möglich
                                                                         Quelle: [9]

           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                               19/27
EAST-ADL2
     ●     Electronics Architecture and Software Technology -
           Architecture Description Language, Version 2 [10]
     ●     Modellierungssprache als DSL für Automobilindustrie
     ●     im Rahmen von EU-Forschungsprojekten 2004 ent-
           wickelt, verbindet Software- und Systementwicklung
     ●     Kombination aus UML und natürlicher Sprache
     ●     passt gut zum AUTOSAR-Standard
     ●     funktionale Dekomposition durch hierarchische
           Modellierung ermöglicht
     ●     kann ebenso gut auf UML MARTE abgebildet werden
     ●     auch Kombination mit MARTE vorgeschlagen, um
           bessere Schedulinganalyse zu ermöglichen [11]
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 20/27
Zusammenfassung
     ●     MARTE ist ein Profil für UML, eine leichtgewichtige
           Erweiterung, 2009 von der OMG standardisiert
     ●     ermöglicht Modellierung, Simulation und Analyse von
           eingebetteten und Echtzeitsystemen
     ●     sehr ausführliche Modellierung von Zeit als Grundlage
           für Echtzeitsysteme, auch synchrones Be-
           rechnungsmodell unterstützt
     ●     Codegenerierung nur teilweise möglich
     ●     Kombination mit z.B. SysML und SystemC scheint
           eine gute und praktikable Lösung zu sein
     ●     auch Kombination von UML mit SPARK möglich:
           SPARK-Profil
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                 21/27
Simulink vs. UML MARTE
    Simulink                                      UML MARTE
     ● Unterstützung zeit-                         ● OO-Konzepte sorgen für

         diskreter und zeit-                           bessere Modularität und
         kontinuierlicher Ber.-                        Wiederverwendbarkeit,
         Modelle (MoC)                                 also Änderbarkeit
     ● Datenfluss kann besser                      ● besser für System-

         beschrieben werden                            Spezifikation (NFPs)
     ● Vorsprung bei auto-                         ● Codeblöcke müssen oft

         matischer Code-                               noch eingefügt werden,
         generierung (z.B. mittels                     aber z.T. auch schon
         RTW)                                          Codegeneratoren
     ● Änderbarkeit ein-
                                           Quelle: [8]
         geschränkt durch
          Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11
         fehlende       OO-Konzepte                                            22/27
Resümee Sprachen und Modellierung
●   Unterscheidung nach dem Produkt
    ●   Software (ausführbares Programm): klass. Compiler
    ●   Hardware (FPGAs/ASICs): HW-Beschreibungssprachen
    ●   HW-/SW-Codesign (beides): z.B. SystemC
●   Unterscheidung nach der Abstraktionsebene
    ●   Höhere Progr.-sprache (C, C++, PEARL, Ada, Lustre, Esterel)
    ●   MDSD (Matlab/Simulink, MARTE/SysML)
●   Ziele modellgetriebener Softwareentwicklung (MDSD)
    ●   kürzere Entwicklungszeit (Produkteinführungszeit)
    ●   frühes Testen möglich => Zuverlässigkeit steigt
    ●   schneller Prototypenbau (Rapid Prototyping) für Kunden
    ●   Entkopplung von Domänen- und Plattformwissen
    ●   Portabilität (einfacherer Wechsel zu neuen Plattformen)
●   Integration des Entwicklungszyklus bei Simulink und ASCET
    bereits gelungen; bei UML MARTE immer besser
●   SPARK mit statischer Analyse als weitgehender Ersatz für
    Tests,
        DirkIntegration       in SW
             Müller: Entwurf von Entwicklungsumgebungen
                                    für eingeb. Systeme, WS 2010/11 (GNAT)
18.01.11                                                              23/27
Ansätze für Korrektheit von SW
   ●   Auswahl geeigneter Formalismen (Sprachen, Modelle)
   ●   Beschränkung der Sprachmittel, Setzen von Regeln und
       Richtlinien („Weniger ist mehr.“)
       ● auf Codeebene

             –   MISRA-C:2004, MISRA-C++:2008
             –   SPARK basierend auf Ada
       ●    auf Modellebene
             –   MISRA-AC-TL für TargetLink
   ●   Design/Program by Contract („Vertrauen ist gut, Kontrolle ist besser!“)
            Vor- und Nachbedingungen, dynamisch z.B. bei Eiffel
             –
          – Annotationen im Quelltext (Redundanz), z.B. SPARK
   ●   Model Checking, Theorembeweisen („Der Teufel liegt im Detail.“)
          – Übertragung in Promela, Prüfung mit SPIN; UPPAAL
          – statische Prüfung (Theorembeweisen) z.B. mit SPARK
   ●   Nutzung spezifischer Analysewerkzeuge
             –   Nutzung von Werkzeugen für Lustre/Esterel [5]
             –   Nutzung von Analysewerkzeugen für MARTE
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                         24/27
Vergleich zwischen Programmier-
    sprachen/Modellierungsmethoden                                               HR Highly recom-
                                                                                 mended – if this
                                                                                 technique or mea-
                                                                                 sure is not used, the
                                                                                 reasons for not us-
                                                                                 ing it should be de-
                                                                                 tailed during safety
                                                                                 planning.
                                                                                 R Recommended
                                                                                 as a lower measure
                                                                                 to an HR recom-
                                                                                 mendation.
                                                                                 --- The technique
                                                                                 has no recommen-
                                                                                 dation for or
                                                                                 against its use.
                                                                                 NR The technique or
                                                                                 measure is posit-
                                                                                 ively not recom-
                                                                                 mended
                                                                                 for this safety integ-
                                                                                 rity level – if it is
                                                                                 used, the reasons
                                                                                 for using it should
                                                                                 be detailed during
                                                                                 safety planning.
        Quelle: “IEC 61508-7: Functional safety of electrical/electronic/programmable
        electronic safety-related
          Dirk Müller: Entwurf vonsystems
                                    SW fürPart 7: Overview
                                           eingeb. Systeme,ofWStechniques
                                                                   2010/11 and measures“
18.01.11                                                                                        25/27
Programmiersprachen und
                      Sicherheit
  Programmier­     Sicherheitsmerkmale (Stärken)                Schwachstellen
  sprache
  Ada 83           ● Laufzeitüberprüfungen obligatorisch       ● Zugriff auf nicht gesetzte

                   ● Zeiger werden initialisiert                 Variablen (Skalare)
                   ● typsicher, auch über Paketgrenzen hinweg            mit 'Valid bzw.
                   ● Recovery nach Fehlern                    pragma Initialize_Scalars;
                                                                       in Ada 95 behoben
  Modula-2         ● typsicher, auch über Paketgrenzen hinweg  ● nicht gesetzte Variablen

                   ● begrenzte Recovery-Möglichkeiten nach       (Skalare) und Zeiger
                     Fehlern
  Pascal           ●   strenges Typsystem                       ● Laufzeitüberprüfungen nur
                                                                  optional
                                                                ● nicht gesetzte Variablen

                                                                  (Skalare) und Zeiger
  C                ●   (zusätzliche Werkzeuge: make und lint)   ● 150 nicht definierte „Features“
                                                                ● Laufzeitüberprüfungen finden

                                                                  häufig nicht statt
  Fortran 77       ● Typprüfung                                 ● Default-Zuweisungen
                   ● keine Zeiger                               ● keine Prüfungen über

                                             Quelle: [6], S. 412  Paketgrenzen hinweg
           Dirk Müller: Entwurf von SW für eingeb. Systeme, WS 2010/11
18.01.11                                                                                      26/27
[1]
                                    Literatur
        M. Mura, A. Panda, M. Prevostini: “Executable Models and Verification from MARTE and
        SysML: a Comparative Study of Code Generation Capabilities”. In: Proceedings of
        MARTE Workshop (DATE08), Munich, Germany, March 2008,
        http://www2.lifl.fr/MARTEworkshop/papers/PrevostiniMuraPanda_Date08_Friday_W8.pdf
  [2] S. Gérard, F. Terrier, B. Selic, P. Boulet: “MARTE, The UML standard extension for real-
        time and embedded systems“, 2008,
        http://www-users.cs.york.ac.uk/~burns/papers/MARTE.pdf
  [3] OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.3, May 2010,
        http://www.omg.org/spec/UML/2.3/Superstructure/PDF/
  [4] UML Profile for MARTE, 1.0, Nov 2009, http://www.omg.org/spec/MARTE/1.0/PDF/
  [5] The synchronous group: “Tools”, 2010,
        http://www-verimag.imag.fr/Tools,36.html?lang=en
  [6] John Barnes (Hrsg.): „Ada 95 Rationale“, LNCS 1247, Springer, Berlin/Heidelberg, 1995
  [7] Xavier Sautejeau: „Modeling SPARK systems with UML“, ACM SIGAda Ada Letters, Vol.
        XXV, Issue 4, pp. 11-16, 2005,
        http://doi.acm.org/10.1145/1104011.1103848
  [8] L. Brisolara et al.: “Using UML as a front-end for an efficient Simulink-based multithread
        code generation targeting MPSoCs”, UML-SoC’07. San Diego, June 2007,
        http://www.inf.ufrgs.br/~lisane/Brisolara_UmlSoC07.pdf
  [9] F. Mallet, R. de Simone, L. Rioux: „Event-triggered vs. Time-Triggered communications
        with UML MARTE“, Forum on Specification and Design Languages, pp. 154-159, 2008
  [10] EAST ADL 2.0 Specification, 2008,
        http://www.atesst.org/home/liblocal/docs/EAST-ADL-2.0-Specification_2008-02-29.pdf
  [11] Anssi et al.: “Completing EAST-ADL2 with MARTE for enabling scheduling analysis for
            Dirk Müller:
        automotive        Entwurf vonERTSS
                       applications“,    SW für2010,
                                                 eingeb. Systeme, WS 2010/11
18.01.11http://www.erts2010.org/Site/0ANDGY78/Fichier/PAPIERS%20ERTS%202010%202/ERTS2010_0123_final.pdf
                                                                                                     27/27
Sie können auch lesen