Mapping Data Flow Models to the Palladio Component Model Stephan - - PowerPoint PPT Presentation

mapping data flow models to the palladio component model
SMART_READER_LITE
LIVE PREVIEW

Mapping Data Flow Models to the Palladio Component Model Stephan - - PowerPoint PPT Presentation

Mapping Data Flow Models to the Palladio Component Model Stephan Seifermann, Dominik Werle, Mazen Ebada 06.11.2019 - Symposium on Software Performance 2019, Wrzburg SOFTWARE DESIGN AND QUALITY GROUP, INSTITUTE FOR PROGRAM STRUCTURES AND DATA


slide-1
SLIDE 1

SOFTWARE DESIGN AND QUALITY GROUP, INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, KIT DEPARTMENT OF INFORMATICS

KIT – The Research University in the Helmholtz Association

www.kit.edu

Mapping Data Flow Models to the Palladio Component Model

Stephan Seifermann, Dominik Werle, Mazen Ebada 06.11.2019 - Symposium on Software Performance 2019, Würzburg

slide-2
SLIDE 2

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Motivation

06 November 2019 2

Software Architects Sketched Architecture Will quality goals be achieved?

  • ther models
  • ther

tools Architecture Models Analyses Are results compatible? Are all models consistent?

validate extract items valid

  • rder

WebUI Business Logic

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-3
SLIDE 3

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

High Level Challenges and Goals Challenges of multiple models and analyses

  • Consistency between separated models not trivial
  • Additional maintenance effort for multiple models
  • Analysis results have to be about same version

Benefit of using dedicated models and analyses

  • Modeling approach tailored to quality analysis
  • Established analyses provide good predictions

06 November 2019 3

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-4
SLIDE 4

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Topics in this Talk

Covered Models

  • Data Flow Diagrams (DFDs)

[DeMarco79]

  • Palladio Component Model (PCM)

[Reussner16]

Covered Challenges

  • Consistency:

Mapping rules between DFDs and PCM

  • Maintenance Effort:

Idea for automated PCM stub generation

06 November 2019 4

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-5
SLIDE 5

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

State of the Art

Relation Data Flow and Control Flow Diagrams

  • Mapping DFD to object-oriented

design [Alabiso88]

  • Mapping DFD to fine-grained

behavior [LarsenPlatToetenel94] Resolving ambiguities

  • Control flow nodes in DFDs

[WardMellor86]

  • Relation inputs and outputs

[TsePong89][BrunzaWeide93]

06 November 2019 5

breaks separation between requirements and design no realistic DFDs (1:1 mapping

  • f inputs to outputs)

handling of ambiguities and design space not clear Does not match required level of abstraction

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-6
SLIDE 6

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Foundations

  • Defined by DeMarco
  • Sources, sinks, processors, files, data flows

Data Flow Diagrams

  • Mapping of input data to output data [BrunzaWeide93]
  • 𝐹: Set of all entities
  • 𝐸: Set of all data
  • 𝑓, 𝐸𝑗𝑜, 𝐸𝑝𝑣𝑢 : Mapping with e ∈ 𝐹 ⋀ 𝐸𝑗𝑜, 𝐸𝑝𝑣𝑢 ∈ 𝐸

Data Mapping Extension

06 November 2019 6

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-7
SLIDE 7

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Running Example

06 November 2019 7

  • rder

pay Customer

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-8
SLIDE 8

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Running Example

06 November 2019 8

  • rder

pay

  • rder

Customer

Customer, ∅, order

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-9
SLIDE 9

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Running Example

06 November 2019 9

bill

  • rder

pay

  • rder
  • rderConfirmation

Customer

Customer, ∅, order

  • rder, order , orderConfirmation, bill

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-10
SLIDE 10

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Running Example

06 November 2019 10

bill creditCardData

  • rder

pay

  • rder
  • rderConfirmation

Customer

Customer, ∅, order

  • rder, order , orderConfirmation, bill

Customer, orderConfirmation , creditCardData

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-11
SLIDE 11

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Running Example

06 November 2019 11

bill creditCardData payConfirmation paidBill

  • rder

pay

  • rder
  • rderConfirmation

Customer

Customer, ∅, order

  • rder, order , orderConfirmation, bill

Customer, orderConfirmation , creditCardData pay, creditCardData,bill , paidBill, payConfirmation

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-12
SLIDE 12

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Coverage of Views by Mapping Rules

Structural View

  • Components
  • System

Behavioral View

  • Usage
  • Component Behavior

Deployment

  • Resources
  • Allocation

06 November 2019 12

State of the Art Mappings Foundations Summary Motivation Running Example Process

covered covered not covered

slide-13
SLIDE 13

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Structural View – Components

06 November 2019 13

  • rder, order , orderConfirmation, bill

pay, creditCardData,bill , paidBill, payConfirmation

State of the Art Mappings Foundations Summary Motivation Running Example Process

Order

«Interface»

IOrder

  • rder(Order) :

OrderConfirmation

«Interface»

IPay

pay(CCD) : PayConfirmation

«Interface»

IPullBill

getBill() : Bill

Pay

«DataType»

Order

«DataType»

OrderConfirmation

«DataType»

PayConfirmation

«DataType»

CCD

«DataType»

Bill

slide-14
SLIDE 14

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Structural View – System

06 November 2019 14

«System»

OrderSystem

«AssemblyContext»

Order

«AssemblyContext»

Pay

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-15
SLIDE 15

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Behavioral View – Usage

06 November 2019 15

Customer, ∅, order Customer, orderConfirmation , creditCardData

State of the Art Mappings Foundations Summary Motivation Running Example Process

«UsageScenario»

Customer

«ScenarioBehavior»

Customer

«ELSC»

call order

«ELSC»

call pay

«Workload» «Delay»

wait

slide-16
SLIDE 16

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Behavioral View – Component Behavior

06 November 2019 16

«RDSEFF»

Pay::pay

«ECA»

get bill

«InternalAction»

process payment

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-17
SLIDE 17

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Mapping Data Dependencies to Signatures

  • Identification of caller
  • All data has to originate from and go to caller

Assumptions

06 November 2019 17

  • rder, order ,
  • rderConfirmation, bill

bill

  • rder

pay

  • rderCon-

firmation Customer

  • rder

State of the Art Mappings Foundations Summary Motivation Running Example Process

«Interface»

IOrder

  • rder(Order) : Bill, OrderConfirmation
slide-18
SLIDE 18

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Pull

Handling Different Data Sources and Targets

06 November 2019 18

  • rder, order ,
  • rderConfirmation, bill

bill

  • rder

pay

  • rder
  • rderCon
  • firmation

Customer

requirement: data must not be trigger for process

State of the Art Mappings Foundations Summary Motivation Running Example Process

Customer Order Pay IOrder

  • rder(Order) :

OrderConfirmation IPullBill getBill() : Bill

slide-19
SLIDE 19

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Push

Handling Different Data Sources and Targets

06 November 2019 19

  • rder, order ,
  • rderConfirmation, bill

bill

  • rder

pay

  • rder
  • rderCon
  • firmation

Customer

satisfies data dependencies and triggers

State of the Art Mappings Foundations Summary Motivation Running Example Process

Customer Order Pay IOrder

  • rder(Order) :

OrderConfirmation IPay pushBill(bill)

slide-20
SLIDE 20

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Envisioned Development Process

06 November 2019 20

State of the Art Mappings Foundations Summary Motivation Running Example Process

Software Architect Requirements Engineer Design Decisions DFD Software Architect Requirements Engineer Automatic Transformation Design Decisions Tracing DFD Architecture Software Architect Requirements Engineer Automatic Transformation Design Decisions Tracing DFD Architecture Software Architect Requirements Engineer Consistency Check Automatic Transformation Design Decisions Tracing DFD Architecture Report

slide-21
SLIDE 21

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Conclusion

Summary

  • Motivation: DFDs and PCM instances tailored for different quality analyses
  • Approach: Mappings from DFDs to PCM are possible but not trivial
  • Customization: Considering design decisions necessary for realistic architectures

Envisioned Benefit

  • Use best fitting models and analyses for quality prediction
  • Lower effort for using both models together

Future Work

  • Identify further call patterns and complete mappings
  • Define set of selectable design decisions
  • Realize automated transformation to apply mappings

06 November 2019 21

State of the Art Mappings Foundations Summary Motivation Running Example Process

slide-22
SLIDE 22

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Literature References

[DeMarco79]

  • T. DeMarco. Structured analysis and system specication. Prentice-Hall, 1979.

[WardMellor86]

  • P. T. Ward and S. J. Mellor. Structured development for real-time systems. Vol. 3:

Implementation modeling techniques. Yourdon Press, 1986. [Alabiso88]

  • B. Alabiso. “Transformation of Data Flow Analysis Models to Object Oriented Design”. In:

OOPSLA'88. ACM, 1988, pp. 335-354. [TsePong89]

  • T. H. Tse and L. Pong. “Towards a Formal Foundation for DeMarco Data Flow Diagrams”. In:

The Computer Journal 32.1 (1989), pp. 1-12.

06 November 2019 22

slide-23
SLIDE 23

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Literature References

[BrunzaWeide93]

  • P. Brunza and T. van der Weide. The Semantics of Data Flow Diagrams. Technical Report TR

89-16. Dept. of Information Systems, University of Nijmegen, 1993. [LarsenPlatToetenel94]

  • P. G. Larsen, N. Plat, and H. Toetenel. „A Formal Semantics of Data Flow Diagrams”. In: FAOC

6.6 (1994), pp. 586-606. [Reussner16]

  • R. H. Reussner et al. Modeling and Simulating Software Architectures - The Palladio Approach.

MIT Press, 2016.

06 November 2019 23

slide-24
SLIDE 24

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Image References

Motivation

Group of Architects https://pixabay.com/photos/architect-people-plan-construction-3979490/ Pixabay License - https://pixabay.com/service/license/ Architecture Drawing https://pixabay.com/photos/architecture-blueprint-floor-plan-1857175/ Pixabay License - https://pixabay.com/service/license/ Shield Icon https://pixabay.com/de/vectors/schild-sicherheit-schutz-sicher-1086702/ Pixabay License - https://pixabay.com/service/license/

06 November 2019 24

slide-25
SLIDE 25

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Image References

Goals and Challenges

Darts Board https://pixabay.com/photos/target-goal-success-dart-board-1955257/ Pixabay License - https://pixabay.com/service/license/ Magic Cube https://pixabay.com/photos/magic-cube-patience-tricky-hobby-1976725/ Pixabay License - https://pixabay.com/service/license/

Topics

Person in Front of Whiteboard https://pixabay.com/photos/concept-man-papers-person-plan-1868728/ Pixabay License - https://pixabay.com/service/license/ Lightbulb https://pixabay.com/photos/light-bulb-lightbulb-light-bulb-1246043/ Pixabay License - https://pixabay.com/service/license/

06 November 2019 25

slide-26
SLIDE 26

Software Design and Quality Group Institute for Program Structures and Data Organization Stephan Seifermann, Dominik Werle, Mazen Ebada – Mapping Data Flow Models to the Palladio Component Model

Image References

Covered Views

Puzzle Pieces https://pixabay.com/de/photos/puzzleteile-puzzle-puzzeln-1925425/ Pixabay License - https://pixabay.com/service/license/ Chart Drawing https://pixabay.com/de/photos/technologie-klassenzimmer-bildung-1095751/ Pixabay License - https://pixabay.com/service/license/ Servers https://pixabay.com/de/photos/technologie-server-1587673/ Pixabay License - https://pixabay.com/service/license/

Envisioned Development Process

Cog Icon https://pixabay.com/vectors/gear-mechanics-settings-icon-1119298/ Pixabay License - https://pixabay.com/service/license/

06 November 2019 26