






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Project; Professor: Zelkowitz; Class: Software Engineering; Subject: Computer Science; University: University of Maryland; Term: Spring 2009;
Typology: Study Guides, Projects, Research
1 / 10
This page cannot be seen from the preview
Don't miss anything!







CMSC 435 Class Group Projects Version 4.0 – April 15, 2009
Everyone in the class will be assigned into groups of 4 or 5 students. Grades for the project will be the same for all members of the group. For each phase, everyone will be reassigned into different groups. Part of the learning experience in CMSC 435 is to learn how to work within groups and to negotiate so that everyone comes out ahead.
The overall project is to enhance the TSAFE prototype air traffic control system with 3 new features. The basic TSAFE system can be downloaded from the class webpage. This document describes the four phases of the project and what each group has to do within each phase.
General guidelines:
All submissions shall be to the submit server (submit.cs.umd.edu). You can submit as many times as you want, up to the deadline, so submit early and often. There is no penalty for multiple submits. However, for each group only the support manager shall submit a single zip file representing the submittal from the group.
Members of each group shall take on 5 roles:
The four phases are:
Details of each phase: I. Design phase due February 24: Design the changes needed to be made to TSAFE. Everyone on the team needs to help on all the deliverables as needed. Deliverables include: − Manager – WBS of the implementation part of the project, risk assessment for the implementation, and an estimate of the development time and effort. − Chief programmer – A list of TSAFE classes that need to be modified and a design document for each describing the changes. Manager can assign others in the group to help with the design of individual java classes. − Support manager – Responsible for packaging all the deliverables and submitting them to the submit server on time. − Quality manager – Develops a series of test cases that can be used to test the implementation later. − Everyone – A time sheet filled out. (See class website) − Everyone – A group evaluation form (See class website). However , everyone should separately submit this to the submit server rather than collectively as part of the group submittal.
WBS structure
The WBS needs to be an estimate of phase 1 activities, phase 2 activities by class or activity, and the rest of the project (by phase). Your WBS should be a table similar to the following:
ITEM Who Implementation (Hours) Manage project John 12. Quality manager Amy 15. Support manager George 18. Overall design (Chief Prog) Julie 22. Class designs All 23.
Management Phases 2 37. Chief programmer Phase 2 16. Class1.java Phase 2 4. Class2.java Phase 2 6. Class3.java Phase 2 2. Class4.java Phase 2 3. Class5.java Phase 2 8.
System testing Phase 3 40. Packaging Phase 4 20.
II. Implementation phase due March 31: Access the 7 designs submitted by the groups as part of Phase I. They will be available in the private part of the class website sometime on Wednesday, February 25. Perform a feasibility study on all of the 7 submitted designs and choose one of the 7 to implement. At most three groups can implement any one design so get your requests in (as email to Dr. Zelkowitz to [email protected]) as soon as you can. Once your choice has been approved, implement the designs. Earliest email arrival time will determine which group gets access to a project in case 4 or more groups request the same project to implement.
Each team can choose their own roles, provided no one has the same role as during Phase I.
By the deadline, the manager of the group will submit a single ZIP file to the submit server.
The ZIP file shall contain the following artifacts:
Each person is expected to help on all phases of the delivery.
Tasks:
Each group will prepare a 10-15 minute presentation of the product they are evaluating in order to convince others to “buy” and use that product. These presentations will occur on the last 2 classes of the semester – May 5 and 7. At least two or more of the team members should participate in the class presentation. The presentation can be simply the PowerPoint presentation, but may also include a live demonstration of the product, showing its interesting features. (Note: During phase 3 you are to try and find defects in the product you test. But in phase 4 you are a promoter of the product. That doesn’t mean you can lie about its virtue, but you should not intentionally show defects and flaws in the system. You are trying to get people to use this product.)
Requirements for TSAFE upgrades:
1. Command line interface:
The current graphical output for TSAFE is not designed for showing more specific data like the detailed position of a plane, it’s speed, or it’s heading. A textual output can show you all these details, which makes testing the system much easier and more comfortable.
A command line and a command interpreter extend the functionality of the textual output window, so that the user has the same possibilities as in the graphical client.
Requirements:
(^1) flight data includes: aircraftid and its data like longitude, latitude, altitude, speed, and heading in readable format
(e.g. 55º 67’ north for latitude). Other data like flight plan and trajectory depend on whether they should also be shown or not.
Example for output on console:
1.1 Syntax for the Command Line Interpreter
Keywords:
their separation. Loss of separation could lead to a dangerous situation. Therefore, the Loss-of- Separation detector will identify all planes that are too close to each other so that appropriate instructions can be given to the pilots either by an air traffic controller or by the software itself.
Requirements: To check if two planes are in conflict, the detector will start with the current position and then it will advance the two planes’ trajectories in given time steps till a maximum probe time is reached. On every time step, the detector will calculate the horizontal and vertical distances and compare them to the specified threshold values. For each plane, TSAFE uses one of two ways to calculate the trajectory. The nominal assumes that the plane stays on its flight plan. The dead- reckoning calculates the trajectory depending on the speed and heading of the flight. If TSAFE has determined that a plane with a flight plan is not blundering, then the detector will use the nominal trajectory; otherwise it will use the dead reckoning trajectory. On every update of the user output, the detector will compare every plane with every other plane.
On the GUI, every plane that conflicts with another will appear in orange. If the plane is also blundering it will appear in pink.
As part of this change request, a new option tab for the Loss-of-Separation detector will be added in the “Tsafe Preferences” window (menu bar: Parameters). It will be possible to turn the detector on and off and to set the distance thresholds (default: 22,000 meters horizontal distance, 1,000 meters vertical), the interval size (default: 10 seconds) and the probe length (default: 4 minutes).
Algorithms: To calculate the distance between two points, given in latitude and longitude, you will use this formula:
cos *cos *sin 2
2 * *arcsin sin
distanceinmeters
Latitude Longitude 6 , 367 , 000 (radiusoftheearthinmeters)
2 2 1 1 2
2 δ 2 δ (^1) δ δ λ^ λ
δ λ
Extensions: There are some improvements that will be implemented to increase the usability of the detector:
“Conflict: Flight1: LHA675 Flight2: US652 Distance: 300 feet and 3 nm at the current time +30 seconds” (replace these example values with real values)
Change data: The following data demonstrates two planes show loss of separation after some time.
0000000000000000TZ LOSFL1 300 040 4130N/07255W 0000000000000000TZ LOSFL2 300 040 4131N/07134W 0000000000000000TZ LOSFL1 300 040 4135N/07252W 0000000000000000TZ LOSFL2 300 040 4140N/07144W 0000000000000000TZ LOSFL1 300 040 4143N/07246W 0000000000000000TZ LOSFL2 300 040 4145N/07154W 0000000000000000TZ LOSFL1 300 040 4150N/07241W 0000000000000000TZ LOSFL2 300 040 4152N/07204W 0000000000000000TZ LOSFL1 300 040 4159N/07234W 0000000000000000TZ LOSFL2 300 040 4159N/07217W 0000000000000000TZ LOSFL1 300 040 4206N/07228W 0000000000000000TZ LOSFL2 300 040 4206N/07230W 0000000000000000TZ LOSFL1 300 040 4214N/07220W 0000000000000000TZ LOSFL2 300 040 4211N/07242W 0000000000000000TZ LOSFL1 300 040 4222N/07213W 0000000000000000TZ LOSFL2 300 040 4220N/07254W 0000000000000000TZ LOSFL1 300 040 4230N/07204W 0000000000000000TZ LOSFL2 300 040 4226N/07307W 0000000000000000TZ LOSFL1 300 040 4238N/07157W 0000000000000000TZ LOSFL2 300 040 4231N/07315W 0000000000000000TZ LOSFL1 300 040 4246N/07148W 0000000000000000TZ LOSFL2 300 040 4240N/07326W 0000000000000000TZ LOSFL1 300 040 4253N/07138W 0000000000000000TZ LOSFL2 300 040 4248N/07339W 0000000000000000TZ LOSFL1 300 040 4259N/07131W 0000000000000000TZ LOSFL2 300 040 4253N/07346W
Replace the content of the test1.txt file in the server folder with this data and start server.jar in order to run it.
3. Dynamic Maps:
TSAFE is currently using the map of Massachusetts, and cannot be used for flights that fly elsewhere. Therefore TSAFE will be extended with functionality in order to make it possible to change the map dynamically during run time without interrupting its operations.
Requirements:
File format of the text file with extra maps:
Washington
file washington.jpg
latmin 4524N
latmax 4912N
lonmin 12500W
lonmax 11630W
North Dakota
file north_dakota.jpg
latmin 4542N
latmax 4912N
lonmin 10418W
lonmax 09724W
New Mexico
file new_mexico.jpg
latmin 3100N
latmax 3712N
lonmin 10930W
lonmax 10248W
TsafeTools.tar.gz: This is a tool for creating flight test data that you can run through TSAFE to test your version.