@@ -47,19 +47,19 @@ \section{Introduction}
4747For this assignment, you are working for AgeOverlow, a new UQ start-up.
4848AgeOverlow uses (fictional) machine learning techniques.
4949The analysis is able to identify percentage certainty of the given assets to their generational cohort,
50- with an estimated age approximation.
50+ with an age approximation.
5151
5252\paragraph {Task }
5353AgeOverlow uses a microservices architecture to implement their analysis platform.
5454The CTO saw on your resume that you are taking Software Architecture
5555and has assigned you to design and implement the generation cohort analysis service.
56- This service must scale to cope with the anticipated large number of tests .
56+ This service must scale to cope with the anticipated large number of requests .
5757
5858\paragraph {Requirements }
5959Automated identification of generational cohorts is an important service to ensure legal compliance in Australia.
6060Manual verification by personale is labour intensive and time consuming.
61- Automated tests provide faster responses with varying degree of certainty to allow manual review when its required.
62- This is critical as tens or hundreds of thousands of tests need to be performed daily for users of new services.
61+ Automated analysis provide faster responses with varying degrees of certainty, to allow manual review only when its required.
62+ This is critical as tens or hundreds of thousands of analyses need to be performed daily for users of new services.
6363
6464AgeOverflow's Generation Cohort Analysis Service (GCAS) needs to be designed to scale to match demand.
6565Clients will obtain photographic documentation from users.
@@ -88,26 +88,27 @@ \section{Interface}
8888
8989The interface specification is available to all service owners online:
9090
91- \url {https://csse6400.uqcloud.net/assessment/ageoverflow }
91+ \url {https://csse6400.uqcloud.net/assessment/cloud/ }
9292
9393
9494\section {Implementation }
9595The following constraints apply to the implementation of your assignment solution.
9696
9797\subsection {Analysis Engine }
9898
99- You have been provided with a command line tool called \texttt {AgeOverflow Engine } that must be used to analyse sample image sets.
99+ You have been provided with a command line tool called \texttt {AgeOverflow- Engine } that must be used to analyse sample image sets.
100100The tool has varying performance, due to the difficulty of identifying cohorts.
101101You will have to work around this bottleneck in the design and development of the GCAS.
102102
103- Your service \textbf {must } utilise the \texttt {engine } command line tool provided for this assignment.
103+ Your service \textbf {must } utilise the provided \texttt {AgeOverflow-Engine } command line tool provided for this assignment.
104104The compiled binaries are available in the tool's GitHub repository:
105105
106106\url {https://github.com/CSSE6400/AgeOverflow-Engine}.
107107
108108\warning {You are \textbf {not } allowed to reimplement or modify this tool.}
109109
110- The analysis engine requires pre-processing of the images this is done by an upstream service.
110+ The analysis engine requires pre-processing of the images.
111+ This is done by an upstream service.
111112For testing purposes, you \textbf {must } use the sample images provided in the \link {analysis engine's repository}
112113{https://github.com/CSSE6400/AgeOverflow-Engine}.
113114If you try to generate your own images, they are likely to fail analysis or give false results.
@@ -215,18 +216,16 @@ \subsection{Deployed to Cloud \& Scalability Submissions}
215216 \item We will run automated functionality and load-testing on the URL provided in the \texttt {api.txt } file.
216217\end {enumerate }
217218
218- \noindent
219- \textbf {Important Note: } Ensure your service does not exceed the resource limits of AWS Learner Labs.
219+ \warning {Ensure your service does not exceed the resource limits of AWS Learner Labs.
220220For example, AWS will \textbf {deactivate } your account if more than fifteen EC2 instances are running.
221- If you use up your allocated budget in the Learner Lab, you will not be able to run any services.
221+ If you use up your allocated budget in the Learner Lab, you will not be able to run any services.}
222222
223223\subsection {GitHub Repository }\label {sec:github }
224- You will be provisioned with a private repository on GitHub for this assignment, via GitHub Classroom.
225- You must click on the link below and associate your GitHub username with your UQ student ID in the Classroom.
226-
227- % \url{ https://classroom.github.com/a/o7GwUHX6}
224+ You will be provisioned with a private repository on GitHub for this assignment, via
225+ \ link{ GitHub Classroom.}{https://classroom.github.com/a/_o6vwSxE}
226+ You must click on the link below and associate your GitHub username with your UQ student ID in the
227+ \link {Classroom}{ https://classroom.github.com/a/_o6vwSxE}.
228228
229- \noindent
230229Associating your GitHub username with another student's ID,
231230or getting someone else to associate their GitHub username with your student ID, is \link {academic misconduct}
232231{https://my.uq.edu.au/information-and-services/manage-my-program/student-integrity-and-conduct/academic-integrity-and-student-conduct}.
@@ -247,6 +246,7 @@ \subsection{Folder Structure}
247246.2 README.md.
248247.2 refs.md.
249248.2 AI.md.
249+ .2 AI-log.md.
250250.2 local.sh.
251251.2 deploy.sh.
252252.2 ....
@@ -261,7 +261,10 @@ \subsection{Tips}
261261Your AWS Learner Lab can be reset using the reset button in the toolbar.
262262
263263\noindent
264- \includegraphics [width=0.9\textwidth ]{images/reset-button.png}
264+ \vspace {-3mm}
265+ \begin {center }
266+ \includegraphics [trim=0 13 0 15,clip,width=0.85\textwidth ]{images/reset-button.png}
267+ \end {center }
265268
266269\noindent
267270To ensure that you are not accidentally depending on anything specific to your Learner Lab environment,
@@ -281,7 +284,7 @@ \section{Criteria}
281284corresponding to the three submission stages of the assignment.
282285Functionality testing is to ensure that your backend software and API
283286meet the MVP requirements by satisfying the API specification without any excessive load.
284- Deployment is to ensure that this MVP can then be hosted in the target cloud provider.
287+ Deployment is to ensure that this MVP can then be hosted on the target cloud provider.
285288Scalability testing is based upon several likely usage scenarios.
286289The scenarios create different scaling requirements.
287290
@@ -311,7 +314,7 @@ \subsection{Scalable Application}\label{sec:scenarios} % Can it scale!
311314
312315\paragraph {Curiosity Killed the Server }
313316A client creates a web portal allowing an auditor to view results for their users.
314- Tens of thousands of requests will try to access their users results in a short period of time.
317+ Tens of thousands of requests will try to access their users' results in a short period of time.
315318
316319\paragraph {Compliance Early Stages }
317320There is a significant increase in the number of analysis request submitted by a few clients.
@@ -335,24 +338,24 @@ \subsection{Scalable Application}\label{sec:scenarios} % Can it scale!
335338Due to the high volume of analysis requests, there will be a high volume of queries for results.
336339Any results that are still pending analysis jobs, will be repeated.
337340Auditors make a moderate number of requests for batches of results from almost all clients.
338- Clients start querying batches of results for individual patients .
341+ Clients start querying batches of results for individual users .
339342
340343\paragraph {Compliance Tail }
341344Almost all clients submit a large volume of analysis requests, but timing may be variable.
342345Up to 10\% of the requests may be given an urgent status.
343346Due to the high volume of analysis requests, there will be a high volume of queries for results.
344- Most results that are still pending analysis jobs, will be repeated.
347+ Most requests for results that are still pending analysis jobs, will be repeated.
345348Auditors make a moderate number of requests for batches of results from almost all clients.
346- Clients query batches of results for a moderate number of patients .
349+ Clients query batches of results for a moderate number of users .
347350
348351\paragraph {Auditing and BAU }
349352Some clients submit a large volume of analysis requests due to influx of new users or backlog.
350353Up to 5\% of the requests may be given an urgent status.
351354Other clients are back to operating as per normal circumstances.
352355There will be a moderate volume of queries for results.
353- Most results that are still pending analysis jobs, will be repeated.
354- Health authorities make a large number of requests for batches of results from almost all clients.
355- Clients query batches of results for a large number of patients .
356+ Most requests for results that are still pending analysis jobs, will be repeated.
357+ Auditors make a large number of requests for batches of results from almost all clients.
358+ Clients query batches of results for a large number of users .
356359
357360\paragraph {Research Project }
358361An internal researcher wants to analyse the results of the analysis against a false positive database provided by the clients.
@@ -365,7 +368,7 @@ \subsection{Marking}
365368\begin {itemize }[topsep=2pt,partopsep=0pt,itemsep=1pt,parsep=1pt]
366369 \item analysis requests, with their associated images, or
367370 \item analysis results to persistent storage.
368- \end {itemize }.
371+ \end {itemize }
369372
370373Your persistence mechanism must be robust, so that it can cope with catastrophic failure of your service.
371374If all running instances of your services are terminated,
@@ -414,7 +417,7 @@ \section{Academic Integrity}
414417As this is a higher-level course, you are expected to be familiar with the importance of academic integrity in general,
415418and the details of UQ's rules.
416419If you need a reminder, review the \link {Academic Integrity Modules}
417- {https://web.library.uq.edu.au/library-services/it/learnuq-blackboard-help /academic-integrity-modules}.
420+ {https://web.library.uq.edu.au/study-and-learning-support/coursework /academic-integrity-modules}.
418421Submissions will be checked to ensure that the work submitted is not plagiarised or of no academic merit.
419422
420423This is an \textit {individual } assignment.
@@ -434,23 +437,28 @@ \section{Academic Integrity}
434437All code that you submit \textbf {must } be your own work.
435438You may \textbf {not } directly copy code that you have found on-line to solve parts of the assignment.
436439If you find ideas from on-line sources (e.g. Stack Overflow),
437- you must \link {cite and reference}{https://web .library.uq.edu.au/node/4221/2 } these sources.
440+ you must \link {cite and reference}{https://guides .library.uq.edu.au/referencing } these sources.
438441Use the \link {IEEE referencing style}{https://libraryguides.vu.edu.au/ieeereferencing/gettingstarted}
439442for citations and references.
440443Citations must be included in a comment at the location where the idea is used in your code.
441444All references for citations \textbf {must } be included in a file called \texttt {refs.md }.
442445This file must be in the root directory of your repository.
443446
444447\subsection {AI Usage }
445- You may use generative AI tools (e.g. Copilot) to assist you in writing code to implement your solutions.
446- You may also use generative AI tools to help you test your implementations.
448+ You are developing a moderately complex software system.
449+ It is expected that you will make use of generative AI tools (e.g. Copilot) to assist you in implementing and testing your solutions.
450+
447451You \textbf {must } include, in the root directory of your repository,
448452a file called \texttt {AI.md } that indicates the generative AI tools that you used,
449453how you used them, and the extent of their use.
450454(e.g. All code was written by providing Copilot with class descriptions and then revising the generated code.
451455Classes A and B were produced by the following prompts to ChatGPT
452456and were then adapted to work in the assignment's context.)
453457
458+ You \textbf {must } also include, in the root directory of your repository,
459+ a file called \texttt {AI-log.md } that contains a log of the history of your interaction with the AI tool(s)
460+ that you used while developing your solution.
461+
454462Uncited or unreferenced material, or unacknowledged use of generative AI tools,
455463will be treated as not being your own work.
456464Significant amounts of cited or acknowledged work from other sources,
0 commit comments