ARTiSAN Software Tools



Ähnliche Dokumente
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Software Engineering in der Praxis

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

UML (Unified Modelling Language) von Christian Bartl

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Software Engineering in der Praxis

Klassendiagramm. (class diagram)

Das umfassende Handbuch

Requirements Engineering I

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Software Engineering Interaktionsdiagramme

Die Unified Modeling Language UML

Unified Modeling Language (UML)

NACHRICHTENTECHNISCHER SYSTEME

UML 2.0 Das umfassende Handbuch

Rhapsody in J Modellierung von Echtzeitsystemen

Requirements Engineering I

Objektorientiertes Design

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

SysML Die Zukunft des Systems Engineering?

SEQUENZDIAGRAMM. Christoph Süsens

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Objektorientierte Softwareentwicklung

Der Design-Workflow im Software-Entwicklungs-Prozess

INSPIRE - Modellierung

RUP Analyse und Design: Überblick

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

Vorlesung Programmieren

Softwaretechnik SS 2006

Test integrierter Schaltungen

SEA. Modellgetriebene Softwareentwicklung in der BA

Unified Modeling Language 2

Vorlesung "Software-Engineering"

Software-Engineering

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

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

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Auktion name adresse pseudonym adresse /bewertungszahl. Gebot. höhe zeitpunkt bieter. initiiert

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Änderungsbasiertes Requirements Management mit agosense.requirements und Atlassian JIRA

Gliederung des Vortrages

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Objektorientierte Softwareentwicklung

Das Model View Controller (MVC) Konzept

Unified Modeling Language (UML )

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

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

Formale Modellierung Vorlesung vom : Beyond JML

Vector Software. Verwendung des VectorCAST/Requirement Gateways mit DOORS > > >

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Analyse und Design mituml2

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

Referent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen,

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Software Engineering I

Methodik zur Verbesserung von Vorgehensmodellen am Beispiel des V-Modell XT 1.4 und eines industrienahen Standards nach ASPICE

BPMN. Suzana Milovanovic

Software Engineering in der Praxis

ecall sms & fax-portal

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Insight 2011 Power Workshop kh Whiteboard Diagramm: Modellzusammenhänge visualisieren. Nürnberg,

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Grundlagen Software Engineering

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Übungen zur Softwaretechnik

WhiteStarUML Tutorial

Analyse und Modellierung von Informationssystemen

Systemdenken und Gestaltungsmethodik System-Modellierung

Von Windows-Forms zu WPF mit Expression Blend? Thomas Müller conplement AG Nürnberg

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

Objektorientierte Modellierung mit UML

Analyse und Design mituml2.1

Erfahrungsbericht: Einsatz objektorientierter Methoden in Flugkörper-Software

Übungen zu Softwaretechnik

Test-Driven Design: Ein einfaches Beispiel

Grundlagen der Softwaretechnik

Analyse und Design mit U ML 2.3

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Von der Idee zum Anforderungsmodell ohne Medienbruch

Erfolgreiche Realisierung von grossen Softwareprojekten

Lehrplan: Business Analyse/ Requirements Engineering (BA- RE)

Some Software Engineering Principles

Techniken der Projektentwicklungen

Emergency Room für Projektleiter

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Cloud Architektur Workshop

Kapitel 2: Der Software-Entwicklungsprozess

Konzept / Architektur Diagramme

Übungsaufgaben zum Software Engineering: Management

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Transkript:

ARTiSAN Software Tools Der neue Modellierungsstandard UML 2: Besser geeignet für Eingebettete Systeme? Andreas Korff, Principal Consultant Workshop Eingebettete Systeme der GI-Fachgruppe Echtzeitsysteme und PEARL, Boppard, 25./26..2004

Wer ist ARTiSAN? CASE-Tool-Hersteller, gegründet 997 - Hauptsitz in Europa: Cheltenham, UK Fokussiert auf das Marktsegment Real-time/Embedded Systems Pragmatischer Ansatz zur Anwendung der objektorientieren Technologie für die Entwicklung von Echtzeitsysteme - Mit Entwicklungsprozessvorschlag RtP - Spec-konforme UML-Erweiterungen für alle Sichten der Systementwicklung

UML.x-Nutzung in a nutshell Textuelle Requirements Fahrer Fenster senken Fenster heben Beifahrer Anwendungsfälle «extend» Objekt erkennen Verhalten bei Störungen Objekt im Fensterweg Kommunikation mit anderen Fahrzeugfunktionen CAN-Knoten Fenster when( Position==00 )/ dercontroller-> windowstop();... / Position=00; unbewegt Entry/Fensterpos(Position);... when( Position==0 )/ dercontroller->windowstop(); fahrerauf/ fahrerunter/ Objektdynamik rauf runter Klassenmodell stop/ stop/ + void fahrerauf () Fenster + void fahrerunter () + void stop () +setrefcontroller (inout WindowController mycontroller) + void Fenster () + void ~Fenster () after( 200 )[Position<00]/ Position+=5; Fensterpos(Position); after( 200 )[Position>0]/ Position-=5; Fensterpos (Position); dasfenster dercontroller WindowController +void windowstop () + void Rtsalert () + void RtsDriverCmdUp () + void RtsNeutral () + void RtsDriverCmdDown () +void WindowController () + void ~WindowController ()...... SetTimes + obstacledrive = 000 +topreleasetime = 0 + autoseltime = 500 Iterativ Fenster senken Description Fahrer Fenster Schalter Fahrerseite Motor Fensterheber-Controller Fahrer drückt Schalter Signal an Fensterheber- Controller Fensterheber-Controller aktiviert Motor Motor bewegt Fenster DerController:Test::WindowController 2 : fahrerunter() 3 : windowstop() Fahrerfenster:Test::Fenster Störung melden Fenster runter : getconfig() Zentralverriegelung Komfortfunktionen Fenster runter DriverCmdDown down Config:Test::SetTimes über #define Display Szenarien

Warum UML? Generell positive Konzepte der UML.x nur Notation «extend» allgemein anwendbar ermöglicht exemplarisches Modellieren verfolgt OO Paradigma «extend» Generisches Erweiterungskonzept Wiederverwendung Kapselung und Abstraktion Beherrschung von Komplexität

UML.x im Licht der Systementwicklung Vorteile Die Beschränkung auf nur die Festlegung einer Notation macht die UML in allen Bereichen anwendbar. Use Case-zentrierte Analyse und Design ermöglicht den Fokus auf Kunden- bzw. Nutzersicht. Objektorientierte Strukturen gewährleisten den Re-Use-Aspekt. Die Netzwerkstruktur eines UML-Modells führt zu einem Design-to- Change. Nachteile Softwarelastig, wichtige Systementwicklungskonzepte sind nicht berücksichtigt Herkunft aus der Zusammenfassung mehrerer Modellierungsstrategien z.t. sichtbar (z.b. Aktivitätsdiagramme, OCDs, OSDs)

Neues in UML 2 Hauptfokus: Bessere Modellierbarkeit von Architekturkonzepten Verbesserte Skalierbarkeit => Große Systeme sind besser darstellbar Strukturierbarkeit von Systemen in Teilsysteme Strukturierbarkeit von Verhalten Insgesamt 3 Diagrammarten erweitern die Modellierungsmöglichkeiten Diese Freiheit sollte aber im jeweiligen Entwicklungsprozess an die Notwendigkeiten für das zu entwickelnde System angepasst werden.

Diagrammarten der UML 2 «Diagrammfamilie» UML 2 Diagramm «Diagrammfamilie» Strukturdiagramm «Diagrammfamilie» Verhaltensdiagramme «überarbeitet» Klassendiagramm Objektdiagramm «überarbeitet» Aktivitätsdiagramm Use Case Diagramm Komponentendiagramm Verteilungsdiagramm «Diagrammfamilie» Interaktionsdiagramme «überarbeitet» Zustandsdiagramm «neues Diagramm» Kompositionsstrukturdiagramm Paketdiagramm «überarbeitet» Sequenzdiagramm «neues Diagramm» Interaktionsübersichtsdiagramm Anmerkung: Jede Diagrammart wurde überarbeitet. Das explizite <<überarbeitet>> weist auf eine signifikante Änderung hin. Kommunikationsdiagramm «neues Diagramm» Timing Diagramm

Für eingebettete Systeme wichtig Strukturinformation Kontextdefinition Systemgrenzen mit Interfacedefinition Darstellungsmöglichkeit komplexer Abläufe Nachrichtenfluss Aktivitäten

Teil-Ganzes-Beziehungen In UML.x SW-lastig Valve -ve +ve out in control V Fluid I/O m Motor f Fuse

Teil-Ganzes-Beziehungen In UML 2 überwiegt die Systemsicht Valve out : Fluid m : Motor control : I/O control : I/O +ve : V -ve : V in : Fluid f : Fuse +ve : V -ve : V

Neue Elemente im Kompositionsstrukturdiagramm Part: Classifier innerhalb des ganzen Classifiers Rolle oder Attribut innerhalb der Teil-Ganzes-Hierarchie Zeigt die interne Strukturierung des Ganzen Port: Teil des Ganzen, das zur Interaktion mit anderen, äußeren Elementen dient Kann durch benötigte und/oder bereitgestellte Schnittstellen ergänzt werden Konnektor: Zeigt die interne Verkabelung von Ports und Parts Die enthaltende Instanz leitet die auftreffenden Informationen entlang der Konnektoren weiter

Strukturierte Abläufe Referenz zu anderen Sequenzen c:compressor seq StartUp Standard event message check and an I/O flow flow:flow type alt compressorok ref diagram ref StartCompressor else and one with parameters ref RaiseAlarm(LOP) end alt «interface» myp/p:pump ref pumpseq seq seq Loop forever loop [true] Operation message (full) Beispiele zur Strukturierung Operation message Return message break [fr] end loop a=nextplot(, "fred" ):3 DoFn( 0, jim" ) Fr=DoFn:true

Aktivitätsdiagramme Eigene Semantik (Token-basiert) Neu: nested swimlanes strukturierte Knoten Final Flow Symbole (die nur einen Ablauf, aber nicht die ganze Aktivität beenden) Pins und vieles mehr Build Component Install Component Deliver Application [more components to be built] [no more components to be built] [more components to be installed] [no more components to be installed] Flow Final

Prozess-Sicht (Beispiel RtP) UML.x UML 2.0 UML 2.0 UML.x UML 2.0 UML.x UML.x UML 2.0 SPT Profil UML 2.0 SysML

Ausblick: SysML req:vehiclesystem ReqtsFlowDown «document» MarketNeeds «diagramdescription» version= 0." description= Depicts flowdown or acceleration reqt" reference= Requirements Management Database completeness= partial «rationale» Ref: Statement of Work Use Case Model «trace» Vehicle System Specification «trace» {id# = 02} {txt = System shall... {criticality = H} R02 System shall accelerate from 0-60 mph in lest than 8 seconds under the specified conditions Power Subsystem Specification «trace» {id# = } {txt = System shall...} {criticality = L} R «satisfy» Vehicle System Design «system» Vehicle brake «assembly» Power Train «assembly» Brakes {id# = 337} {txt = The subsyste... {criticality = H} R337 {id# = 340} {txt = The subsyste... {criticality = M} R340 «satisfy» Power Subsystem Design (Alternative=V6) R337. R337.2 «rationale» Ref: Trade-Off Analysis «verify» «testcase» Engine Horsepower Test Requirements Diagram Microsoft Word Document MarketNeeds

Ausblick: SysML par:vehicleperformance Road.incline «paramconstraint» : GravitationalForce Vehicle.weight Vehicle.powertrainForce «paramconstraint» : TotalForce m «paramconstraint» : Newton's Law a Vehicle.acceleration dv/dt Integration dv dt = t v f dv/dt «paramconstraint» : Integration v v Vehicle.dragForce «paramconstraint» : DragForce Vehicle.speed Engine.displacement Vehicle.dragCoef «paramconstraint» : Power Train Equations «paramconstraint» {constraint = DragForce=0.5* dragcoef*rho*speed²} DragForce DragForce : Real rho : Real dragcoef : Real Parametric Diagrams speed : Real

Kontakt zu ARTiSAN Software Tools ARTiSAN im Internet: