from Requirements to Im fr Implementation th through Agile Min - - PowerPoint PPT Presentation

from requirements to im fr implementation
SMART_READER_LITE
LIVE PREVIEW

from Requirements to Im fr Implementation th through Agile Min - - PowerPoint PPT Presentation

24th Intl. Working Conference on Requirements Engineering: Foundation for Software Quality www.omilab.org March 19th-22nd, 2018, Utrecht, The Netherlands St Streamlining Se Semantics from Requirements to Im fr Implementation th through


slide-1
SLIDE 1

24th Intl. Working Conference on Requirements Engineering: Foundation for Software Quality March 19th-22nd, 2018, Utrecht, The Netherlands

www.omilab.org

St Streamlining Se Semantics fr from Requirements to Im Implementation th through Agile Min ind Mapping Methods

Robert Andrei Buchmann, Ana-Maria Ghiran, Cristina-Claudia Osman,

University Babeş-Bolyai of Cluj Napoca, Romania

Dimitris Karagiannis

University of Vienna, Austria

slide-2
SLIDE 2

REFSQ 2018 2

  • Babeş-Bolyai University of Cluj-Napoca, Romania
  • biggest city in Transylvania
  • largest and oldest Higher Education Institution in Romania
  • Business Informatics Research Center, Faculty of Economics and Business Administration
  • research topics: Knowledge Management, Business Process Management, Distributed Computing

Cluj-Napoca Vienna

Where am I from?

slide-3
SLIDE 3

REFSQ 2018 3

  • Babeş-Bolyai University of Cluj-Napoca, Romania
  • biggest city in Transylvania
  • largest and oldest Higher Education Institution in Romania
  • Business Informatics Research Center, Faculty of Economics and Business Administration
  • research topics: Knowledge Management, Business Process Management, Distributed Computing

Cluj-Napoca Vienna

Where am I from?

slide-4
SLIDE 4

REFSQ 2018 4

Agenda

  • Background
  • on Mind Mapping
  • on Zachman Framework
  • on Agile Modelling Method Engineering
  • on Resource Description Framework
  • Key Proposal and Application Method
  • Design Decisions
  • Required Enablers
  • Conclusions
slide-5
SLIDE 5

REFSQ 2018 5

Background on Mind Mapping as RE Enabler

Mind Mapping:

  • …from information visualisation method - roots in psychology (not necessarily

software based)

  • …to RE-support method - means of (loosely) structuring RE artefacts and context
slide-6
SLIDE 6

REFSQ 2018 6

Background on Mind Mapping as RE Enabler

Source: https://www.mindmeister.com/blog/why-mind-mapping/

Mind Mapping:

  • …from information visualisation method - roots in psychology (not necessarily

software based)

  • …to RE-support method - means of (loosely) structuring RE artefacts and context
slide-7
SLIDE 7

REFSQ 2018 7

Background on Mind Mapping as RE Enabler

Source: Pohl, K., Requirements Engineering: Fundamentals, Principles, and Techniques, Springer, 2010 Source: https://www.mindmeister.com/blog/why-mind-mapping/

Mind Mapping:

  • …from information visualisation method - roots in psychology (not necessarily

software based)

  • …to RE-support method - means of (loosely) structuring RE artefacts and context
slide-8
SLIDE 8

REFSQ 2018 8

Background on Zachman Framework

Source: https://www.visual-paradigm.com/guide/enterprise-architecture/what-is-zachman-framework/

The Zachman Framework – a popular enterprise ontology - provides meaning for some prescribed mind map branches

slide-9
SLIDE 9

REFSQ 2018 9

Background on Agile Modelling Method Engineering

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-10
SLIDE 10

REFSQ 2018 10

Background on Agile Modelling Method Engineering

target 1 0..*

Task Start Decision Stop Sequence

Class Relationship source target subclass 1 1 0..* 0..* 1 0..*

el

Node

source target 1 0..*

specialisationOf

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-11
SLIDE 11

REFSQ 2018 11

Background on Agile Modelling Method Engineering

target 1 0..*

Task Start Decision Stop Sequence

Class Relationship source target subclass 1 1 0..* 0..* 1 0..*

el

Node

source target 1 0..*

specialisationOf

Models describing application case knowledge

MODELS LAYER

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-12
SLIDE 12

REFSQ 2018 12

Background on Agile Modelling Method Engineering

target 1 0..*

Task Start Decision Stop Sequence

Class Relationship source target subclass 1 1 0..* 0..* 1 0..*

el

Node

source target 1 0..*

specialisationOf

Models describing application case knowledge

MODELS LAYER

The modelling language terminology agilely customized for targeted requirements

META LAYER

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-13
SLIDE 13

REFSQ 2018 13

Background on Agile Modelling Method Engineering

target 1 0..*

Task Start Decision Stop Sequence

Class Relationship source target subclass 1 1 0..* 0..* 1 0..*

el

Node

source target 1 0..*

specialisationOf

Models describing application case knowledge

MODELS LAYER

The modelling language terminology agilely customized for targeted requirements

META LAYER

The (fixed) concepts that can be used to agilely tailor modelling languages (metamodels)

META-META LAYER

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-14
SLIDE 14

REFSQ 2018 14

Background on Agile Modelling Method Engineering

target 1 0..*

Task Start Decision Stop Sequence

Class Relationship source target subclass 1 1 0..* 0..* 1 0..*

el

Node

source target 1 0..*

specialisationOf

Models describing application case knowledge

MODELS LAYER

The modelling language terminology agilely customized for targeted requirements

META LAYER

The (fixed) concepts that can be used to agilely tailor modelling languages (metamodels)

META-META LAYER

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-15
SLIDE 15

REFSQ 2018 15

Background on Agile Modelling Method Engineering

target 1 0..*

Task Start Decision Stop Sequence

Class Relationship source target subclass 1 1 0..* 0..* 1 0..*

el

Node

source target 1 0..*

specialisationOf

Models describing application case knowledge

MODELS LAYER

The modelling language terminology agilely customized for targeted requirements

META LAYER

The (fixed) concepts that can be used to agilely tailor modelling languages (metamodels)

META-META LAYER

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-16
SLIDE 16

REFSQ 2018 16

Background on Agile Modelling Method Engineering

Modelling language increments (AMME iterations)

target 1 0..*

Task Start Decision Stop Sequence

Class Relationship source target subclass 1 1 0..* 0..* 1 0..*

el

Node

source target 1 0..*

specialisationOf

Models describing application case knowledge

MODELS LAYER

The modelling language terminology agilely customized for targeted requirements

META LAYER

The (fixed) concepts that can be used to agilely tailor modelling languages (metamodels)

META-META LAYER

* cf. Karagiannis, D. (2015). "Agile modelling method engineering" In: Proceedings of the 19th Panhellenic Conf. on Informatics. Ed. by N. Karanikolas, D. Akoumianakis, N. Mara, D. Vergados, X. Michalis, ACM, p. 5-10.

slide-17
SLIDE 17

REFSQ 2018 17

Background on Resource Description Framework

slide-18
SLIDE 18

REFSQ 2018 18

Background on Resource Description Framework

slide-19
SLIDE 19

REFSQ 2018 19

Background on Resource Description Framework

:Robert :worksAt :UNIVIE.

slide-20
SLIDE 20

REFSQ 2018 20

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black.

slide-21
SLIDE 21

REFSQ 2018 21

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna.

slide-22
SLIDE 22

REFSQ 2018 22

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna. :Susana :hasChild :Robert.

slide-23
SLIDE 23

REFSQ 2018 23

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna. :Susana :hasChild :Robert. :Robert :hasChild :Dan, :Patrik.

Graph-based knowledge representation

slide-24
SLIDE 24

REFSQ 2018 24

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna. :Susana :hasChild :Robert. :Robert :hasChild :Dan, :Patrik.

Graph-based knowledge representation Upload to GDBMS

slide-25
SLIDE 25

REFSQ 2018 25

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna. :Susana :hasChild :Robert. :Robert :hasChild :Dan, :Patrik.

Robert UNIVIE Dan Black Susana Vienna Patrik hasChild hasChild hasChild worksAt livesIn hasHairColor

Graph-based knowledge representation Graph DBMS (e.g., GraphDB) Upload to GDBMS

slide-26
SLIDE 26

REFSQ 2018 26

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna. :Susana :hasChild :Robert. :Robert :hasChild :Dan, :Patrik.

Robert UNIVIE Dan Black Susana Vienna Patrik hasChild hasChild hasChild worksAt livesIn hasHairColor

Graph-based knowledge representation Graph DBMS (e.g., GraphDB) Client applications Upload to GDBMS

slide-27
SLIDE 27

REFSQ 2018 27

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna. :Susana :hasChild :Robert. :Robert :hasChild :Dan, :Patrik.

Robert UNIVIE Dan Black Susana Vienna Patrik hasChild hasChild hasChild worksAt livesIn hasHairColor

Graph-based knowledge representation Graph DBMS (e.g., GraphDB) Client applications Upload to GDBMS

SPARQL queries: SELECT ?x WHERE {?x :hasChild ?y}

slide-28
SLIDE 28

REFSQ 2018 28

Background on Resource Description Framework

:Robert :worksAt :UNIVIE. :Dan :hasHairColor :Black. :Patrik :livesIn :Vienna. :Susana :hasChild :Robert. :Robert :hasChild :Dan, :Patrik.

Robert UNIVIE Dan Black Susana Vienna Patrik hasChild hasChild hasChild worksAt livesIn hasHairColor

Graph-based knowledge representation Graph DBMS (e.g., GraphDB) Client applications Upload to GDBMS

SPARQL queries: SELECT ?x WHERE {?x :hasChild ?y}

SPARQL results: Robert, Susana

slide-29
SLIDE 29

REFSQ 2018 29

Key Proposal: extending the notion of Modelling Method to Agile Mind Mapping Method

  • cf. Karagiannis, D., Kühn, H.: Metamodelling platforms. In: Bauknecht, K., Tjoa, A.M., Quirchmayr, G. (eds.), Proceedings of the Third International Conference EC-Web 2002 – DEXA
  • 2002. LNCS 2455, pp 182, Springer (2002)
slide-30
SLIDE 30

REFSQ 2018 30

The Method Building Blocks

  • Language:
  • A core mind mapping language (goal-centric) branching to ZF-based model

types (other hybridisations may be considered as well)

  • Procedure:
  • The application method (detailed on the next slide)
  • Mechanisms:
  • The mind map and all linked models exported as RDF to expose the semantics

to run-time

  • Output: modelling tool
slide-31
SLIDE 31

REFSQ 2018 31

Application Method

1.Mind mapping and modelling 2.Map linking and annotation 5.Rule-based graph enrichment

  • 6. Semantics-driven

implementation of artefacts Insufficiency in the modelling language? 3.Agile language extension and fast re-prototyping 4.Knowledge externalization as RDF graph yes no

slide-32
SLIDE 32

REFSQ 2018 32

Mind Map Structure

Responsibilities (the Who) WeatherRisks Partner Venues (the Where) Types

Music Events Food Events Visual Arts Events

City A Locations City B Locations Club Bamboo Halls Processes (the How+When)

Planning Processes Unfolding Processes

ACME Gallery Internal Roles EVENTS (the Why) External Roles

PR Coordinator Ticketing

Core topic (custom notation) Generic subtopics (generic notation) Generic subtopics (custom notation) Prescribed subtopics (generic notation) Hyperlinks to complementary conceptual models or Web resources Hyperlinks to complementary conceptual models or Web resources MIND MAP MIND MAP CONCEPTUALIZATION (at metamodel level) Generic relation

Risks Qualities (the Nonfunctional) Systems (the What)

Usability Back-end systems Front-end systems

slide-33
SLIDE 33

REFSQ 2018 33

Map Item Schema

Visual Arts Event

GRAPHREP sizing:asymmetrical AVAL filepath:"Preferred picture" IF (LEN filepath) BITMAP (filepath) x:-1cm y:-1cm w:2cm h:2cm ELSE ELLIPSE rx:.2cm ry:.2cm ENDIF ATTR "Topic Name" y:1cm w:c META LEVEL MODELLING TOOL LEVEL MAP CONCEPT DYNAMIC NOTATION (sample in the ADOxx graphics scripting language) Graphic customization MAP ELEMENT with GENERIC NOTATION

Planning Processes

Preferred notation icon Universal Identifier Additional type Free RDF descriptions Semantic links to conceptual models that detail the topic ANNOTATION PROPERTIES: Input for RDF graph enrichment outside the modelling environment Input for dynamic notation behavior Flag for passing current type to subtopics

slide-34
SLIDE 34

REFSQ 2018 34

Inference Patterns

Event

WHY

Risks

GENERIC TOPIC

_:connector1 hasRisks from to

GENERIC CONNECTOR

hasRisks yes propagateType WeatherRisks customURI

slide-35
SLIDE 35

REFSQ 2018 35

Inference Patterns

Event

WHY

Risks

GENERIC TOPIC

_:connector1 hasRisks from to

GENERIC CONNECTOR

hasRisks Inferring explicit relation from connector annotation CONSTRUCT {?x ?p ?o} WHERE {?conn a :GenericConnector; :from ?x; :to ?y; :customURI ?p} yes propagateType WeatherRisks customURI

slide-36
SLIDE 36

REFSQ 2018 36

Inference Patterns

Event

WHY

Risks

GENERIC TOPIC

_:connector1 hasRisks from to

GENERIC CONNECTOR

hasRisks Inferring explicit relation from connector annotation CONSTRUCT {?x ?p ?o} WHERE {?conn a :GenericConnector; :from ?x; :to ?y; :customURI ?p} Dedicated annotation for type enrichment yes propagateType WeatherRisks customURI

slide-37
SLIDE 37

REFSQ 2018 37

Inference Patterns

Event

WHY

Risks

GENERIC TOPIC

_:connector1 hasRisks from to

GENERIC CONNECTOR

hasRisks Inferring explicit relation from connector annotation CONSTRUCT {?x ?p ?o} WHERE {?conn a :GenericConnector; :from ?x; :to ?y; :customURI ?p} Dedicated annotation for type enrichment yes propagateType WeatherRisks Inferring explicit subsumption from node annotation CONSTRUCT {?y rdfs:subClassOf ?x; a ?class} WHERE {?x a ?class; :genericRelation ?y; :propagateType yes} customURI

slide-38
SLIDE 38

REFSQ 2018 38

Inference Patterns

Event

WHY

Risks

GENERIC TOPIC

_:connector1 hasRisks from to

GENERIC CONNECTOR

hasRisks Inferring explicit relation from connector annotation CONSTRUCT {?x ?p ?o} WHERE {?conn a :GenericConnector; :from ?x; :to ?y; :customURI ?p} Dedicated annotation for type enrichment yes propagateType WeatherRisks Inferring explicit subsumption from node annotation CONSTRUCT {?y rdfs:subClassOf ?x; a ?class} WHERE {?x a ?class; :genericRelation ?y; :propagateType yes} customURI Inferring transitivity over subclassing CONSTRUCT {?x ?p ?z} WHERE {?x ?p ?y. ?z rdfs:subClassOf ?y}

slide-39
SLIDE 39

REFSQ 2018 39

Inference Patterns

Events

WHY

Types Music Events

GENERIC TOPIC SPECIALIZATION

Processes

HOWWHEN

slide-40
SLIDE 40

REFSQ 2018 40

Inference Patterns

Events

WHY

Types Music Events

GENERIC TOPIC SPECIALIZATION

Processes

HOWWHEN

slide-41
SLIDE 41

REFSQ 2018 41

Inference Patterns

Events

WHY

Types Music Events

GENERIC TOPIC SPECIALIZATION

Processes

HOWWHEN

Inferring standard subclassing relation from generic map relation and prescribed types CONSTRUCT {?z rdfs:subClassOf ?x; a :Why} WHERE {?x :genericRelation ?y. ?y a :Specialization; :genericRelation ?z}

slide-42
SLIDE 42

REFSQ 2018 42

Inference Patterns

Events

WHY

Types Music Events

GENERIC TOPIC SPECIALIZATION

Processes

HOWWHEN

Inferring standard subclassing relation from generic map relation and prescribed types CONSTRUCT {?z rdfs:subClassOf ?x; a :Why} WHERE {?x :genericRelation ?y. ?y a :Specialization; :genericRelation ?z}

slide-43
SLIDE 43

REFSQ 2018 43

Inference Patterns

Events

WHY

Types Music Events

GENERIC TOPIC SPECIALIZATION

Processes

HOWWHEN

CONSTRUCT {?x :requireProcesses?y} WHERE {?x :genericRelation :?y. ?y a :HowWhen} Inferring standard subclassing relation from generic map relation and prescribed types CONSTRUCT {?z rdfs:subClassOf ?x; a :Why} WHERE {?x :genericRelation ?y. ?y a :Specialization; :genericRelation ?z}

slide-44
SLIDE 44

REFSQ 2018 44

Crossing the bridge to Run-time

Music Events

WHY

Processes

HOW_WHEN

Planning Processes furtherDetailed Partner Venues CityA Locations ACME Gallery

WHERE

furtherDetailed forLocations taskPerformedAtLocation Retrieve all annotation properties for all locations and persons involved in all types of processes prepared for Music Events in the venues provided by ACME Gallery. SELECT ?b ?prop ?val WHERE { :MusicEvents :requireProcesses ?proc. ?proc :forLocations :ACMEGallery; ?proc :furtherDetailed ?processmodel GRAPH ?processmodel { ?a :taskPerformedAtLocation|:taskPerformedBy ?b. ?b ?prop ?val } } Unfolding Processes furtherDetailed

LOCATION DESCRIPTIONS ORGANIGRAM

taskPerformedBy

PROCESS MODELS Web page using location descriptions for a running process

furtherDetailed furtherDetailed

slide-45
SLIDE 45

REFSQ 2018 45

Required enablers

  • ADOxx as a platform for agile modelling language customization
  • free at http://adoxx.org
  • RDF vocabulary to map concepts to diagrammatic constructs (nodes,

connectors, attributes etc.)

  • see Karagiannis&Buchmann, Linked Open Models: Extending Linked Open Data with

Conceptual Model Information in Information Systems 56, p. 174-197, Elsevier, 2016

  • implemented in a model-to-RDF conversion plug-in for ADOxx
  • Graph Database with reasoning capabilities (OWL, rules) to store and

reason on models

  • free at http://graphdb.ontotext.com
slide-46
SLIDE 46

REFSQ 2018 46

Conclusions

  • The paper advocates a hybridisation between visualisation and

knowledge representation

  • Key enablers: AMME and RDF combined as a Mind Mapping Method
  • Key design decision: a structured conceptual core with agile open endedness and

editable graphics

  • Opportunities:
  • Semantic links can be generalised between mind maps and arbitrary types of models

(beyond Zachman Framework)

  • Knowledge streamlining across the traditional gap between human-readability and

machine-readability

  • Limitations:
  • Method evaluation still partial (especially wrt productivity)
slide-47
SLIDE 47

REFSQ 2018 47

Takeaway message

The traditional gap between mind mapping and conceptual modelling stems from a perception of modelling languages as being rigid (=standardized) => Mind mapping becomes a relevant use case for agile modelling methods (where the balance between freedom and prescription can be fine-tuned)

slide-48
SLIDE 48

Thank you!

Robert Buchmann robert.buchmann@econ.ubbcluj.ro Ana-Maria Ghiran anamaria.ghiran@econ.ubbcluj.ro Dimitris Karagiannis dk@dke.univie.ac.at Cristina Osman cristina.osman@econ.ubbcluj.ro