Skip to content

lkdev97/swtp_impl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 

Repository files navigation

Projektbericht

Ableitung von UML-Zustandsdiagrammen aus UML-Sequenzdiagrammen

Softwaretechnik-Projekt
Wintersemester 22/23
Gruppe 1: Oskar Arlt, Julian Deiß, Christian Graber, Lars Köhler


This repository contains the source code of a tool designed to convert PlantUML sequence diagrams to semantically analogous state diagrams.

Setup

IntelliJ (Recommended)

  1. Clone this repository (git clone [email protected]:omar36/swtp.git).
  2. Launch IntelliJ.
  3. Open the project folder (swtp2) inside the cloned repository (File->Open...).
  4. Wait for IntelliJ to finish importing and indexing the project.
  5. Open Main.java and press the green run button next to the main method to compile and run the project.

VS Code

  1. Make sure Java 17 is installed and the default JDK of your system.
  2. Clone this repository (git clone [email protected]:omar36/swtp.git).
  3. Launch VS Code.
  4. Open the project folder (swtp2) inside the cloned repository (File->Open Folder...).
  5. Install the following extensions: Extension Pack for Java, Gradle for Java
  6. Open Main.java and press the Run button above the main method to compile and run the project.

Generating a Jar-File

The Gradle-Plugin shadowJar has been configured for this project. To generate a jar-file containing all dependencies, execute ./gradlew shadowJar in this directory. The generated jar-file can be found in build/libs.

Demo

@startuml test
User -> GasPump: insertCard
GasPump -> User: requestPin
User -> GasPump: pinCode
GasPump -> Bank: validate
Bank -> GasPump: result(pinOK)
alt pinOk
GasPump -> User: startFuel
User -> GasPump: hangUp
else !pinOk
GasPump -> User: invalidPin
end
GasPump -> User: cardOut
@enduml

@startuml
hide empty description
state GasPump {
[*] --> S1
S1 --> S2: insertCard
S2 --> S3: / requestPin
S3 --> S4: pinCode
S4 --> S5: / validate
S5 --> S6: result(pinOK)
state S6 {
[*] --> S8
S8 --> S10: pinOk
state S10 {
[*] --> S12: / startFuel
S12 --> S13: hangUp
S13 --> [*]
}
S10 --> [*]
S8 --> S15: !pinOk
state S15 {
[*] --> S17: / invalidPin
S17 --> [*]
}
S15 --> [*]
}
S6 --> S19: / cardOut
S19 --> [*]
}
@enduml

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages