treffen der gi-fachgruppe requirements engineering 29.-30

Post on 03-Nov-2021

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Requirements Engineering in der Entwicklung selbstlernender autonomer Systeme

Treffen der GI-Fachgruppe Requirements Engineering 29.-30. November 2018 | Nürnberg

Thorsten Weyer | paluno – The Ruhr Institute for Software Technology | Universität Duisburg-Essen

Systemanalyst (ca. 1975-1989)

Requirements Engineer (ca. 1990-2010)

Requirements Engineer (ca. seit 2010)

Requirements Engineer (ab 2020)

Gewinnung & AbstimmungZielorientiertes REOOA (Coad, Yourdon)Szenarien u. Use CasesRequirements ManagementValidierung von AnforderungenPrototyping von AnforderungenAnforderungsmodellierungWiederverwendung

Agile EntwicklungDesign ThinkingLean StartupMicroservicesContinuous Delivery

DatenflussmodellierungStrukturierte AnalyseInformation Eng. (Martin)SADTSA/RT Essential System AnalysisModern Structured Analysis

Schon gewusst?

Stellenwert

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Digitale Transformation

Grundlegendes zu Requirements

Engineering

Requirements Engineering fürselbstlernende

autonome Systeme

Auswirkungen auf das Berufsbild des

Requirements Engineers

Inhalt

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Digitale Transformation

Wandel in Gesellschaft und Wirtschaft ermöglicht und vorangetrieben durch

den Einsatz digitaler Technologien.

Synonym: „Digitaler Wandel“

Digitale Transformation

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Internet der Dinge

Machine Learning

Big Data und Data Analytics

Cloud Computing

Dig

ita

le T

ech

no

log

ien

Autonomic Computing

Sensorik und Aktuatorik

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

DigitaleTransformation

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

DigitaleTransformation

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

DigitaleTransformation

Thorsten Weyer | RE im Zeitalter von Digitalisierung und Autonomen Systemen | REConf 2018AutonomeSysteme

SelbstlernendeSysteme

AutopoietischeSysteme

Ausgewählte Systemtypen

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Grundlegendes zum Thema Requirements Engineering

Christopher Alexander: Notes on the Synthesis of Form. Harvard University Press, 1979, S. 15-16.c

Every design problem begins with an effort to achieve fitness between two entities: the form in question and its context.”

“The form is the solution to the problem; the context defines the problem.“

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Jacksons‘ World and the Machine

Michael Jackson: The World and the Machine. International Conference on Software Engineering (ICSE) 1995: 283-292

World (Context) Machine (Solution)

Form in QuestionIt‘sContext

SE MR

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Phänomene der Welt

Phänomene der Maschine

Gemeinsame Phänomene

Zwei Arten von Anforderungen

User RequirementsR

System Requirements S

ESA Software Engineering Standards and Guides: PSS-05-0 – insb. PSS-05-02 und PSS-05-03; European Space Agency (ESA), Noordwijk.

International Organization for Standardization: IEEE Standard Glossary of Software Engineering Terminology, IEEE Std. 610.12-1990, Genf.

SE R P M

SE R P M

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

besserer Begriff „Stakeholder Requirements“

Siehe z.B.:

Wie können wir R und S voneinander abgrenzen?

SE R

Gunter, Gunter, Jackson, Zave- A Reference Model for Requirements and Specifications

Carl A. Gunter, Elsa L. Gunter, Michael Jackson, Pamela Zave:A Reference Model for Requirements and Specifications. IEEE Software 17(3): 37-43 (2000)

P M

Sichtbarkeit

Kontrolle

Welt (Kontext) Maschine (System)

eh ev sv sh

h = „hidden“v = „visible“

Indizes:

Welt (Kontext) Maschine (System)

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Beispiel: Einfache Alarmierungssoftware für medizinisches Personal in Kliniken

SE R P M

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Wie können wir R und S voneinander abgrenzen?

Patientenzimmer Bereitschaftsraum

Eeh

Alarmierungssoftware

Systemgrenze

SE R P M

Fakten

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

eh

R Das Pflegepersonal im Bereitschaftsraum soll alarmiert werden, falls der Herzschlag eines Patienten auffällig ist.

Patientenzimmer Bereitschaftsraum

eh

AlarmierungssoftwareSE R P M

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

eh

S Wenn der Herzmonitor eine auffällige Herzschlagfrequenz erkennt, soll am Bereitschaftsmonitor eine optische und akustische Warnung ausgelöst werden.

Patientenzimmer Bereitschaftsraum

eh

Alarmierungssoftware

eh

svev

SE R P M

Herzmonitor Bereitschaftsmonitor

* 1

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

EPatientenzimmer Bereitschaftsraum

eh

Alarmierungssoftware

eh

svev

Annahmen

SE R P M

Herzmonitor Bereitschaftsmonitor

*

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

unter gegebenem Emuss S ein Modell für R sein

𝐸, 𝑆 ⊢ 𝑅

Elementares Qualitätskriterium im Requirements Engineering

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Mit anderen Worte: Durch die in S spezifizierten Eigenschaften des betrachteten Systemtypus muss gewährleistet sein, dass Systeme, die S korrekt implementieren, im gegebenen Kontext E die Anforderungen in R erfüllen.

Weitere Feststellungen …

Ungültige Annahmen über den Kontext (E) führen (oft) dazu, dass Systeme, die die

System Requirements (S) korrekt implementieren, im Betrieb die User Requirements (R)

nicht erfüllen!

𝐸, 𝑆 ⊬ 𝑅

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

eh eh

R Um die Schubumkehr aktivieren zu können, muss das Flugzeug sich nach der Landung rollend auf der Landebahn befinden.

𝑟𝑜𝑙𝑙𝑒𝑛𝑑 𝑎𝑢𝑓 𝑅𝑜𝑙𝑙𝑏𝑎ℎ𝑛

𝑅𝑎𝑑𝑟𝑜𝑡𝑎𝑡𝑖𝑜𝑛

eh

𝐺𝑒𝑔𝑒𝑛𝑠𝑐ℎ𝑢𝑏

svev𝑅𝑜𝑡𝑎𝑡𝑖𝑜𝑛𝑠𝑖𝑚𝑝𝑢𝑙𝑠 𝑒𝑖𝑛𝑙𝑒𝑖𝑡𝑒𝑛 𝑆𝑐ℎ𝑢𝑏𝑢𝑚𝑘𝑒ℎ𝑟

𝐴𝑏𝑏𝑟𝑒𝑚𝑠𝑒𝑛eh

Airbus Unfall | 14. September 1993 | Warschau

𝐸, 𝑆 ⊢ 𝑅

S

𝐸, 𝑆 ⊢ 𝑅T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

eh eh

R Um die Schubumkehr aktivieren zu können, muss das Flugzeug sich nach der Landung rollend auf der Landebahn befinden.

𝑟𝑜𝑙𝑙𝑒𝑛𝑑 𝑎𝑢𝑓 𝑅𝑜𝑙𝑙𝑏𝑎ℎ𝑛

𝑅𝑎𝑑𝑟𝑜𝑡𝑎𝑡𝑖𝑜𝑛

eh

𝐺𝑒𝑔𝑒𝑛𝑠𝑐ℎ𝑢𝑏

S svev𝑅𝑜𝑡𝑎𝑡𝑖𝑜𝑛𝑠𝑖𝑚𝑝𝑢𝑙𝑠 𝑒𝑖𝑛𝑙𝑒𝑖𝑡𝑒𝑛 𝑆𝑐ℎ𝑢𝑏𝑢𝑚𝑘𝑒ℎ𝑟

𝐴𝑏𝑏𝑟𝑒𝑚𝑠𝑒𝑛eh

𝐸, 𝑆 ⊬ 𝑅T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Airbus Unfall | 14. September 1993 | Warschau

in der Verantwortung der Requirements Engineers

𝐸, 𝑆 ⊢ 𝑅

Typischerweise liegt

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝐸, 𝑆 ⊢ 𝑅Manuelle Validierung zur Entwicklungszeit

Automatisierte Verifikation zur Laufzeit

Qualitätssicherung zur Entwicklungs- und Laufzeit

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝑀,𝑃 ⊢ 𝑆** gegeben eine Maschine (technische Plattform) M und eine Softwarespezifikation S > entwickle die Software P so, dass, wenn P auf M ausgeführt wird, S erfüllt ist.

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

in der Verantwortung der Entwicklung i.e.S.

Typischerweise liegt

Requirements Engineering für selbstlernende autonome Systeme

DigitaleTransformation

Thorsten Weyer | RE im Zeitalter von Digitalisierung und Autonomen Systemen | REConf 2018AutonomeSysteme

SelbstlernendeSysteme

AutopoietischeSysteme

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Ausgewählte Systemtypen

Automatisierter Straßenverkehr der ZukunftAuf Grundlage von: Lemmer, K. (Hrsg.): Neue autoMobilität. Automatisierter Straßenverkehr der Zukunft (acatech STUDIE), München: Herbert Utz Verlag 2016.

Beispieldomäne

Autonome Systeme

Resilienz | Selbstadaption | Autonomie

Jeffrey O. Kephart; David M. Chess: The Vision of Autonomic Computing. IEEE Computer, 36 (1), 2003, S. 41-50.

Self-optimization

Self-configuration

Self-healing

Self-protectionManaged Element

Monitor Knowledge Execute

Analyse Plan

Autonomic Manager

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝐸′, 𝑆 ⊬ 𝑅Annahmen in 𝐸 sind nicht mehr gültig

mit

Se

lf-h

ea

lin

g

Beispiel

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Managed Element

Monitor Knowledge Execute

Analyse Plan

Autonomic Manager

RE für Autonome Systeme | Schema

Autonomic Manager

𝐸

𝐸′, ∆𝑆 ⊢ 𝑅Wähle optimales ∆S mit

Monitore

𝐸′, 𝑆 ⊢ 𝑅?

Prüfe im Falle E‘

Etabliere ∆S

𝐸′, ∆𝑆 ⊢ 𝑅Gültigkeit

ausgewählterAnnahmen

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Managed Element

Monitor Knowledge Execute

Analyse Plan

Autonomic Manager

Managed Element

Autonomic Manager

Autonomic Manager

𝐸

𝐸′, ∆𝑆 ⊢ 𝑅Wähle ein ∆S mit

Monitore

𝐸′, 𝑆 ⊢ 𝑅?

Prüfe im Falle ∆E

Etabliere ∆S

𝐸′, ∆𝑆 ⊢ 𝑅

𝑀, ∆𝑃 ⊢ ∆𝑆

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

RE für Autonome Systeme | Beispiel

𝐸

⊆ 𝑆

e2

e1

Autopilotüberwache

e1 ϵ𝐸

e2 ϵ𝐸

wenne1𝐸

MMonitor

Sicheres Überqueren von Fahrbahnkreuzungen

𝑟1 ∈ 𝑅

E, S ⊢ r1

E, S ⊢ R

Notwendige Voraussetzung für:

𝐸 𝐸‘e2 𝐸oder

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

RE für Autonome Systeme | Beispiel

Sicheres Überqueren von Fahrbahnkreuzungen

𝐸

⊆ 𝑆

Autopilot

E′, S ⊬ r1

𝐸′

impliziert, dass E, S ⊬ R

AAnalyse

Prüfe ob

𝑟1 ∈ 𝑅

e2 𝐸

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

RE für Autonome Systeme | Beispiel

Sicheres Überqueren von Fahrbahnkreuzungen PPlan

∆1𝑆

∆2𝑆

∆𝑛𝑆

𝐸′, ∆1𝑆 ⊢ 𝑅𝐸′, ∆2𝑆 ⊢ 𝑅

𝐸′, ∆𝑛𝑆 ⊢ 𝑅

Identifiziere mögl. Anpassungen

Prüfe

1 2 3Selektiere Optimum

∆1𝑆

∆3𝑆

∆𝑟𝑆

𝑟1 ∈ 𝑅

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

RE für Autonome Systeme | Beispiel

Inter-FahrzeugKoordination

Kontrolle an Fahrer

übergeben

Autopilot

e2

Autopilot

e2

∆3𝑆

EExecute

Sicheres Überqueren von Fahrbahnkreuzungen

E′, Δ3S ⊢ r1Notwendige Voraussetzung für

E′, Δ3S ⊢ R

𝑟1 ∈ 𝑅

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

RE für Autonome Systeme | Beispiel

Kontrolle an Fahrer

übergeben

Fahrer ist in der Lage, das Fahrzeug verkehrsregelkonform über die Kreuzung zu manövrieren.

e3 ∈ E (Annahme)

∆3𝑆

wenn Annahme e3 E

Sicheres Überqueren von Fahrbahnkreuzungen 𝑟1

gefährdet!𝑟1 ∈ 𝑅

RE für Autonome Systeme | Beispiel

mit

e3 ist in gegebenen Kontext (der Instanz | von Ego) nicht gültig!

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Kontrolle an Fahrer

übergeben

Was, wenn keine passende Adaption existiert?

Was, wenn keine passende Adaption existiert?

d.h.PPlan

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝐸′, ∆𝑆 ⊢ 𝑅nicht mehr erreichbar!

… dann ist

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

… wähle ein 𝑅 und ggf. ein 𝑆, sodass:

𝐸′, 𝑆 ⊢ 𝑅

𝐸′, ∆𝑆 ⊢ 𝑅versetzt das System z.B. in einen degradierten Modus

oder

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝐸′, 𝑆 ⊢ 𝑅

oder

… wähle ein 𝐸 so dass:

d.h. Adaption des Kontexts

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Falls möglich!

𝐄, 𝐒 ⊢ 𝐑Autonome Systeme

Identifikation der relevanten Veränderungen im Laufzeitkontext zur Entwurfszeit

Absicherung von Adaptionsentscheidungen auf Spezifikationsebene zur Entwurfs- und Laufzeit

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Definition und Koordination komplexer Adaptionsmaßnahmen (koordinierte Adaption)

Ausgewählte Herausforderungen für das RE

Selbstlernende Systeme

Relevante Veränderungen in E (oder R) sind zur Entwurfszeit nicht vollständig bekannt

𝐸, 𝑆 ⊢ 𝑅eh ev sv shsv

World Maschine

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝑂𝑝𝑒𝑛 𝑊𝑜𝑟𝑙𝑑 𝐴𝑠𝑠𝑢𝑚𝑝𝑡𝑖𝑜𝑛

Warum selbstlernende Systeme?

1

2 S ist zur Entwurfszeit womöglich nicht optimal

3 S kann im Betrieb durch M und P nicht gehalten werden 𝑀,𝑃 ⊬ 𝑆

Approximation von f

f: EvSv

Ev ={ev}

Sv ={sv}

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

ev svf

ev =(ev1,…,evn)

sv =(sv1,…,svm)

Selbstlernende Systeme | Supervised Learning

Anlernen zur Entwicklungszeit

Lernen zur Laufzeit

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Selbstlernende Systeme | Anlernen vs. lernen im Betrieb

𝑓

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

mit

und ist akzeptabel in Bezug auf Verhalten und Qualitäten

Fall 1 Fall 2 Fall 3

𝑚𝑖𝑡 ∆𝑆 = 𝑆 ∘ 𝑓

Selbstlernende Systeme | Blickwinkel des RE

𝑓 𝑓𝑓 𝑓

𝑓

𝑓

Autopilot

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Alle Fußgänger am Fußgängerüberweg werden vom System wahrgenommen.

e4 ∉ E (d.h. Annahme e4 ist verletzt)

Sicherheit für Fußgänger beim Überqueren der Fahrbahn gewährleisten.

ri ∈ 𝐑

Selbstlernende Systeme | Anlernen (Beispiel für Fall 1)

ErfassungsbereichSensorik

(Ego) Fahrzeug(Ego) 𝑓

Selbstlernende Systeme | Anlernen (Beispiel für Fall 1)

Autopilot

Sicherheit für Fußgänger beim Überqueren der Fahrbahn gewährleisten.

Alle Fußgänger am Fußgängerüberweg werden vom System wahrgenommen.

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

e1e4

e2

e3

e4 ∉ E (Annahme)

Fahrzeug am rechten Fahrbahnrand erkannt.

Fußgängerüberweg in der Entfernung von 10 Metern erkannt.

e3 ∈ E (Fakt)

Verkehrsschild für Fußgängerüberweg voraus erkannt.

e2 ∈ E (Fakt)

ri ∈ R

e1 ∈ E (Fakt)

Fahrzeug(Ego)

Selbstlernende Systeme | Anlernen (Beispiel für Fall 1)

Autopilot

Die Geschwindigkeit des Fahrzeuges (Ego) wird auf 5 km/h beschränkt.

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

e1e4

e2

e3

s1 ∈ S (Reaktion des Systems)

s1

Sicherheit für Fußgänger beim Überqueren der Fahrbahn gewährleisten.

Fahrzeug am rechten Fahrbahnrand erkannt.

Fußgängerüberweg in der Entfernung von 10 Metern erkannt.

e3 ∈ E (Fakt)

Verkehrsschild für Fußgängerüberweg voraus erkannt.

e2 ∈ E (Fakt)

ri ∈ R

e1 ∈ E (Fakt)

Fahrzeug(Ego)

Selbstlernende Systeme | Anlernen (Beispiel für Fall 1)

Die Geschwindigkeit des Fahrzeuges (Ego) wird auf 5 km/h beschränkt.

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

e1e4e2

e3

s1

e3 ∈ E (Fakt)

e2 ∈ E (Fakt)

ri ∈ R

e1 ∈ E (Fakt)

Autopilot

fs1 ∈ S (Reaktion des Systems)

Typus

Fahrzeug am rechten Fahrbahnrand erkannt.

Fußgängerüberweg in der Entfernung von 10 Metern erkannt.

Verkehrsschild für Fußgängerüberweg voraus erkannt.

Sicherheit für Fußgänger beim Überqueren der Fahrbahn gewährleisten.

𝑒1, 𝑒2, 𝑒3 , 𝑠1 , …

𝑒1, 𝑒2, 𝑒3 𝑠1

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

ErfassungsbereichSensorik

(Fremdfahrzeug)Fahrzeug

(Ego)Fahrzeug

(Ego)

ErfassungsbereichSensorik

(Ego)

Selbstlernende Systeme | Lernen im Betrieb

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Fahrzeug(Ego)

ErfassungsbereichSensorik

(Ego)

Selbstlernende Systeme | Lernen im Betrieb

e4 e2

e3

e1

Sicherheit für Fußgänger beim Überqueren der Fahrbahn gewährleisten.

Alle Fußgänger am Fußgängerüberweg werden vom System wahrgenommen.

e4 ∉ E (Annahme)

Fahrzeug am rechten Fahrbahnrand erkannt.

Fußgängerüberweg in der Entfernung von 10 Metern erkannt.

e3 ∈ E (Fakt)

Verkehrsschild für Fußgängerüberweg voraus erkannt.

e2 ∈ E (Fakt)

ri ∈ R

e2 ∈ E (Fakt)

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

ErfassungsbereichSensorik

(Fremdfahrzeug)Fahrzeug

(Ego)

Warnung bzgl. Person am Fußgängerüberweg

Selbstlernende Systeme | Lernen im Betrieb

e1e4

e2

e3

s1Geschwindigkeit auf

Schrittgeschwindigkeitbeschränken

sv ∈S (Schrittgeschwindigkeit)

Autopilot

(e1,e2,e3) (sv)

Ego

f

Wenn e1, e2, e3 gelten, ist die Wahrscheinlichkeit (P) dafür, dass e4 nicht gültig ist größer „0“

P(e4∉ E) > 0 e1,e2,e3 ∈E

Autopilot Ego Autopilot Ego

Autopilot Ego

Autopilot Typus

Selbstlernende Systeme | Generalisierung von Erlerntem

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

∆𝑆𝑓1 = 𝑆 ∘ 𝑓1 ∆𝑆𝑓2 = 𝑆 ∘ 𝑓2∆𝑆𝑓𝑛 = 𝑆 ∘ 𝑓𝑛

∆𝑆𝑓 = 𝑆 ∘ 𝑓

Ego Ego

Ego

Autopilot Ego Autopilot Ego

Autopilot Ego

Autopilot Typus

Selbstlernende Systeme | Generalisieren und Propagieren

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

∆𝑆𝑓1 = 𝑆 ∘ 𝑓1 ∆𝑆𝑓2 = 𝑆 ∘ 𝑓2∆𝑆𝑓𝑛 = 𝑆 ∘ 𝑓𝑛

∆𝑆𝑓 = 𝑆 ∘ 𝑓

Von individuellem zu globalem

„Wissen“ Propagieren von(ab-)gesichertem neuen Wissen

Von Beispielen zu individuellem „Wissen“

Ego

Ego

Was muss dabei gewährleistet sein?

𝐸, 𝑆 ∘ 𝑓 ⊢ 𝑅

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

TrustKönnen wir 𝑆 ∘ 𝑓 vertrauen?

Können wir 𝑓 vertrauen?

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Siehe: C. Z. Lipton: The Mythos of Model Interpretability. Communication of the ACM Vol. 61, No. 10, (61), 36-43.

Beispiel: sicherheitskritische Systeme …

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝐸, 𝑆 ∘ 𝑓 ⊢ 𝑅mit 𝑅𝑠𝑎𝑓𝑒𝑡𝑦 ⊂ 𝑅

d.h. es muss sicherstellt sein, dass keines der Safety-Goals in 𝑅𝑠𝑎𝑓𝑒𝑡𝑦 verletzt wird!

Sicherheit für Fußgänger beim Überqueren der Fahrbahn gewährleisten

ri ∈ 𝑅𝑠𝑎𝑓𝑒𝑡𝑦Beispiel

𝐸, 𝑆 ∘ 𝑓 ⊢ 𝑅Qualitätssicherung

zur EntwicklungszeitQualitätssicherung

zur Laufzeit

Qualitätssicherung selbstlernender Systeme

z.B. Training und Test z.B. PrädiktiveLaufzeitsimulation

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Entwicklung

Betrieb

Selbslernende Systeme im Continuouse Deployment

Häufige Releases mit neuem abgesicherten Wissen

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝑒𝑣 | 𝑒𝑣𝑛 → 𝑠𝑣 → 𝑒𝑣𝑚

𝑒𝑣𝑛 , 𝑠𝑣𝑛 , 𝑒𝑣𝑟 , 𝑠𝑣𝑟 , …

anlernen von 𝒇für relevante Ereignisse

anwenden von 𝒇… und sammeln neuer Ereignisse

𝐄, 𝐒 ⊢ 𝐑Selbstlernende Systeme

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Definition fachlich angemessener Trainings- und Testdaten für das Anlernen von Systemen

Analyse und Spezifikation von Beispielen für komplexe realweltliche Situationen und angemessen Reaktionen

Verallgemeinerung und Absicherung von Gelerntem zur Laufzeit

Ausgewählte Herausforderungen für das RE

Autopoietische Systeme

Autopoiese (altgriechischαὐτός autos, deutsch

‚selbst' und ποιεῖν poiein„schaffen, bauen“)

©H

ann

ah E

ller.

sys

tem

VIB

ES

Quelle: Bosch Software Innovations GmbH

Autopoietische Systeme

Beispiel

„Smart Factory“

Quelle: US Department of Transportation

Autopoietische Systeme

Beispiel

„Platooning“

…123n

Autopoietische Systeme | Theorie

1

3

2

𝐸1

𝐸2

𝐸3

𝐸𝑛

𝐸𝑗, 𝑆𝑗 ⊢ 𝑅𝑗

Einzelsysteme

…123n

1

2

3

n

User Requirements (Ziele) der Einzelsysteme

𝑅𝑗 = {𝑟𝑗1, … 𝑟𝑗𝑚}

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝐸𝑗, 𝑆𝑗 ⊢ 𝑅𝑗

Autopoietische Systeme | Theorie

𝐸𝑉 = 𝐸1⊕ …⊕𝐸𝑛

Einzelsysteme Verbundziele Verbundkontext Verbundspezifikation

3

2

1

⊕ Allgemeiner Kompositionsoperator

ohne Systeme 1… nProjektion auf an der Schnittstelle nach Außen wahrnehmbares Verhalten und Qualitäten

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Autopoietische Systeme | Beispiel

Verbundziele

Verbundkontext

Verbundverhalten

1

2

3

𝑅𝑃𝑙𝑎𝑡𝑜𝑜𝑛#971

𝐸𝑃𝑙𝑎𝑡𝑜𝑜𝑛#971

𝑆𝑃𝑙𝑎𝑡𝑜𝑜𝑛#971

4

5

ohne Fahrzeug#1, … , Fahrzeug#3

(ohne individuelle Ziele von Fahrzeug#1 .. Fahrzeug#3)

Fahrzeug#4, Fahrzeug#5

1

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Autopoietische Systeme | Beispiel

Ziele von Fahrzeug#4

Kontext von Fahrzeug#4

1

2

3

4

5

𝐸𝐹𝑎ℎ𝑟𝑧𝑒𝑢𝑔#4

𝑅𝐹𝑎ℎ𝑟𝑧𝑒𝑢𝑔#4

System Requirements v. Fahrzeug#4 𝑆𝐹𝑎ℎ𝑟𝑧𝑒𝑢𝑔#44

4

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Autopoietische Systeme | Beispiel

--

1

2

3

4

Konfligierende Individual- und Verbundziele

𝑟𝑗 ∈ 𝑅𝑖

𝑟𝑚 ∈ 𝑅𝑉

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Autopoietische Systeme | Beispiel

Prioritätsbasierter Verbund

--1

2

3

4

𝑟𝑚 ∈ 𝑅𝑉

𝑟𝑗 ∈ 𝑅𝑖

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

𝐄, 𝐒 ⊢ 𝐑Autopoietische Systeme

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Kooperative Kontexterfassung und Abstimmung von Kontextinformationen

Dynamische Abstimmung von Verbund- und Individualzielen und Auflösung von Zielkonflikten zur Laufzeit

Absicherung des Verhaltens von Systemverbünden zur Entwurfs- und Laufzeit auf Spezifikationsebene

Ausgewählte Herausforderungen für das RE

Auswirkungen auf das Berufsbild des Requirements Engineers

Systemanalyst (ca. 1975-1989)

Requirements Engineer (ca. 1990-2010)

Requirements Engineer (ca. seit 2010)

Requirements Engineer (ab 2020)

Stellenwert

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Schon gewusst?

Gewinnung & AbstimmungZielorientiertes REOOA (Coad, Yourdon)Szenarien u. Use CasesRequirements ManagementValidierung von AnforderungenPrototyping von AnforderungenAnforderungsmodellierungWiederverwendung

Agile EntwicklungDesign ThinkingLean StartupMicroservicesContinuous Delivery

DatenflussmodellierungStrukturierte AnalyseInformation Eng. (Martin)SADTSA/RT Essential System AnalysisModern Structured Analysis

1. Generation 2. Generation 3. Generation 4. Generation

Systemanalyst (ca. 1975-1989)

Requirements Engineer (ca. 1990-2010)

Requirements Engineer (ca. seit 2010)

Requirements Engineer (ca. seit 2015)

Gewinnung & AbstimmungZielorientiertes REOOA (Coad, Yourdon)Szenarien u. Use CasesRequirements ManagementValidierung von AnforderungenPrototyping von AnforderungenAnforderungsmodellierungWiederverwendung

Innovative RequirementsDesign Thinking und REAgile Praktiken im RERE in der agilen EntwicklungKontextanalyseRequirements MiningUse Cases 2.0Agile Protoyping

DatenflussmodellierungStrukturierte AnalyseInformation Eng. (Martin)SADTSA/RT Essential System AnalysisModern Structured Analysis

Technologiezentriertes REAutopoietische SystemeKollab. KontextwahrnehmungContext UncertaintyAutonome SystemeLaufzeit V&VRE für selbstlernende Sys.RE für CPS und SCPS

Schon gewusst?

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Profil und Selbstverständnis

Empathie

Kommunikationsfähigkeit

Analytische Fähigkeiten

Beherrschung von Komplexität

Werkzeugwissen

RE Techniken & Methoden

Modellierung

Technologiewissen

Engineering Prozesse

Kreativität & Innovation

Agile Praktiken & Vorgehen

Anwendung von Formalismen

Systemanalyst (1. Gen.)

Requirements Engineer (2. Gen.)

Requirements Engineer (ca. seit 2010)„Requirements Engineer 3. Gen.“

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Profil und Selbstverständnis

Empathie

Kommunikationsfähigkeit

Analytische Fähigkeiten

Beherrschung von Komplexität

Werkzeugwissen

RE Techniken & Methoden

Modellierung

Technologiewissen

Engineering Prozesse

Kreativität & Innovation

Agile Praktiken & Vorgehen

Anwendung von Formalismen

Systemanalyst (1. Gen.)

Requirements Engineer (2. Gen.)

Requirements Engineer (ca. seit 2015)

Requirements Engineer (3. Gen.)„Requirements Engineer 4. Gen.“

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Beherrschung von Komplexität

Modellierung

Technologiewissen

Anwendung von Formalismen

Wo besteht aktuell der größte Handlungsbedarf? „Requirements Engineer 4. Generation“

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Digitale Transformation

Grundlegendes zu Requirements

Engineering

Requirements Engineering fürselbstlernende

autonome Systeme

Auswirkungen auf das Berufsbild

des Requirements Engineers

T h o r s t e n W e y e r | R e q u i r e m e n t s E n g i n e e r i n g i n d e r E n t w i c k l u n g s e l b s t l e r n e n d e r a u t o n o m e r S y s t e m e

Teilweise gefördert durch das Bundesministerium für Bildung und Forschung (BMBF), Förderkennzeichen 01IS16043V (Collaborative Embedded Systems)

top related