Reception Plan
Reception Plan
Reception Plan
RECEPTION PLAN
REPORT
ON
MASTER 1
SOFTWARE TOOLS
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
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
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.
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.
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.
P14: Many of the important articles, publications and papers are 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
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.
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
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.
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).\
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.
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.
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.
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