1. Homepage
  2. Programming
  3. CS 2820 Introduction to Software Development - Team Assignment: Channel Analysis

CS 2820 Introduction to Software Development - Team Assignment: Channel Analysis

Engage in a Conversation
IOWACS2820Introduction to Software DevelopmentWARP System

CS 2820 Introduction to Software Development CourseNana.COM

Team Assignment (teams of 4). CourseNana.COM

300 points: Create code to analyze and visualize the channel allocation to nodes (coordinators) in a WARP program. CourseNana.COM

  1. 1)  One of you will be the Maintainer and invite the other team members to be a developer on your project, with an expiration date of Friday, May 17. All team members will work with this repo. CourseNana.COM

  2. 2)  The project requires you to work in a team of 4, using a modified Agile Scrum process to complete the Channel Analysis component of the WARP system using the tools we have learned this semester. There will be 3 sprints, each approximately 1.5-2 weeks in length. CourseNana.COM

    1. Sprint 1 due: April 8 CourseNana.COM

    2. Sprint 2 due: April 19 CourseNana.COM

    3. Sprint 3 due: May 3 CourseNana.COM

    Unlike a normal Scrum process, you will have defined deliverables that will be graded. You may deliver more than the minimum required, for which credit will be given in the next Sprint. Delivering less than the minimum results in a loss of points for that Sprint, AND you will need to make up the progress in the next Sprint. For each Sprint, you will evaluate your partners and provide the repo URL in the online Project assignment. Only one URL per team will be required. CourseNana.COM

  3. 3)  Each Sprint will require a separate git branch and contain the following artifacts: CourseNana.COM

    1. UML diagram(s) of new or updated classes (if any) in that Spring. CourseNana.COM

    2. JUnit tests for all ChannelVisualization and ChannelAnalysis methods delivered in that CourseNana.COM

      Sprint, except the constructors (think about how to accomplish this), and JUnit tests for any new methods you might create in other classes, if any are created. To accomplish this requirement, make all new methods public for testing purposes, but comment whether it should be public or private in the JavaDoc comments. CourseNana.COM

    3. JavaDoc updates for all code, and JavaDoc files for the entire package of code. CourseNana.COM

    4. Source code (compliant with the style guide) CourseNana.COM

    5. Updated README.md to document each team member’s completed tasks and tasks left to CourseNana.COM

      be done (and by whom). CourseNana.COM

  4. 4)  Be sure to merge your Sprint {1,2,3} branch with the main branch so that you continue to build on CourseNana.COM

    prior ‘releases’, but maintain the branches so that the TA can evaluate progress. CourseNana.COM

  5. 5)  PROGRAM SPECIFICATION: complete the ChannelAnalysis and ChannelVisualization CourseNana.COM

    classes such that they create the *.ch files available from ICON and evaluate the channel allocation of WARP flows, as requested in the Warp main program when the runtime configuration option -ca is used. Be sure to complete all methods declared in the class. Your output will look like the following for an ExampleX graph with periods of 5 and 10 for flows F0 and F1 respectively: CourseNana.COM

Channel Analysis for graph ExampleX
Scheduler Name: Priority
numFaults: 1
Channel/TimeSlot 0 1 2 3 4 5 6 7 8 9 0---------- CourseNana.COM

1 [A]::F0:(A:B) - - [C]::F1:(C:B) - - - -
2 - [B]::F0:(B:C),F0:(A:B) - - - - - - - 3 - - [B]::F0:(B:C) - - [A]::F0:(A:B) - -
4 - - - - - - [B]::F0:(B:C),F0:(A:B) - - 5 - - - - - - - [B]::F0:(B:C) - -
6 - - - - [B]::F1:(B:A),F1:(C:B) - - - -
CourseNana.COM

7 - - - - - - - - [B]::F1:(B:A) - 8---------- 9----------
10 - - - - - - - - - -
CourseNana.COM

11 - - - - - - - - - -
12 - - - - - - - - - -
13 - - - - - - - - - -
14 - - - - - - - - - -
15 - - - - - - - - - -
After the header information, the top row of the visualization is a row of time slots. Each subsequent row consists of a channel name, and a visualization of its allocation, wherein each time slot entry has one or more of the following entries: CourseNana.COM

[NodeName]:: if the channel is allocated to a node (aka coordinator of the communication) for push or pull instructions.
FlowName(Src,Snk) follows the coordinator information and represents the flow name, source node, and sink node involved in the communication (these parameters come from the instruction). Multiple instructions in the same time slot for the same coordinator are separated by a comma. CourseNana.COM

if the channel was idle in that slot (i.e., there was no push or pull instructions using that channel at CourseNana.COM

that time slot).
If more than one coordinator is allocated the same channel in the same time slot, a channel conflict exists. This conflict must be recorded by setting the conflictExist flag to true, and adding a semi-colon (‘;’) to the existing entry, followed by the additional coordinator communication notation. For example: 
[A]::F0:(A:B); [C]::F1:(C:B) CourseNana.COM

Entries in the visualization are separated by tab characters, just as the program visualization (.dsl) file does. Additional example output is available in the ICON Project module. CourseNana.COM

Your TA will evaluate your assignment by pulling your files from your Sprint branch repository. The assignment will be scored at follows: CourseNana.COM

Sprint 1 CourseNana.COM

Artifacts: 50 pts. CourseNana.COM

  1. (10 pts) High level plans and status in the README.md file. Clearly document who will do what CourseNana.COM

    tasks. Identify and explain any artifacts (diagrams and design documents) that should be CourseNana.COM

    considered in this Sprint delivery. CourseNana.COM

  2. (25 pts) UML Sequence Diagram showing program flow starting with Warp processing the ‘ca CourseNana.COM

    option. Consider using https://sequencediagram.org to create your diagram, but you can use CourseNana.COM

    PowerPoint, or any other tool if you want. CourseNana.COM

  3. (15 pts) Design and project plan documents (e.g., UML class diagram, pdf file, pptx file, etc.) that CourseNana.COM

    capture what you are planning to do. For example, what are the tasks to be done? In what order will tasks be done? Who will do them? How will you test? How will you document? You should also have identified some of the methods you will need in the Visualization class at least. CourseNana.COM

Sprint 2 CourseNana.COM

Artifacts: 50 pts.
Completed or nearly completed Visualization class, including documentation.
CourseNana.COM

  1. (5 pts) High level plans and status in the README.md file. Clearly document who will do what tasks. Identify and explain any artifacts (diagrams and design documents) that should be considered in this Sprint delivery. CourseNana.COM

  2. (5 pts) Updates to the UML diagrams (Class and Sequence) with the new methods, even if helper methods are stubbed out. CourseNana.COM

  3. (10 pts) Code in the ChannelVisualization class file that follows the style guide, shows good design, and flows correctly (doesn’t crash and creates some sort of output that indicates progress). If the class is not fully implemented, high-level helper methods documented with JavaDoc and comments explaining what will be done. Use step-wise refinement, with stubbed out helper methods so that the program flow exists, if the method is not yet finished. CourseNana.COM

  4. (5 pts) JavaDoc comments and updated documentation files. CourseNana.COM

  5. (20 pts) JUnit tests for the ChannelVisualization class. CourseNana.COM

CourseNana.COM

6. (5 pts) Plan for Sprint 3, including tasks assigned to each person. Feel free to have part of this plan already completed. It is OK to finish early! CourseNana.COM

Sprint 3 CourseNana.COM

Artifacts and Correctness: 200 pts Completed, working project CourseNana.COM

  1. (10 pts) High level plans and status in the README.md file. Clearly document who will do what tasks. Identify and explain any artifacts (diagrams and design documents) that should be considered in this Sprint delivery. CourseNana.COM

  2. (25 pts) Updates to the UML diagrams (Class and Sequence). CourseNana.COM

  3. (80 pts) Design and code correctness. All helper methods should be public, so they can be CourseNana.COM

    tested, but comments indicating which should normally be considered private or protected. CourseNana.COM

  4. (25 pts) JavaDoc comments and updated documentation files. CourseNana.COM

  5. (60 pts) JUnit tests for the ChannelVisualization and ChannelAnalysis classes. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
IOWA代写,CS2820代写,Introduction to Software Development代写,WARP System代写,IOWA代编,CS2820代编,Introduction to Software Development代编,WARP System代编,IOWA代考,CS2820代考,Introduction to Software Development代考,WARP System代考,IOWAhelp,CS2820help,Introduction to Software Developmenthelp,WARP Systemhelp,IOWA作业代写,CS2820作业代写,Introduction to Software Development作业代写,WARP System作业代写,IOWA编程代写,CS2820编程代写,Introduction to Software Development编程代写,WARP System编程代写,IOWAprogramming help,CS2820programming help,Introduction to Software Developmentprogramming help,WARP Systemprogramming help,IOWAassignment help,CS2820assignment help,Introduction to Software Developmentassignment help,WARP Systemassignment help,IOWAsolution,CS2820solution,Introduction to Software Developmentsolution,WARP Systemsolution,