Hostname: page-component-74656f9884-rdgjk Total loading time: 0 Render date: 2026-11-06T22:55:20.460Z Has data issue: false hasContentIssue false

Communiqué: a planning-based sequence diagrams generator

Published online by Cambridge University Press:  23 July 2018

Moataz Ahmed
Affiliation:
King Fahd University of Petroleum & Minerals, Dhahran 31261, Saudi Arabia e-mail: moataz@kfupm.edu.sa, yaser.a.sulaiman@gmail.com
Yaser Sulaiman
Affiliation:
King Fahd University of Petroleum & Minerals, Dhahran 31261, Saudi Arabia e-mail: moataz@kfupm.edu.sa, yaser.a.sulaiman@gmail.com
Rights & Permissions [Opens in a new window]

Abstract

During the software system development lifecycle, different types of Unified Modeling Language model are developed to represent different views of the system. Sequence diagrams represent one of the most important types of model. They show how objects in the system interact to offer the functionality manifested in the form of use cases. As the complexity of the system being modeled increases, creating the sequence diagrams manually becomes harder. However, the problem of automatic sequence diagrams generation has not caught enough researchers yet. This paper presents an approach and a tool to automatically generate sequence diagrams from use cases and class diagrams. The problem of determining the sequence of message passing is treated as an Artificial Intelligence action planning problem and solved as such. In doing so, Design by Contract concepts are enforced in the specification of the given use cases and class diagrams. A special message-passing planner, Communiqué, was developed and implemented accordingly. The overall approach was empirically evaluated against sets of manually created sequence diagrams available in the literature. Communiqué was able to create sequence diagrams comparable to the manually developed ones. The paper also sheds the light on some directions for future work to advance the applicability of the approach.

Information

Type
Research Article
Copyright
© Cambridge University Press, 2018 
Figure 0

Figure 1 A Unified Modeling Language use case diagram describing the functionality of a simple watch (Bruegge & Dutoit, 2010)

Figure 1

Figure 2 Examples of Unified Modeling Language sequence diagram of message passing

Figure 2

Figure 3 A solution to a planning problem as a sequence of actions and state transitions

Figure 3

Table 1 Correspondence between Artificial Intelligence planning and Design by Contract (DbC) (Sulaiman & Ahmed, 2012)

Figure 4

Figure 4 States (as object models) and state transitions

Figure 5

Figure 5 The class diagram of Communiqué

Figure 6

Table 2 Action planners vs. Communiqué as a message planner

Figure 7

Figure 6 Setting the time on a 2-button watch 1 minute ahead (Bruegge & Dutoit, 2010)

Figure 8

Figure 7 The class diagram of 2Bwatch

Figure 9

Figure 8 Communiqué’s initial output

Figure 10

Figure 9 Communiqué’s output after adding the missing association

Figure 11

Figure 10 Tournament creation workflow of the Announce Tournament use case of ARENA (Bruegge & Dutoit, 2010: 247)

Figure 12

Figure 11 The class diagram of ARENA

Figure 13

Figure 12 Communiqué’s output for the tournament creation workflow

Figure 14

Figure 13 Collecting data from a weather station (Sommerville, 2004)

Figure 15

Figure 14 The class diagram of the weather station system

Figure 16

Figure 15 Communiqué’s output for the data collection use case of the weather station system

Figure 17

Figure 16 Finalize Meeting use case of the MeetingsMate system (Al Akel et al., 2011)

Figure 18

Figure 17 Class diagram of Experiment 2

Figure 19

Figure 18 The effect of noise methods on the number of goal tests

Figure 20

Figure 19 The effect of noise methods on the number of goal tests for depth and best-first

Figure 21

Figure 20 The effect of noise methods on the execution real time

Figure 22

Figure 21 The effect of noise methods on the execution real time of depth- and best-first

Figure 23

Figure 22 The effect of noise methods on the plan length

Figure 24

Figure 23 The class diagram used for Experiment 3

Figure 25

Figure 24 The optimal sequence diagram for Experiment 3

Figure 26

Figure 25 The non-optimal sequence diagram for Experiment 3

Figure 27

Figure 26 The search space for Experiment 4

Figure 28

Figure 27 The class diagram used for Experiment 4

Figure 29

Figure 28 Communiqué’s output for Experiment 4

Figure 30

Figure 29 The class diagram used for Experiment 5

Figure 31

Figure 30 The effects of instantaneous state transitions on message planning