C# visual studio (Windows form)
Assessment Task 2 (2).pdf
Page 1 of 4
SIT323 Practical Software Development, Trimester 2, 2019
Assessment Task 2
Summary
You need to create some software to help determine a set of allocations of tasks to processors. This set of allocations must be displayed on your GUI. These allocations are based on data from within a configuration file.
Your software will use the following configuration files stored on an Azure blob. • https://sit323sa.blob.core.windows.net/at2/TestA.txt • https://sit323sa.blob.core.windows.net/at2/TestB.txt • https://sit323sa.blob.core.windows.net/at2/TestC.txt
The ideal goal is to find an allocation that:
1. consumes a minimum amount of energy and 2. its overall runtime does not exceed the program duration
There might be one or more allocations that meet these constraints. Also, there might be no allocation that meets these constraints because the program duration is too small for all combinations of task allocations.
C#
Your GUI client software will directly read a configuration file that are stored on Azure. That is, your software must open the file using its URL. Do not download these configuration files.
You will design and implement WCF Services to compute a set of allocations based on the imported configuration data.
As your software might not be able to find the ideal allocation within several years, it must attempt to obtain a set of allocations that have the smallest energy consumption that you can find within 5 minutes. That is, after 5 minutes, your software must:
• stop searching for other allocations • display the low energy consuming allocations that your program found • display the runtimes and amount of energy consumed next to each allocation
Each WCF Service will remotely run on an AWS virtual machine. This service will be indirectly invoked by your client software. The client software will provide/pass configuration data to this service, and this service will return a set of allocations.
In order to use more compute resources (AWS VMs) to determine a set of allocations, you will deploy several AWS virtual machines, a load balancer, and other AWS resources. Each of these VMs will have your WCF Service installed, i.e., there will be a set of similar WCF Services.
Your software can send several asynchronous requests to the set of WCF Services. It will receive responses from the WCF Services. Each response will contain a set of allocations. For example:
Page 2 of 4
• WCF Service 1 returns a set of 8 allocations, where each allocation consumes 100. • WCF Service 2 returns a set of 4 allocations, where each allocation consumes 150. • WCF Service 3 returns a set of 12 allocations, where each allocation consumes 90. • WCF Service 4 returns a set of 5 allocations, where each allocation consumes 123.
Your software needs to determine which response contains allocations that consume the minimum amount of energy. For example, the set of 12 allocations (in the above list) consume a minimum amount of energy.
Your software will display the set of allocations on your GUI client, including runtime and energy consumed for each allocation.
AWS Cloud Architecture (C#)
The cloud architecture that you will implement is depicted in Figure 1. Client requests will be directly sent to the application load balancer which will forward each request to one of the web servers on a VM.
You can have more than one kind of WCF Service. For example, one WCF Service computes an allocation based on a particular algorithm, the second WCF Service computes an allocation based on another kind of algorithm.
Figure 1.
Page 3 of 4
Excel (for students enrolled in the old Cloud Computing major)
Your Excel software will directly import a configuration file that are stored on Azure. That is, your software must open the file using its URL. Do not download these configuration files. The following menu item will be useful to import data from a web page:
Data > Get External Data > From Web
You will design and implement one or more techniques to determine a set of allocations based on the imported configuration data. This can be a mixture of manual and automation techniques.
As your (manual or automatic) techniques might not be able to find the ideal allocation within several years, it must attempt to obtain a set of allocations that have the smallest energy consumption that you can find within 5 minutes. That is, after 5 minutes, you must:
• stop searching for other allocations • display the low energy consuming allocations that your program found • display the runtimes and amount of energy consumed next to each allocation
Your software will display this set of allocations on a worksheet, including runtime and energy consumed for each allocation.
AWS Cloud Architecture (Excel)
The cloud architecture that you will implement is depicted in Figure 2. Client requests will be directly sent to the application load balancer which will forward each request to one of the web servers on a VM.
Responses will be based on static web pages containing the set of allocations that you produced in Excel. That is,
1. you need to produce your allocation(s) in Excel 2. create a HTML page(s) containing allocations, run times, and energy values 3. upload web pages to your web servers
Page 4 of 4
Figure 2.
__MACOSX/._Assessment Task 2 (2).pdf
Assessment Task 2 Submission - C#.pdf
SIT323 Practical Software Development, Trimester 2, 2019
Assessment Task 2 – C# Submission Instructions
Page 1 of 2
1. What not to submit
Do not submit any exe files because sometimes these are considered as viruses by antivirus software. On occasions downloading student ZIP files from CloudDeakin fails because they contained exe files.
Prior to submission, please delete ‘bin’ and ‘obj’ folders that are in your GUI project folder (see Figure 1). These folders will contain exe files, and any exe files required by the marker can be rebuilt using Visual Studio.
Figure 1.
2. Submission
Each student will submit one ZIP file containing:
1. A Visual Studio solution and project folders and files 2. One video file such as “AWS Cloud System.mp4“
Hopefully you already have everything in one folder (see Figure 2); if not, please arrange something similar. Figure 2 shows:
• Three folders for the WCF Services such as “ALG1”, “ALG2” and “ALG3”. • One folder for your GUI Project such as “Application Task 2”. • One folder, if required, for your DLL Project such as “SharedClasses”. • One file such as “Assessment Task 2.sln” for your Visual Studio solution. • One video file such as “AWS Cloud System.mp4“.
SIT323 Practical Software Development, Trimester 2, 2019
Assessment Task 2 – C# Submission Instructions
Page 2 of 2
Figure 2.
Once everything is in one folder such as “C:\temp\SIT323\2019\AT2 C#”, you can ZIP that folder to create a file such as “AT2 C#.zip”.
Please test your ZIP file “AT2 C#.zip” before submission. That is, after unzipping to a new folder, ensure that everything works as it should; try this on another machine and hard- drive too.
Submit your ZIP file to the SIT323 unit site in Cloud Deakin.
__MACOSX/._Assessment Task 2 Submission - C#.pdf
Assessment Task 2 Rubric (1).pdf
SIT323 ‐ Assessment Task 2 ‐ Rubric Mark ULO CODING Unsuccessful (0) Successful (4)
1 Obtaining URLs from the user via the application.
failed, or URLs hardcoded URLs obtained from user input.
4 ULO3
2 Importing remote configuration files that are on Azure.
failed, local files used, or downloaded files used
Remote files imported. 4 ULO3
3 Layout Code (or worksheet) layout is unaccetpable.
Code (or worksheet) layout is accetpable.
4 ULO3
OPTIMISATION Unsuccessful (0) Poor (3) Good (6) Very Good (10) 4 Using "TestA.txt", a set of allocations, associated runtimes and energy consumptions, are determined and displayed
nothing displayed within 5 minutes or allocations are invalid
1 valid allocation found, and the minimum energy consumption is < 500
1 valid allocation found, and the minimum energy consumption is < 442
2 or more valid allocations found, and each minimum energy consumption is < 442
10 ULO2
5 Using "TestB.txt", a set of allocations, associated runtimes and energy consumptions, are determined and displayed
nothing displayed within 5 minutes or allocations are invalid
1 valid allocation found, and the minimum energy consumption is < 4000
1 valid allocation found, and the minimum energy consumption is < 3960
1 valid allocation found, and the minimum energy consumption is < 3940
10 ULO2
6 Using "TestC.txt", a set of allocations, associated runtimes and energy consumptions, are determined and displayed
nothing displayed within 5 minutes or allocations are invalid
1 valid allocation found, and the minimum energy consumption is < 1000
1 valid allocation found, and the minimum energy consumption is < 960
1 valid allocation found, and the minimum energy consumption is < 958
10 ULO2
Video ‐ AWS Educate Account Unsuccessful (0) Successful (1) 7 Student ID and name confirmed. Student did not introduce
them self by name OR did not show their ID card.
Student introduced them self by name and showed their ID card.
1 ULO4
8 Student confirmed their AWS Educate account name.
Student did not confirm their AWS Educate account name.
Student introduced them self by name and displayed their AWS Educate account name (top right corner).
1 ULO4
9 Student confirmed that are using the North Virginian region.
Student did not confirm that they are using the N Virginian region.
Student displayed that they are using the N Virginian region (top right corner).
1 ULO4
Video ‐ AWS Resources Unsuccessful (0) Poor (1) Good (2) Very Good (3) 10 VM instances (ay least 2 per
application). VM instances were not presented.
VM instances for 1 appliaciton are presented.
VM instances for 2 applications are presented.
VM instances for 3 or more applications are presented.
3 ULO4
11 AMIs (one per application). AMIs were not presented. 1 AMI presented. 2 AMIs presented. 3 or more AMIs presented. 3 ULO4
12 Snapshots. Snapshots were not presented.
1 snapshot presented. 2 snapshots presented. 3 or more snapshots presented.
3 ULO4
13 Security Groups. Security group was not presented.
1 Security Group allowing TCP for ports 80 and remote login was presented.
2 Security Groups allowing TCP for ports 80 and remote login was presented.
3 or more Security Groups allowing TCP for ports 80 and remote login was presented.
3 ULO4
14 Kay Pair. Key pair was not presented. 1 Key Pair presented. 1 pem file presented. 1 Key Pair and associated pem file presented.
3 ULO4
15 Application Load Balancer. Load balancer was not presented.
1 Load Balancer presented. 2 Target Groups were utilised by the Load Balancer.
3 or more Target Groups were utilised by the Load Balancer.
3 ULO4
16 Target Groups (one per applciation). Target groups were not presented.
1 Target Group and associated web servers presented.
2 Target Groups and associated web servers presented.
3 or more Target Groups and associated web servers presented.
3 ULO4
Video ‐ AWS Web Servers and Load Balancer Unsuccessful (0) Poor (2) Good (4) Very Good (6)
17 Demonstrate that your load balancer is correctly forwarding requests to web servers of each target group.
No HTTP response is returned by a web server.
It is clearly indicated that HTTP requests are forwarded by the load balancer, and HTTP responses are returned by just one web server of just one target group.
It is clearly indicated that HTTP requests are forwarded by the load balancer, and HTTP responses are returned by each web server of just one target group.
It is clearly indicated that HTTP requests are forwarded by the load balancer, and HTTP responses are returned by each web server of each target group.
6 ULO4
1 of 1