Solutions
Pricing
Log in
Teams
Get started
Log in
Get started
Copy of FYP presentation
IH
by
Isaac Harris
·
2 views
·
Updated Nov 13, 2020
Share
Embed
Create your own
Audio Transcript
Auto-generated
00:00 - 00:03
graphical representations of probabilistic models.
00:04 - 00:07
A variety of real life systems exhibit probabilistic behavior, including
00:07 - 00:10
things like security protocols and algorithms that rely on a
00:10 - 00:11
degree of randomness to function.
00:12 - 00:14
We usually want to verify these systems behaviors we think
00:14 - 00:17
they do, and so use probabilistic model checkers to analyze
00:17 - 00:20
them. One of these tools is Prism, which allows models
00:20 - 00:22
to be described in its own language and then analyze
00:23 - 00:24
the model and infer things about the way it functions.
00:26 - 00:28
Prism is able to explore a variety of models, from
00:28 - 00:31
simple deterministic ones to more complicated ones where each action
00:32 - 00:33
has a probability to succeed or fail.
00:34 - 00:37
The current problem is that Prism allows models to be
00:37 - 00:38
explored to a simulator.
00:39 - 00:40
This lets the user step for the states in the
00:40 - 00:42
model, choosing which transaction they won't take.
00:43 - 00:44
However, there is no way to see this visually.
00:45 - 00:47
This makes it much harder to understand the relationships between
00:47 - 00:49
states on the overall structure of the model itself.
00:50 - 00:52
Currently, models could be explored is a dot file and
00:53 - 00:55
viewed using graph is a third party piece of software
00:55 - 00:56
used to visualize graphs.
00:57 - 00:58
This approaches many problems.
00:59 - 01:01
Users must export the model into a dot file every
01:01 - 01:02
time they want to view any changes.
01:03 - 01:05
They're also unable to explore the graph in real time
01:05 - 01:08
to get a better idea of hurricane looks, as prison
01:08 - 01:09
currently only exports the entire model.
01:10 - 01:12
If the user is only interested in a small segment
01:12 - 01:14
of a larger model, they are also unable to visualize
01:15 - 01:15
this by itself.
01:18 - 01:20
My project aims to fix all of these problems by
01:20 - 01:22
allowing a model to be visualized and explored in real
01:22 - 01:25
time. I'm creating a G Y that will allow users
01:25 - 01:28
to view a graphical representation of the bottle were frontier
01:28 - 01:29
of unexplored states.
01:30 - 01:32
They can then choose which states they want to explore
01:32 - 01:34
on. The graph will reformat itself to display the new
01:34 - 01:37
state. As user expands the states, the grass lake will
01:37 - 01:38
have to change in such a way that the user
01:38 - 01:39
does not get lost.
01:40 - 01:42
This will allow users to quickly explore and understand the
01:42 - 01:44
model A ZX well as to only view the areas
01:44 - 01:44
they need.
01:45 - 01:47
Users will also be able to fully explore the graph
01:47 - 01:48
or explore it for certain death as required.
01:49 - 01:51
The project's main aim is to display as much information
01:52 - 01:54
about the model to the user in it's clear away
01:54 - 01:54
as possible.
01:55 - 01:59
Prism currently allows users to see a path showing what
01:59 - 02:01
states they visited on what states they're currently in.
02:02 - 02:05
Alternatively, this could be displayed graphically, as shown below, which
02:05 - 02:08
is much clearer to understand what states have been explored
02:09 - 02:14
on what states connected to those states to decide on
02:14 - 02:16
the best solution for drawing the model as a graph,
02:16 - 02:19
I first researched what makes a graph readable purchase.
02:19 - 02:22
It l studied 49 subjects, looking at a variety of
02:22 - 02:25
dense graphs and found it was important to minimize the
02:25 - 02:27
number of edge crossings a ZX well as a number
02:27 - 02:28
of Ben's in the edges.
02:28 - 02:31
The found mixed evidence that suggested the importance of symmetry.
02:32 - 02:33
Because of this, I decided to make it a priority
02:34 - 02:36
that my algorithm would minimize edge crossings and Ben's.
02:37 - 02:38
This led me to a type of graph during algorithm
02:38 - 02:41
called a force directed to algorithm, which draws graphs that
02:41 - 02:45
tend to be aesthetically pleasing, exhibit symmetries and tend to
02:45 - 02:47
produce crossing free layouts for playing our graphs.
02:48 - 02:51
My project also to present the interesting problem that the
02:51 - 02:53
graph must be redrawn in real time without the use
02:54 - 02:56
of getting confused about where they're looking, which force directed
02:56 - 02:59
algorithms are able to do what's directed algorithms work by.
03:00 - 03:01
Applying force is on the nodes, and then treating the
03:02 - 03:02
system is a physical simulation.
03:03 - 03:05
We know it's pushing each other apart until an equilibrium
03:06 - 03:07
is reached and the nodes stop moving.
03:10 - 03:12
When I began this project, I had to decide whether
03:12 - 03:13
to build my tool is part of the pre existing
03:14 - 03:16
prison code base or to make it a separate tool
03:16 - 03:17
that uses the prison.
03:17 - 03:19
AP. I made the decision to build.
03:19 - 03:21
It, is a separate door first and then potentially integrate
03:21 - 03:22
the code into prison itself later.
03:23 - 03:24
This then made the next decision.
03:24 - 03:27
I had to make much simpler, which Java Graphics Library
03:27 - 03:29
would I use for my G as prism is written
03:29 - 03:32
in swing, it made sense to also use swing, so
03:32 - 03:34
I would be able to easily add the functionality directly
03:34 - 03:35
into prison.
03:36 - 03:38
To my trace of software engineering methodology, I decided on
03:38 - 03:40
the agile methodology for several reasons.
03:41 - 03:43
Firstly, it allows me to change the requirements as I
03:43 - 03:45
explore the problem and discover new features that may be
03:45 - 03:46
useful to add.
03:46 - 03:48
This includes things like the extra directions I could take
03:49 - 03:51
the project Inputs based visualization parties built a swell as
03:52 - 03:55
potentially integrating it into prison directly due to the length
03:55 - 03:55
of the project.
03:56 - 03:57
It will also allow me to spend more time researching
03:58 - 04:00
and programming unless time creating documentation diagrams.
04:07 - 04:09
The project has a great amount of room to expand
04:09 - 04:10
into as I make progress of it.
04:11 - 04:13
Some of these areas include adding the ability to approximate
04:14 - 04:14
a heat map of the model.
04:15 - 04:16
This would add a way of finding out the most
04:17 - 04:18
likely states of the model to be in without having
04:19 - 04:21
to perform the complex calculations used to find the exact
04:21 - 04:24
answer. There is also the possibility of adding support policies
04:24 - 04:26
which will show the best way to reach a particular
04:26 - 04:37
state. Thank you for listening to this video, and I
04:37 - 04:38
hope you enjoy this presentation.
See full transcript