Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

Université Toulouse III - Paul Sabatier

RECEPTION PLAN

REPORT

ON

“Browser-based diagram editor for timed automata models and


coupling to an existing prototype bounded model checker”

MASTER 1

SOFTWARE TOOLS

COMPUTER SCIENCE FOR AEROSPACE

FACULTY OF SCIENCES AND ENGINEERING

Submitted to: Submitted by:

Christina Herzog Ehsan Elwan A.

Monpara Radhika

Mukhtar Ibrahim K.

TOULOUSE, 2019.
Table of Contents

1. Abstract…………………………………………………………………………………………….2
2. Goals…………………………………………………………………………………………………2
3. Timeline of the project……..………………………………………………………………3
4. Means of the project………………………………………………………………..………5
5. Responsibilities of members…………………………………………………………....5
6. Project Activity Overview…..…………………………………………………………….6
7. Problems Description &Resolution procedures……..………………………..8
8. Security and Confidentiality…………………………………………………………….11
9. Conclusion……………………………………………………………………………………...12

1
1. Abstract
In the context of this project, we develop a browser-based diagram editor to
represent and manipulate the timed automata and we use an existing
prototype model provided by our supervisor, as a bounded model checker of
a browser based diagram editor. We also ensure the coupling(i.e. the
connection) on the server-side with theprototype that is capable of
computing feasible execution traces.The project is developed for software
engineers, Computer scientists and web developers. For them to be used this
as a good verification tool for real timed systems for example a Train Gate
controller, a coffee machine etc.

2. Goals
1. To develop the editor.
2. A secondary goal is the display of execution traces in a sequence
diagram format to make it easier to read in detail every trace with the
actions, actors and order of interaction all visible for analysis and
verification on the browser side and implementing trace diagnostic
functionality (filtering, etc.). The trace diagnostic functionality is in-
built in order to analyze the performance and resource consumption
of the prototype. The prototype implementation relies on a MILP
solver (Gurobi) because MILP scales well with Mixed-Integer
reasoning.
3. Timeline of the project

JANUARY 2019
DA ACTIVITY
Y
28 First Communication with Prof. Iulian Ober via email to seek his
supervision.
31 Accepted to supervise us and scheduled a meeting with us on 4 th
February.

FEBRUARY 2019
DA ACTIVITY
Y
4 Meeting with Prof. Iulian Ober:
2
 We overviewed his published state of the art paper on
“Revisiting bounded reachability analysis of timed
automata based on MILP”.
 He gave us his website name.
 We discussed options toimplement the project. We
decided to use python programming language. We are to
implement the solver so that MILP models are built every
time.
 exchanged GitHub accounts to put our codes
progressively. Ehsan, Ibrahim, Radhika.
5 The Supervisor asked us to implement both SMT solver and the
MILP if possible, but first the priority was to use MILP solver
because SMT solvers may have performance issues with
division and reasoning with integers. MILP tools support
transcendental functions and scale well for mixed integer
reasoning. The SMT solver could be used only if we face the
license obtaining issue with the Gurobi.
6 Figured out the GUI of the editor on paper.
7 Designed Database relational model to store the
informationobtained from the website(i.e. the editor that we
are developing).
8 As designed, the front-end is implemented with States,
transitions, icons, menus and colors.
9 Scheduled a meeting with our Supervisor on Tuesday 12 th,
February to discuss about the State of the Art.
12 Meeting with our Supervisor. We discussed the research paper,
the project coding and the State of the Art content and
structure. The supervisor approved prototype n°2 with some
additional points to add to the UI,thuswe decided to discard
prototype n°1 and refine n°2.
13 Analyzed the Article paper published by Mr. Ober. The Gurobi
license problem was solved so, we can use the MILP solver.
14 Prototype ready all new points are included; we can start
coding 1st version. Start building the web site template
15 Coding day
16 Report Making day
17 Report Submission
18 Papers and Articles reading
22 Discussed content and SOA paper structure and decided the
overleaf template.
24 Contributed 1st version of SOA on overleaf
3
25 State Of the Art writing work in progress
28 Done with the transformation part from the editor to the
JavaScript, coupled it with the brat file on GitHub, and re-
executed the project.

March 2019
1 Performing User Tests
2 Discovered exceptions and issues. Thus, implementing solutions
is in progress.
5 Project Manager teacher helped us figure out mistakes in
report.
6 State of the Art and Report work in progress.
10 Report submission.
11 Discussion on presentation slides order and the content.
12 Meet up of the group members in the Library for content
discussion in detail.
13 Meeting with the technical supervisor.
14 Getting the slides ready for the next day’s presentation of the
project.
15 The Presentation Day.
18 State Of the Art in making and Technical work in progression.
22 Research of the papers related to the project.
24 Report Submission.
25 Need to figure out the sequence diagram from the output
execution trace.
26 State Of the Art paper written and sent to the supervisor for
corrections and more suggestions.
27 Drafted the “About” section for the webpage and the decision
to follow V model to manage the project.
28 Implementation of the login form.
30 Implementation of databases.
31 Received corrections and implemented them.

April 2019
1 Testing
3 Development
4 Coding
9 Report writing
4
10 Designing the Sequence diagram prototype from the
backend execution traces on paper
17 Meeting the supervisor

4. Means of the project


University Library, University Computers to access the project related
publications, Personal Workstations.

Coding environment: python, HTML, JavaScript

Tools: For now, we have all the tools we need namely:

 Computers with python, HTML and JavaScript installed


 GitHub accounts topush thecoding progress
 The professor’s website and research paper
 A quick-and-dirty version of python code that uses SMT solver.

5. Responsibilities of members
Despite all of the group members being dynamic and eager to do everything,
we split and divide the workload with each having to concentrate more on a
part. The split is as follows:

ROLE MEMBER
GroupHead Ehsan Elwan A.
Developer Ehsan Elwan A.
Tester Ehsan Elwan A.
Project Manager Mukhtar Ibrahim K.
Backend Designer Mukhtar Ibrahim K.
GUI Designer Monpara Radhika
Report editor and Content Mukhtar Ibrahim K., Monpara
provider Radhika

However, we interchange when the need arises.

5
6. Overview of Project Activity
Report1: Ehsan Elwan A. put together the prototype and got the website
working. He has already implemented the States and transitions of the
automata and is looking to finish it soon enough. Radhika Monpara designed
the Abstract, Concrete and Final User interfaces, made the timeline and
handled the communication aspects (Email to Supervisor, scheduling
meetings etc.). Mukhtar Ibrahim K. designed the relational database model
and typed the weekly report. We are now looking to share the workload for
the State of the art.

Report2: Radhika Monpara analyzed the research paper thoroughly and


proposed some examples we can to use to describe the project e.g. coffee
machine, train-rail system. She also proposed the use of Overleaf for the
State of the art and she created the account. Ehsan Elwan got the prototype
ready after the supervisor gave him the go-ahead to start the Coding. It is
now functional; the next step will be implementing the projects browser
sidebar then we can startthe testingprocess. Mukhtar Ibrahim typed the
report, handled he communications aspects and created Zotero account for
the references.

Report 3: Mukhtar Ibrahim K. decided the template for the State of the Art
paper, its structure and the content. He iterated the State of the Art Paper
several times on the overleaf.Radhika Monpara also contributed to the SOA
paper, managed the project and tracked the progress. Ehsan Elwan A. is
done with the transformation part from the editor to the JavaScript, he also
coupled it with the brat file on the GitHub and re-executed the project. He
performed the user tests and found a few number of Problems and issues
raised which we shall see in the next section of Problems and Solutions.

Report 4: Mukhtar Ibrahim K. communicated the work progress to the


technical supervisor and have been rigorously reading to develop the State
Of the Art more effective. Ehsan Elwan worked on the editor which was
ready along with Json object so that it can be finally received and checked by
the BMC checker to generate results. Referring to the problem P5, he had
been working on the last exception out of the user tests he performed. Also,
the web server Django is implemented to function in the back-end. New
6
organization for the project browser is done as suggested by the supervisor,
Radhika MONPARA created the structure and flow of content of the slides
for the mid-term presentation and they were shared on the google doc to be
viewed and modified by every team member according to their speech. She
managed the writing aspects and content generation for the reports and the
slides.

Report 5: Mukhtar Ibrahim K. is in charge of digital communication aspects


with the supervisor and among team members and after rigorous reading all
the theories and concepts behind the project he was set to write the State
Of the Art paper. Later, he got it reviewed by Ehsan and Radhika to make
some corrections and forwarded it to the supervisor for the final review.
Ehsan Elwan worked on implementation of login form, the databases part
and he along with Radhika Monpara tried to figure out the sequence
diagram design for the trace generated by a run in the project. Him and
Ibrahim together went on for the databases design and strategy choices that
is adaptable to the programming language used. Still, the sequence diagram
design finalization is to be done in the next meeting with the
supervisor.Radhika MONPARA traces and analyses the activities carried out
throughout the semester and monitors all the related activities, needs,
requirements for the content of bi-weekly reports.

7. Problems and Resolution Procedures


Problems:

P1:Free tools available online are difficult to find.

We didn’t find any free online webapps.

P2: Bullet points for implementation of State of the art

P3: Not all of us are online at the same time.

P4:Displaying the execution traces in form of a sequence diagram

P5: Coding the projects browser, testing the prototype user interface,
that is enough time consuming. A lots of errors, issues and exceptions
raised while doing user tests.

P6:Testing the website.


7
P7:Implementation of the State of Art.

P8:Access to Education Articles online

P9:MS Office does not have the required format.

P10: How to arrange the references.

P11: Lots of math equations in publications, very ambiguous to us.

P12: A lot of random unstructured and unorganized information.

P13: Information continues to change as the project evolves.

P14: Many of the important articles, publications and papers are not
free.

P15: GoJS is not free.

P16: Duplication problem in the project tree i.e. - two projects could
have a same name in the editor screen.

P17: States in the state chart also need conditions to be placed on them
but in the JS library, we don’t have guards on states and transitions

P18: Representation of a user project on the front end.

P19: Synchronization between three different objects – the project


browser, state charts, JSON object.

P20: Dilemna to chose between Relational databases or NoSQL.

P21: While looking up for libraries, we are limited because of the use of
Python2.

P22: Compatibility problem - But even using MongoDB did not solve the
above problem. We need to compromise for its older version to receive
its support. But still because it is older, there are many functions of py2
that MongoDB do not support. Additionally, the bugs and several issues.

P23: Cannot figure out from the backend execution traces the way to
build a sequence diagram out of it.

P24: Errors in State Of the Art Paper like the presence of the practical
work in the Abstract part.
8
Resolution procedures:

S1: For next meeting, Ehsan recommendsJointJs because it’s more suitable
for this project than GoJS and there’s a community of developers available
online for further support.

S2: For the browser,we will use jsTree, it is aJQuery plugin, that provides
interactive trees. It is open source and distributed under the MIT license.

S3: Working on the code refactoring.

S4: Get license for Gurobi.

S5: A meeting with the Supervisor can resolve this issue.

S6:Use of Overleaf. An online tool that helps make science and research faster, more
open and more transparent.

S7: Our content for state of the art for now will be 1. Timed Automata

2. Bounded Model Checking 3. Timed Automata Bounded Model Checking

S8:Use of university computers that allows free access to prominent


websites of published papers.

S9:then we found Uppaal, It’s a free software for non-commercial for


modeling automata. But It is only available on Unix platform (“Mac - Linux”).
It has a decent editor interface. Ehsan is considering this application as an
inspiration source for our editor. For presenting the automata and the
sequence diagram in JavaScript instead of starting from scratch, we found a
couple of different libraries and we chose two (JointS, and GoJs). Both of
them are open-source and available on GitHub. JointJs is under Mozilla
Public License which allows for: Commercial use, Modification, Distribution,
Patent use, Private use. GoJs is however developed by Northwood Software
which offers a month of free developer-to-developer support for GoJS.

S10:We found different libraries online. To make our work easier, we decide
to select two- GoJS and JointJS.

S11: Consult the supervisor, as well as rethink and discuss the project.

S12: Use of Zotero account.


9
S13: Our own JS objects created.

S14: Develop the DS to organize the project to have its own properties and
automatons.

S15: Solved by adding unique ids to tree nodes and by event listener, so
whenever the user creates new node in project, this will trigger a sequence
of actions in which we can check for any duplication in the current project
tree.

S16: Use of indexes for the list data structure in the project tree.

S17: Figured out the flow of information for State Of the Art after meeting
with the supervisor.

S18: Create our custom states objects to suit best for our need(possibility to
add, edit, remove any properties for future development).\

S19:We chose to use NoSql because it is better suited to store structured


formats of the data as the one we have. i.e. JSON data formats.

S20: Many libraries stopped supporting Python2 because it is really older and
thus given this fact, we should use MongoDB.

S21:Back to using the older versions of the driver because MongoDB version
stopped supporting the PyMongo driver.

S22:We need to look at the brat prototype to know how the strings are
handled. The parsing part can handle the different types of spaces and can
evaluate expressions. We figured out that conditions/guards can now be an
expression instead of fixed numbers and thus it works.

S23:Write a function to build sequence diagram.

S24: Only put the original theory and concepts in the Abstract part of the
SOA as suggested by our supervisor.

10
8. Security and Confidentiality
Attackers often have different attack intentions including data theft,
destruction or modification. They may use a variety of techniques to
achieve these objectives such as Malware and exploits. Malware is
malicious code that typically damages an endpoint. They include viruses,
worms, logic bombs (These are triggered by a specific condition, such as a
given date or a particular user account being disabled) etc.

Vulnerabilities may be inadvertently created, or even reintroduced, when


subsequent version updates or security patches are installed. According
to research by Palo Alto Networks, 78 percent of exploits take advantage
of vulnerabilities that are less than two years old.

Security patches are developed by software vendors as quickly as possible


after a vulnerability has been discovered in their software.

However, an attacker may learn of a vulnerability or has an opportunity


to develop a patch. This is known as a zero-day threat (or exploit). It may
be months before a vulnerability is announced publicly. After a security
patch becomes available, it inevitably takes time to properly test and
deploy the patch on an affected system. During this time, the system is at
risk of being exploited by an attacker.

9. Conclusion
Now, we can say to an extent that we have fulfilled the requirements we set
and are confident of presenting this as the reception plan.

We acquired so many forms of knowledge during this research mainly:


 Knowledge in Project management: Each person had a responsibility
and this gave us a practical idea of what it means to manage a project
and we had to explore the most effective ways to organize ourselves
in order to achieve maximum co-operation and efficiency. We took a
look into V-cycle, which proved worthwhile.

11
 Teamwork: One of the most important knowledge acquired during this
research is Teamwork. We are from different backgrounds and
cultures and this helped us yield into the tune of each other.
 In-depth knowledge of the topic in question: Regarding the main topic,
we were able to understand it so much so that we started proposing
directions for the future.
 Improvement in communication and organization: Handling of
communication between group members and supervisor can be very
tricky, as all of you have to be free or be able to make out time. Even
the manner in which you write your professor E-mails have to be
learnt. The knowledge acquired from this is significant.
 Improvement in analysis of scientific papers: After analyzing tens of
papers, we improved in our methods of analyzing scientific papers and
learnt to write in “mathematical language”. The use of Overleaf and
Zotero helped a lot.
 Coding challenges: We have faced many coding challenges and learnt
a lot from them.

12

You might also like