SlideShare a Scribd company logo
1 of 48
Download to read offline
Software and Services research group (S2)
Department of Computer Science, Faculty of Sciences
Vrije Universiteit Amsterdam
VRIJE
UNIVERSITEIT
AMSTERDAM
Modeling objects interaction
via UML sequence diagrams
Software modeling (400170) – 2017/2018
Ivano Malavolta
i.malavolta@vu.nl
VRIJE
UNIVERSITEIT
AMSTERDAM
Examples of questions in the final exam (1)
2
VRIJE
UNIVERSITEIT
AMSTERDAM
Examples of questions in the final exam (2)
3
VRIJE
UNIVERSITEIT
AMSTERDAM
Examples of questions in the final exam (3)
4
VRIJE
UNIVERSITEIT
AMSTERDAM
Examples of questions in the final exam (4)
5
VRIJE
UNIVERSITEIT
AMSTERDAM
Roadmap
§ Introduction
§ Basics
§ Interactions and interaction partners
§ Messages
§ Combined fragments
§ Branches and loops
§ Concurrency and order
§ Filters and assertions
§ Further language elements
6
VRIJE
UNIVERSITEIT
AMSTERDAM
Introduction
§Interaction
§ Specifies how messages and data are exchanged between objects
§Interaction partners
§ Human (lecturer, administrator, …)
§ Non-human (server, printer, executable software, …)
§Examples of interactions
§ Conversation between persons
§ Message exchange between humans and a software system
§ Communication protocols
§ Sequence of method calls in a program
§ …
7
MAIN GOAL
To model interactions between objects
VRIJE
UNIVERSITEIT
AMSTERDAM
Sequence Diagram
§ Two-dimensional diagram
§ Horizontal axis: involved interaction partners
§ Vertical axis: chronological order of the interaction
§ Interaction = sequence of event specifications
8
VRIJE
UNIVERSITEIT
AMSTERDAM
Interaction Partners
§ Interaction partners are depicted as lifelines
§ Head of the lifeline
§ Rectangle that contains the expression object:Class
§ Body of the lifeline
§ Vertical dashed line
§ Represents the lifetime of the object associated with it
Head of the lifeline
Body of the Lifeline
9
VRIJE
UNIVERSITEIT
AMSTERDAM
Exchanging Messages (1/2)
§ Interaction: sequence of events
§ Message is defined via send event and receive event
§ Execution specification
§ Continuous bar
§ Used to visualize when an interaction partner executes some
behavior
Send event Receive event
Execution specification
10
VRIJE
UNIVERSITEIT
AMSTERDAM
Exchanging Messages (2/2)
3. on different lifelines which exchange messages
2. on different lifelines1. on one lifeline
»Happens before«
11
3 rules about order of messages:
VRIJE
UNIVERSITEIT
AMSTERDAM
Messages (1/3)
§ Synchronous message
§ Sender waits until it has received a response message
before continuing
§ Syntax of message name: msg(par1,par2)
§ msg: the name of the message
§ par: parameters separated by commas
§Asynchronous message
§ Sender continues without waiting for a response
message
§ Syntax of message name: msg(par1,par2)
§Response message
§ May be omitted if content and location are obvious
§ Syntax: att = msg(par1,par2):val
§ att: the return value can optionally be assigned to a variable
§ msg: the name of the message
§ par: parameters separated by commas
§ val: return value
12
VRIJE
UNIVERSITEIT
AMSTERDAM
Messages (2/3)
§ Object creation
§ Dashed arrow
§ Arrowhead points to the head of the lifeline of the
object to be created
§ Keyword new
§ Object destruction
§ Object is deleted
§ Large cross (×) at the end of the lifeline
13
VRIJE
UNIVERSITEIT
AMSTERDAM
Messages (3/3)
§ Found message
§ Sender unknown or not relevant
§ Lost message
§ Receiver unknown or not relevant
§ Time-consuming message
§ "Message with duration"
§ Usually messages are assumed to be transmitted
without any loss of time
§ Express that time elapses between the sending and
the receipt of a message
14
VRIJE
UNIVERSITEIT
AMSTERDAM
Combined fragments
15
VRIJE
UNIVERSITEIT
AMSTERDAM
Combined Fragments
§ Model various control structures
§ 12 predefined types of operators
Operand
Operand
Combined Fragment
Operator
Operand
16
VRIJE
UNIVERSITEIT
AMSTERDAM
Types of Combined Fragments
Operator Purpose
alt Alternative interaction
opt Optional interaction
loop Repeated interaction
break Exception interaction
seq Weak order
strict Strict order
par Concurrent interaction
critical Atomic interaction
ignore Irrelevant interaction
consider Relevant interaction
assert Asserted interaction
neg Invalid interaction
Branchesand
loops
Concurrency
andorder
Filtersand
assertions
17
VRIJE
UNIVERSITEIT
AMSTERDAM
alt Fragment
§ Similar to switch statement in
Java
§ Guards are used to select the
one path to be executed
§ Guards
§ Modeled in square
brackets
§ default: true
§ predefined: [else]
§ Multiple operands
§ Guards have to be disjoint to
avoid indeterministic behavior 18
To model alternative
sequences
VRIJE
UNIVERSITEIT
AMSTERDAM
opt Fragment
§Actual execution at
runtime is dependent on
the guard
§ Exactly one operand
§ Similar to if statement
without else branch
19
To model an optional
sequence
VRIJE
UNIVERSITEIT
AMSTERDAM
loop Fragment
§ Exactly one operand
§ Minimal/maximal number of iterations
§ (min..max) or (min,max)
§ default: (*) .. no upper limit
§ Guard
§ Evaluated as soon as the minimum number of iterations has
taken place
§ Checked for each iteration within the (min,max) limits
§ If the guard evaluates to false, the execution of the loop is
terminated
Notation alternatives:
loop(3,8) = loop(3..8)
loop(8,8) = loop (8)
loop = loop (*) = loop(0,*)
loop is
executed at
least once,
then as long as
a<1 is true
Min
Guard
Max
To model repeated
sequences
VRIJE
UNIVERSITEIT
AMSTERDAM
break Fragment
§ Exactly one operand with a guard
§ If the guard is true:
§ Interactions within this operand are executed
§ (b à c)
§ Remaining operations of the surrounding
fragment are omitted
§ (d)
§ Interaction continues in the next higher
level fragment
§ (e)
Not executed if break is executed
To model exception
handling
VRIJE
UNIVERSITEIT
AMSTERDAM
loop and break Fragment - Example
22
VRIJE
UNIVERSITEIT
AMSTERDAM
Types of Combined Fragments
Operator Purpose
alt Alternative interaction
opt Optional interaction
loop Repeated interaction
break Exception interaction
seq Weak order
strict Strict order
par Concurrent interaction
critical Atomic interaction
ignore Irrelevant interaction
consider Relevant interaction
assert Asserted interaction
neg Invalid interaction
Branchesand
loops
Concurrency
andorder
Filtersand
assertions
23
VRIJE
UNIVERSITEIT
AMSTERDAM
seq Fragment
§ Weak sequencing:
1. Events on different lifelines from different operands may come
in any order
2. Events on the same lifeline from different operands are
ordered such that an event of the first operand comes before
that of the second operand
3. The ordering of events within each of the operands is
maintained in the result
24
The default order of
events
VRIJE
UNIVERSITEIT
AMSTERDAM
strict Fragment
§ Order of event occurrences on different lifelines between
different operands is significant
§ Messages in an operand that is higher up on the vertical axis are
always exchanged before the messages in an operand that is
lower down on the vertical axis
25
Fixed sequence of
events across lifelines
VRIJE
UNIVERSITEIT
AMSTERDAM
strict Fragment - Example
26
VRIJE
UNIVERSITEIT
AMSTERDAM
par Fragment
27
§ Execution paths of different operands can be interleaved
§ Restrictions of each operand need to be respected
§ Order of the different operands is irrelevant
To relax the chronological order between
messages in different operands
VRIJE
UNIVERSITEIT
AMSTERDAM
par Fragment - Example
28
VRIJE
UNIVERSITEIT
AMSTERDAM
critical Fragment
§ To make sure that certain parts of an interaction are not
interrupted by unexpected events
29
Atomic area
VRIJE
UNIVERSITEIT
AMSTERDAM
critical Fragment - Example
30
VRIJE
UNIVERSITEIT
AMSTERDAM
Types of Combined Fragments
Operator Purpose
alt Alternative interaction
opt Optional interaction
loop Repeated interaction
break Exception interaction
seq Weak order
strict Strict order
par Concurrent interaction
critical Atomic interaction
ignore Irrelevant interaction
consider Relevant interaction
assert Asserted interaction
neg Invalid interaction
Branchesand
loops
Concurrency
andorder
Filtersand
assertions
31
VRIJE
UNIVERSITEIT
AMSTERDAM
ignore Fragment
§ Messages may occur at runtime but have no further significance
§ Exactly one operand
§ Irrelevant messages in curly brackets after the keyword ignore
32
To represent
irrelevant messages
VRIJE
UNIVERSITEIT
AMSTERDAM
consider Fragment
§ Exactly one operand, dual to ignore fragment
§ Considered messages in curly brackets after the keyword
consider
33
To represent messages with
particular importance
VRIJE
UNIVERSITEIT
AMSTERDAM
ignore vs. consider
34
These are the same
VRIJE
UNIVERSITEIT
AMSTERDAM
assert Fragment
§ Deviations that occur in reality but that are not included in the
diagram are not permitted
35
To represent
mandatory interactions
In this case, the
model is COMPLETE
VRIJE
UNIVERSITEIT
AMSTERDAM
neg Fragment
§ Describing situations that must not occur
§ Purpose
§ Explicitly highlighting frequently occurring errors
§ Depicting relevant, incorrect sequences
36
To explicitly represent
invalid interactions
VRIJE
UNIVERSITEIT
AMSTERDAM
Further language elements
37
VRIJE
UNIVERSITEIT
AMSTERDAM
Time Constraints
§Types
§ Point in time for event
occurrence
§ Relative: e.g., after(5sec)
§ Absolute: e.g., at(12.00)
§ Time period between two events
§ {lower..upper}
§ E.g., {12.00..13.00}
§Predefined actions
§ now: current time
§ Can be assigned to an attribute
and then used in a time constraint
§ Duration: calculation of the
duration of a message
transmission
38
VRIJE
UNIVERSITEIT
AMSTERDAM
Interaction Reference
§ Integrates one sequence diagram in another sequence
diagram
39
Definition
Usage
VRIJE
UNIVERSITEIT
AMSTERDAM
Gate
§ Allows you to send and receive messages beyond the
boundaries of the interaction fragment
40
VRIJE
UNIVERSITEIT
AMSTERDAM
Local Attributes and Parameters
§ Every sequence diagram is enclosed by a rectangular frame
with a small pentagon in the upper left corner
§ Keyword sd, name of the sequence diagram, parameters
(optional)
§ Example:
Option 1: Option 2:
void func (int par1, int par2) {
int x = 0;
String y = "Test";
...
}
Parameter
Local
attributes
41
VRIJE
UNIVERSITEIT
AMSTERDAM
State Invariant
§ Asserts that a certain condition must be fulfilled at a certain
time
§ Evaluation before the subsequent event occurs
§ If the state invariant is not true, either the model or the
implementation is incorrect
§ Three alternative notations:
42
Useful for linking your state
machines and sequence
diagrams
VRIJE
UNIVERSITEIT
AMSTERDAM
Notation Elements (1/2)
Name Notation Description
Lifeline
Interaction partners involved in
the communication
Destruction
event
Time at which an interaction partner
ceases to exist
Combined
fragment
Control constructs
43
VRIJE
UNIVERSITEIT
AMSTERDAM
Notation Elements (2/2)
Name Notation Description
Synchronous
message
Sender waits for a response message
Response
message
Response to a synchronous message
Asynchronous
communication
Sender continues its own work
after sending the asynchronous
message
Lost message Message to an unknown receiver
Found message
Message from an unknown
sender
44
VRIJE
UNIVERSITEIT
AMSTERDAM
What this lecture means to you?
• You can model how objects interact with each other now!
• Use case
• main features of the system
• how external actors interact with them
• Class diagram
• main entities of your system
• data types
• Object diagram
• snapshots of your system at run-time
• State machine diagram
• internal behaviour of your objects
• Sequence diagram
• how objects interact with each other (aka external behaviour)
• actors from UML use case diagrams also involved here 45
VRIJE
UNIVERSITEIT
AMSTERDAM
Readings
• UML@Classroom: An Introduction to Object-Oriented
Modeling” – chapter 6
• Learning UML 2.0 – chapter 7
46
VRIJE
UNIVERSITEIT
AMSTERDAM
Solution to the state machine exercise
Event sequence: e1, e2, e4, e4, e3, e1
Value of x?
VRIJE
UNIVERSITEIT
AMSTERDAM
Solution to the state machine exercise

More Related Content

What's hot

School Management System
School Management SystemSchool Management System
School Management SystemZain Basit
 
Online course reservation system
Online course reservation systemOnline course reservation system
Online course reservation systemChamma Jabeedkhan
 
Online Exam System_Industrial Report
Online Exam System_Industrial ReportOnline Exam System_Industrial Report
Online Exam System_Industrial ReportManmeet Sinha
 
e-Learning Management System : a Critical Study
e-Learning Management System : a Critical Studye-Learning Management System : a Critical Study
e-Learning Management System : a Critical StudyKaustav Saha
 
Course registration system
Course registration systemCourse registration system
Course registration systemHuda Seyam
 
SOFTWARE REQUIREMENTS SPECIFICATION.pdf
SOFTWARE REQUIREMENTS SPECIFICATION.pdfSOFTWARE REQUIREMENTS SPECIFICATION.pdf
SOFTWARE REQUIREMENTS SPECIFICATION.pdfFarDeen11
 
synopsis on stock management system in medical store in php
synopsis on stock management system in medical store in phpsynopsis on stock management system in medical store in php
synopsis on stock management system in medical store in phpsachin993
 
Library Management System Project in PHP with BlackBook & Source Code
Library Management System Project in PHP with BlackBook & Source CodeLibrary Management System Project in PHP with BlackBook & Source Code
Library Management System Project in PHP with BlackBook & Source CodeRadikhaSharma
 
GATE PASS MANAGEMENT SYSTEM.pptx
GATE PASS MANAGEMENT SYSTEM.pptxGATE PASS MANAGEMENT SYSTEM.pptx
GATE PASS MANAGEMENT SYSTEM.pptx4047SivaranjithaC
 
Student information-system-project-outline
Student information-system-project-outlineStudent information-system-project-outline
Student information-system-project-outlineAmit Panwar
 
Pharmacy management system fyp documentation
Pharmacy management system fyp documentationPharmacy management system fyp documentation
Pharmacy management system fyp documentationAbubakr Cheema
 
Project report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysqlProject report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysqlRaj Sharma
 
online examination management system
online examination management systemonline examination management system
online examination management systemPraveen Patel
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination systemlunarrain
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...Fatima Qayyum
 
Hospital management system
Hospital management systemHospital management system
Hospital management systemMehul Ranavasiya
 
Super marketbillingsystemproject
Super marketbillingsystemprojectSuper marketbillingsystemproject
Super marketbillingsystemprojectVickey Mahant
 

What's hot (20)

SRMS-PPT-ftxttm.pptx
SRMS-PPT-ftxttm.pptxSRMS-PPT-ftxttm.pptx
SRMS-PPT-ftxttm.pptx
 
Student information system
Student information systemStudent information system
Student information system
 
School Management System
School Management SystemSchool Management System
School Management System
 
Online course reservation system
Online course reservation systemOnline course reservation system
Online course reservation system
 
Online Exam System_Industrial Report
Online Exam System_Industrial ReportOnline Exam System_Industrial Report
Online Exam System_Industrial Report
 
e-Learning Management System : a Critical Study
e-Learning Management System : a Critical Studye-Learning Management System : a Critical Study
e-Learning Management System : a Critical Study
 
Course registration system
Course registration systemCourse registration system
Course registration system
 
SOFTWARE REQUIREMENTS SPECIFICATION.pdf
SOFTWARE REQUIREMENTS SPECIFICATION.pdfSOFTWARE REQUIREMENTS SPECIFICATION.pdf
SOFTWARE REQUIREMENTS SPECIFICATION.pdf
 
synopsis on stock management system in medical store in php
synopsis on stock management system in medical store in phpsynopsis on stock management system in medical store in php
synopsis on stock management system in medical store in php
 
Problem statements
Problem statementsProblem statements
Problem statements
 
Library Management System Project in PHP with BlackBook & Source Code
Library Management System Project in PHP with BlackBook & Source CodeLibrary Management System Project in PHP with BlackBook & Source Code
Library Management System Project in PHP with BlackBook & Source Code
 
GATE PASS MANAGEMENT SYSTEM.pptx
GATE PASS MANAGEMENT SYSTEM.pptxGATE PASS MANAGEMENT SYSTEM.pptx
GATE PASS MANAGEMENT SYSTEM.pptx
 
Student information-system-project-outline
Student information-system-project-outlineStudent information-system-project-outline
Student information-system-project-outline
 
Pharmacy management system fyp documentation
Pharmacy management system fyp documentationPharmacy management system fyp documentation
Pharmacy management system fyp documentation
 
Project report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysqlProject report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysql
 
online examination management system
online examination management systemonline examination management system
online examination management system
 
SRS for online examination system
SRS for online examination systemSRS for online examination system
SRS for online examination system
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
 
Hospital management system
Hospital management systemHospital management system
Hospital management system
 
Super marketbillingsystemproject
Super marketbillingsystemprojectSuper marketbillingsystemproject
Super marketbillingsystemproject
 

Similar to Modeling objects interaction via UML sequence diagrams [Software Design] [Computer Science] [Vrije Universiteit Amsterdam] [2017/2018]

Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...Ivano Malavolta
 
Processing large-scale graphs with Google(TM) Pregel
Processing large-scale graphs with Google(TM) PregelProcessing large-scale graphs with Google(TM) Pregel
Processing large-scale graphs with Google(TM) PregelArangoDB Database
 
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...NoSQLmatters
 
Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...
Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...
Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...Edureka!
 

Similar to Modeling objects interaction via UML sequence diagrams [Software Design] [Computer Science] [Vrije Universiteit Amsterdam] [2017/2018] (9)

Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
 
XLANG
XLANGXLANG
XLANG
 
Processing large-scale graphs with Google(TM) Pregel
Processing large-scale graphs with Google(TM) PregelProcessing large-scale graphs with Google(TM) Pregel
Processing large-scale graphs with Google(TM) Pregel
 
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
Frank Celler – Processing large-scale graphs with Google(TM) Pregel - NoSQL m...
 
Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...
Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...
Rust Tutorial | Rust Programming Language Tutorial For Beginners | Rust Train...
 
Java Basics
Java BasicsJava Basics
Java Basics
 

More from Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionIvano Malavolta
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reportingIvano Malavolta
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validityIvano Malavolta
 

More from Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perception
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reporting
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validity
 

Recently uploaded

Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 

Recently uploaded (20)

Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Modeling objects interaction via UML sequence diagrams [Software Design] [Computer Science] [Vrije Universiteit Amsterdam] [2017/2018]