Presentation is loading. Please wait.

Presentation is loading. Please wait.

Saint-Petersburg State University ITMO 1Projects in SPb IFMO Yartsev Boris Computer Technology Department, Saint-Petersburg State.

Similar presentations


Presentation on theme: "Saint-Petersburg State University ITMO 1Projects in SPb IFMO Yartsev Boris Computer Technology Department, Saint-Petersburg State."— Presentation transcript:

1 Saint-Petersburg State University ITMO 1Projects in SPb IFMO Yartsev Boris yartsev@rain.ifmo.ru Computer Technology Department, Saint-Petersburg State University of Information Technology, Mechanics and Optics. Russia Overview of the projects, developed by the students of SPb IFMO under the supervision of professor A.A.Shalyto

2 Saint-Petersburg State University ITMO 2Projects in SPb IFMO Managed under the supervision of professor A.A.Shalyto Developed in the context of automata programming and open project documentation Are available from the Informatic Systems dept. site – http://is.ifmo.ru

3 Saint-Petersburg State University ITMO 3Projects in SPb IFMO Project development Students work at the projects in the third year of studies During the third course students regulary meet their scientific advisor A.A.Shalyto and discuss new ideas and documentation There are 45 projects, that have already been developed, they are available from the site All the documentation is written in russian language. There is an abstract in english.

4 Saint-Petersburg State University ITMO 4Projects in SPb IFMO Documentation structure Introduction The formulating of the tasks The description of the approach Screenshots of the programs Class diagrams Automata documents Conclusion Source code

5 Saint-Petersburg State University ITMO 5Projects in SPb IFMO Automata documents For each automata: Verbal description (declaration of intent) Scheme of automata connections (automata interfaces) State transition diagram Code, isomorphic to the diagram For the whole system: Scheme of automata intercommunication

6 Saint-Petersburg State University ITMO 6Projects in SPb IFMO Overview of several projects The most interesting and maniford projects are presented here

7 Saint-Petersburg State University ITMO 7Projects in SPb IFMO Examples of the projects Traffic lights controller SMTP protocol implementation CodeRally project Robocode project Automata graph designer Translator between different Japanese alphabets

8 Saint-Petersburg State University ITMO 8Projects in SPb IFMO Traffic lights controller Developed by A. Distel and D. Kobak Demonstrates the simple critical object control program Handles the malfunctioning – automatically switches to blinking yellow

9 Saint-Petersburg State University ITMO 9Projects in SPb IFMO Traffic lights controller

10 Saint-Petersburg State University ITMO 10Projects in SPb IFMO Traffic lights controller

11 Saint-Petersburg State University ITMO 11Projects in SPb IFMO Traffic lights. Conclusions Automata approach can be used in critical objects control

12 Saint-Petersburg State University ITMO 12Projects in SPb IFMO SMTP protocol implementation K. Agafonov and D. Poroh implemented the SMTP protocol. Windows gui and command line client, Unix command line client and server Handles several exceptions – connect termination and server shutdown

13 Saint-Petersburg State University ITMO 13Projects in SPb IFMO SMTP protocol implementation The usage of logging Standartized logging protocol for all the classes Three modes – silent, full, only open/close connection events. Different automata can be logged Via logging, one can quickly find the place in the code, where the execution went wrong.

14 Saint-Petersburg State University ITMO 14Projects in SPb IFMO SMTP protocol implementation

15 Saint-Petersburg State University ITMO 15Projects in SPb IFMO SMTP protocol implementation

16 Saint-Petersburg State University ITMO 16Projects in SPb IFMO SMTP procotol implementation. Conclusions Automata approach can be used in server side programming Debugging of services is quite hard. Logging eases it

17 Saint-Petersburg State University ITMO 17Projects in SPb IFMO CodeRally Developed by gold-winner of ACM 2003 finals Eugene Yuzhakov The game created by Alphaworks company (IBM) Emulates the track for several little cars Cars acquire points by passing through checkpoints and shooting The winner is the car with maximum points at the end of the round.

18 Saint-Petersburg State University ITMO 18Projects in SPb IFMO Coderally In the documentation the author makes global strategy analysis, on which the code of the program is based. The analysis is supported by pictures, describing the way of movement as it is shown on the pictures

19 Saint-Petersburg State University ITMO 19Projects in SPb IFMO Screenshot from the game

20 Saint-Petersburg State University ITMO 20Projects in SPb IFMO Coderally Automata state transition diagram of the car controller. The states and events are named with short identificators

21 Saint-Petersburg State University ITMO 21Projects in SPb IFMO Events and states The explanation is given before the graph in the following form – z0 – choosing the optimal checkpoint z1 – choosing the optimal trajectory z2 – moving towards the refuelling station e3 – the car was hit by the bullet... And so on

22 Saint-Petersburg State University ITMO 22Projects in SPb IFMO Coderally. Conclusions There was no open documentation available for this game The conclusion and the source code go at the end of the documentation. In the conclusion the author tells about the accomplishments and drawbacks of the project. The conclusion is created after the documentation has been written and the program has been developed The automata diagram for this project is simple, the main attention is paid to the mathematical aspect of the game

23 Saint-Petersburg State University ITMO 23Projects in SPb IFMO Robocode ver. 1 and 2 The Robocode project is pretty much the same as the CodeRally. But on it’s example the ease of refactoring of the open source code and open documentation can be shown. Robocode is the Java game, created by Alphaworks company (IBM). The aim is to program the artificial intelligence of the tank

24 Saint-Petersburg State University ITMO 24Projects in SPb IFMO Robocode ver. 1 and 2 Several tanks fight on the field They can shoot and move With radar they can scan the bullets and other tanks The winner is the tank, that destroys all other tanks.

25 Saint-Petersburg State University ITMO 25Projects in SPb IFMO Robocode ver. 1 and 2 Originally it was developed by N. I. Tukkel and A.A. Shalyto Then Denis Kuznetcov, the gold-winner of the 2001 ACM finals, modified the original version The ease of modification proved the advantages of open project documentation and automata programming

26 Saint-Petersburg State University ITMO 26Projects in SPb IFMO Robocode ver. 1 and 2

27 Saint-Petersburg State University ITMO 27Projects in SPb IFMO The graph model for the ver. 1

28 Saint-Petersburg State University ITMO 28Projects in SPb IFMO The graph model for the ver. 2

29 Saint-Petersburg State University ITMO 29Projects in SPb IFMO Robocode. Conclusions To modify the logic of the program there is no need to look through the source codes Such approach eases the support of the software in the companies The time needed for the adaptation of the new member of the team decreases

30 Saint-Petersburg State University ITMO 30Projects in SPb IFMO Robocode. Conclusions Cynical was the best tank at the robocode competition for several weeks During the year it still remained in the top list of the tanks The authors aim was not the creation of the best tank in the world, they wanted to create the best technology in the world =)

31 Saint-Petersburg State University ITMO 31Projects in SPb IFMO Robocode. Conclusions. Javadoc and OPD

32 Saint-Petersburg State University ITMO 32Projects in SPb IFMO Robocode. Conclusions. Javadoc and OPD

33 Saint-Petersburg State University ITMO 33Projects in SPb IFMO Robocode. Conclusions. Javadoc and OPD Javadoc does not provide the enough information for the developer to understand the logic of the program However javadoc can be used as the supporting tool

34 Saint-Petersburg State University ITMO 34Projects in SPb IFMO Automata graph designer Developed by I. Anichkin Designed to work with automata graphs Faster and easier to use than Microsoft Visio and Rational software

35 Saint-Petersburg State University ITMO 35Projects in SPb IFMO Automata graph designer

36 Saint-Petersburg State University ITMO 36Projects in SPb IFMO Automata graph designer

37 Saint-Petersburg State University ITMO 37Projects in SPb IFMO Automata graph designer. Conclusions GUI applications can be programmed with automata approach

38 Saint-Petersburg State University ITMO 38Projects in SPb IFMO Japanese translator Developed by Ekaterina Lysenko and Pavel Skakov Four different system of written language in Japan The program makes the transliteration between the systems

39 Saint-Petersburg State University ITMO 39Projects in SPb IFMO Japanese translator This translator shows, how the automata can deal with the strings and lexemes.

40 Saint-Petersburg State University ITMO 40Projects in SPb IFMO Japanese translator

41 Saint-Petersburg State University ITMO 41Projects in SPb IFMO Japanese translator

42 Saint-Petersburg State University ITMO 42Projects in SPb IFMO Japanese translator. Conclusions

43 Saint-Petersburg State University ITMO 43Projects in SPb IFMO Conclusions Simplicity needs projection and good taste. L. Torvalds It is a mistake to think that programmers wares are programs. Programmers have to produce trustworthy solutions and present it in the form of cogent arguments. Programs source code is just the accompanying material to which these arguments are to be applied to. E. Dijkstra

44 Saint-Petersburg State University ITMO 44Projects in SPb IFMO Conclusions The introducted approach, as we think, satisfies the requirements given before.

45 Saint-Petersburg State University ITMO 45Projects in SPb IFMO


Download ppt "Saint-Petersburg State University ITMO 1Projects in SPb IFMO Yartsev Boris Computer Technology Department, Saint-Petersburg State."

Similar presentations


Ads by Google