Skip to content
This repository has been archived by the owner on Jun 27, 2022. It is now read-only.

SWEN90004 2022S1 Assignment 1 at Uni of Melbourne. Simulation of a museum exploring concurrency issues.

Notifications You must be signed in to change notification settings

nicoatuni/concurrent-museum-simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Concurrent Museum Simulation

This repo contains my solutions for Assignment 1 of SWEN90004 2022S1. The project is broken down into two parts: 1a and 1b.

1a

The goal of 1a is to simulate a museum where tour groups are escorted into and out of rooms by guides, seeking to observe any potential concurrency issues in the process. The implementation is in Java and it utilises threads and basic monitors to implement concurrent objects trying to access shared resources. Details on the assignment specifications are available in 1a/specs.pdf, and a reflection on my observation of the system behaviour is in 1a/reflection.txt. Source files can be found in 1a/src/.

1b

1b, on the other hand, also models the same museum, but in LTS (Labelled Transition System) to allow automatic verification of safety and liveness properties of the system. Details on assignment specifications are available in 1b/specs.pdf, and a discussion on the concurrency issues exposed by LTSA is in 1b/discussion.txt.

How to Run

# To run 1a
$ cd 1a/src/
$ javac *.java
$ java Main

# To run 1b
# Open the .lts files in 1b/ with LTSA (download from https://www.doc.ic.ac.uk/ltsa/).

About

SWEN90004 2022S1 Assignment 1 at Uni of Melbourne. Simulation of a museum exploring concurrency issues.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages