treffen der gi-fachgruppe requirements engineering 29.-30
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)