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

Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de RequisitosPaulo Furtado
 
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e FluxogramaAula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e FluxogramaMessias Batista
 
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...
FOSDEM MySQL & Friends Devroom, February 2018  MySQL Point-in-Time Recovery l...FOSDEM MySQL & Friends Devroom, February 2018  MySQL Point-in-Time Recovery l...
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...Frederic Descamps
 
Oracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptOracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptChien Chung Shen
 
ClickHouse Features for Advanced Users, by Aleksei Milovidov
ClickHouse Features for Advanced Users, by Aleksei MilovidovClickHouse Features for Advanced Users, by Aleksei Milovidov
ClickHouse Features for Advanced Users, by Aleksei MilovidovAltinity Ltd
 
SQL Queries
SQL QueriesSQL Queries
SQL QueriesNilt1234
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoMaria Alice Jovinski
 
MariaDB 10.11 key features overview for DBAs
MariaDB 10.11 key features overview for DBAsMariaDB 10.11 key features overview for DBAs
MariaDB 10.11 key features overview for DBAsFederico Razzoli
 
DAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon AuroraDAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon AuroraAmazon Web Services
 
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...ScyllaDB
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web ServicesFabio Leal
 
DDL,DML,SQL Functions and Joins
DDL,DML,SQL Functions and JoinsDDL,DML,SQL Functions and Joins
DDL,DML,SQL Functions and JoinsAshwin Dinoriya
 
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationWhitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationKristofferson A
 

What's hot (20)

Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e FluxogramaAula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
 
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...
FOSDEM MySQL & Friends Devroom, February 2018  MySQL Point-in-Time Recovery l...FOSDEM MySQL & Friends Devroom, February 2018  MySQL Point-in-Time Recovery l...
FOSDEM MySQL & Friends Devroom, February 2018 MySQL Point-in-Time Recovery l...
 
Oracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptOracle Database Performance Tuning Concept
Oracle Database Performance Tuning Concept
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
ClickHouse Features for Advanced Users, by Aleksei Milovidov
ClickHouse Features for Advanced Users, by Aleksei MilovidovClickHouse Features for Advanced Users, by Aleksei Milovidov
ClickHouse Features for Advanced Users, by Aleksei Milovidov
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
MySQL for beginners
MySQL for beginnersMySQL for beginners
MySQL for beginners
 
SQL Queries
SQL QueriesSQL Queries
SQL Queries
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniao
 
MariaDB 10.11 key features overview for DBAs
MariaDB 10.11 key features overview for DBAsMariaDB 10.11 key features overview for DBAs
MariaDB 10.11 key features overview for DBAs
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
DAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon AuroraDAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon Aurora
 
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
Scylla Summit 2022: Migrating SQL Schemas for ScyllaDB: Data Modeling Best Pr...
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Trabalho uml
Trabalho umlTrabalho uml
Trabalho uml
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
DDL,DML,SQL Functions and Joins
DDL,DML,SQL Functions and JoinsDDL,DML,SQL Functions and Joins
DDL,DML,SQL Functions and Joins
 
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and VisualizationWhitepaper: Mining the AWR repository for Capacity Planning and Visualization
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
 

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
 
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
Object-oriented design patterns  in UML [Software Modeling] [Computer Science...Object-oriented design patterns  in UML [Software Modeling] [Computer Science...
Object-oriented design patterns in UML [Software Modeling] [Computer Science...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] (10)

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...
 
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
Object-oriented design patterns  in UML [Software Modeling] [Computer Science...Object-oriented design patterns  in UML [Software Modeling] [Computer Science...
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
 
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

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

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