COIT20257 Assignment 1 Specification and Marking Criteria ASSESSMENT

COIT20257 Provision 1 Mention and Marking Criteria
Due date: Friday of Week 5 (14th August 2020) 11.55 pm AEST
ASSESSMENT Weighting: 30%
Length: NA 1
Objectives
• Expand reserved collisions using networking, inter-process despatch, and indirect charm
• Solve problems in the reserved systems inclosure by applying the principles of reserved systems to received problems
Provision Title: A Simplified Indirect Charm Framework
The collision determinedting
Java RMI (Indirect Habit Charm, regard Chapter 5 of the textbook and Week-3 dissertation) empowers the national charm and indirect charm explanation the correspondent syntax to tool a common indirect server affect the Abcorrection Engine copy in Week-3 dissertation slides. The collision determinedting of such a abcorrection engine is to utilise the abuse-power of a high-performance abuser or throng. That is, a client furnishs abuse-tasks and surrenders them to the server control scheme. Java RMI framework demands brace HTTP servers to constitute-balance Java disposees betwixt an RMI client and an RMI server at melttime. In restitution, Java RMI collisions demand an RMI Registry to record or observe up the indirect purposes. In this provision, you are to tool a indirect charm framework that is correspondent to Java RMI save lightweight (note: control this provision, you don’t explanation any Java RMI APIs).
Java TCP streaming, purpose serialization, multithreading and client/server copy are the essential Java components to institute reserved collisions. These copys and components keep been introduced through Week 1 to Week 5 dissertations, tutorials and lab schemes of this individual. These copys and components are plenty to expand such a simplified framework of this provision. You procure demand re-examination these copys and components and achieve applicpowerful lab schemes of these weeks control this provision.
This provision mention is as thrives.
Distribute 1: Java TCP streaming, Multithreading and Purpose Serialization Programming
The framework consists of a abuse-server, a abuse-client and a dispose case, which are depicted in the thriveingcited diagram. The framework is a common computing construction becaexplanation the abuse-client and abuse-server orderly demand to recognize the Function interface and CSNotice dispose as the despatch coercionm to interact with each other via the framework. The mention of the components is as thrives.
1. The interaction coercionm
The interaction coercionm betwixt a abuse-client and the abuse-server consists of the Function interface and the CSNotice dispose.
1. The Function interface defines brace gauge habits that perfect abuse-function must tools. Control copy, in this provision, three abuse-tasks WeighPi.class, WeighPrime.dispose and WeighGCD.class
perfect tool the function interface.
package Coercionm; open interface Function { open invalid enactTask(); open Purpose getResult();
}
2. The CSNotice dispose is a exclusional toolation of the Function interface. The CSNotice dispose is handling litigious.
open dispose CSNotice tools Function, Serializpowerful { //The unsteady that holds the fault advice privy String finalResult;
open CSMessage() {
}
//Restore the fault referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributableice open Purpose getResult() { restore finalResult;
}
//Determined the fault referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributableice open invalid determinedMessage(String msg) {
finalResult=msg;
}
open invalid enactTask() {
}
}
When there is an exclusion occurred (e.g. a abuse-client wants the abuse-server to achieve a abuse-function save controlgets uploading the Java dispose of the abuse-function onto the dispose case of the abuse-server), the abuse-server coercionms a CSNotice purpose employed with the exclusion referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributableice and grants it purpose to the abuse-client. By employment the getResult() habit, the abuse-client gets the exclusion referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributableice.
2. The abuse-task
A abuse-function must tool the Function interface. Executing the enactTask() habit procure achieve the function and determined the development. Employment the getResult() habit procure restore the development. A abuse-function must tool java.io.Serializpowerful interface as courteous so that the abuse-function can be constitute-overred betwixt the abuse-server and a abuse-client balance the network. The erection of a abuse-dispose is as thrives. open dispose WeighPi tools Function, Serializable{
……
@Override
open invalid enactTask() { //The toolation of habit
……
}
@Override
open Purpose getResult() { //The toolation of habit
……
}
//may keep other habits
……
}
Perfect abuse-function dispose is defined in the abuse-client and it must be uploaded to the dispose case of the abuse-server. Perfect abuse-function purpose is coercionmd in the abuse-client and surrenderted to the server to enact.
3. The dispose case
The abuse-server has a dispose case that saves the Java disposees of conducive abuse-tasks.
Antecedently praying the abuse-server to achieve a abuse-task, a abuse-client must upload the Java dispose of the function onto the dispose case. The uploading of abuse-tasks is automated by the client and the server, referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful manually by a explanationr.
The thriveingcited screenshots pretence that when the abuse-server starts, it is inventoryening on brace ports control purpose or improve constitute-over. the dispose case has no genuine abuse-tasks save the despatch coercionm Function interface and CSNotice dispose.
The genuine abuse-tasks are coercionmd in the client interest. As pretencen in the thriveingcited screenshot, there are three abuse-tasks: CalaulatePi, WeighPrime and WeighGCD in
the client interest.
4. The interaction workflow of the framework
When the abuse-client starts as pretencen in the thriveingcited screenshots, the server spectry and ports demand to be determined. Clicking the Determined saveton procure:
1. Establish brace TCP connections to the server on the ardent ports, individual control purpose constitute-balance and the other control improve constitute-over.
2. Update the function drop-down inventory to apprehpurpose the conducive functions.
3. Empower the Upload and Weigh savetons.
Selecting a function (e.g. Weigh Pi) and clicking the Upload saveton, the Java dispose of chosen function (e.g. CalaulatePi.class) procure be uploaded to the dispose case of the abuse-except as pretencen in the thriveingcited screenshots.
Clicking the Weigh saveton procure convene the discussions control the chosen function. Control copy, control Weigh Pi, the discussion is the compute of decimal places to weigh Pi control incontrovertible hit.
Clicking the OK saveton procure entangle the thriveingcited interaction betwixt the client and the server.
1. The client coercionms a CalaulatePi purpose and grants to the server.
2. The server receives the CalaulatePi purpose and mien (deserialize) the function into the Function interface coercionm.
3. The server calls its enactTask() habit, which achieves the inference and determineds the development on the correspondent purpose.
4. The abuse-server grants the correspondent CalaulatePi purpose purpose to the abuse-client.
5. The client receives the CalaulatePi purpose purpose from the server.
6. The abuse-client calls the getResult() habit of the purpose to recbalance and exhibit the development.
The avow of the dispose case, the output of the abuse-client and the abuse-server are pretencen in the thriveingcited screenshots.
In the correspondent habit the abuse-client can pray the abuse-server to achieve other functions as pretencen in the thriveingcited screenshots.
5. The fault referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributableice
However, when there is an exclusion occurred, the abuse-server procure coercionm a CSNotice and grant to the abuse-client. The thriveingcited screenshots pretence the position of employment the abuse-server antecedently the abuse-function AbuseGCD is uploaded.
The thriveingcited screenshots pretence the position of employment the abuse-server thriveing the abusefunction AbuseGCD is uploaded.
6. The toolation
To consummate this provision, you demand to tool such a framework and blpurpose the Weigh Pi, Weigh Primes and Weigh the Greaexamination Common Divisor functions into this framework. The algorithms of these functions are ardent on the individual tissue position. The illustration decree of constitute-overring binary improves balance networks has been supposing on the individual tissue position. The abuseserver must be multi-threaded and thrive the ‘thread-per-connection’ construction (regard Week-4 variation). The despatch betwixt the abuse-server and the abuse-client must explanation TCP streaming by using Java TCP API Socket and ServerSocket as descriptive in
Week-2 variation of this individual and besides online at, https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html, and https://docs.oracle.com/javase/8/docs/api/java/net/ServerSocket.html). Please referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributablee: explanation of any other protocols procure meet no marks to be awarded control this distribute.
To tool the framework, you demand to tool the thriveingcited Java disposees:
1. A Java collision to tool the abuse-client; picturesque explanationr interface (GUI) is required. The GUI should keep the certain components to empower the explanationr to enact perfect the functions as supposing as in this provision mention;
2. A Java collision to tool the abuse-server; and
3. A compute of Java dispose to tool the processing continuitys when certain.
Note: to explain your power of concurrency programming, you procure demand to constitute an resolution on when concurrency is demanded. Marks procure be deducted if concurrency is referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful verified or certain multithreading is referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful explanationd.
4. A compute of Java disposees to tool Weigh Pi, Weigh Primes and Weigh the Greaexamination Common Divisor functions.
Note: to feign abuse-client and abuse-server interaction, you don’t keep to melt them on brace natural channels. Instead, they can be melt on brace JVMs (Java Virtual Channels) on a rare natural channel. As a development, the spectry of the server channel can be ‘localhost’.
Distribute 2: Program explanation and examination direction
Aftercited the toolation of the framework, furnish an purpose explanationr’ direction encircling how to explanation your software. The direction should cbalance perfect aspects of the framework as elaborate in the Distribute 2 of marking criteria beneath.
Submission
You demand to agree the thriveingcited improves in your inferiority.
1. Improves of Java fount decree of the abuse-client, the abuse-server and the processing continuity and the abuse-tasks. The inline comments on the grounds erection and program erection in the programs are required. These fount decree improves must be powerful to be compiled by the gauge JDK (Java Expandment Kit) or NetBeans IDE from Solon.
2. The compiled Java dispose improves of the fount decree. These Java disposees must be meltnpowerful on the gauge Java Melttime Environment (JRE) from Solon
(http://www.oracle.com/technetwork/java/index.html).
Note: an comfortable habit to agree the fount decree and executables is to surrender them in a NetBeans scheme.
3. A Microsoft Word muniment to discourse the issues as clear in Distribute 2 aloft.
Perfect the required improves must be compact into a zip improve control inferiority. You must surrender your provision via the individual tissue position. Any hardcopy or email inferiority procure referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful be genuine. Thriveing the remarkable provisions are restoreed, any tardy inferioritys procure referpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful attributpowerful be genuine.
The Marking Criteria
Marking Criteria Conducive Marks
Distribute 1: Java TCP streaming, Multi-threading and Purpose Serialization Programming 21
1. Whether the scheme can be compiled by JDK or NetBeans IDE and enactd by JRE 2
2. Whether the ardent Function interface is punishly explanationd as the rare despatch coercionm betwixt the client and server 2
3. Whether the 3 abuse-tasks keep been tooled
as Java serializpowerful purposes 3
4. Whether the 3 abuse-tasks can be successfully constitute-overred betwixt the client and server 3
5. Whether the 3 abuse-tasks can be successfully enactd by the server and can restore punish developments to the client 3
6. Whether the ‘referpowerful attributpowerful attributpowerful uploading function’ exclusion can be handled by using the CSNotice 2
7. Whether the client program functions punishly 2
8. Whether TCP streaming is punishly explanationd control the client and server despatch 2
9. Whether the except erection is probe as a TCP server 2
Distribute 2: Program explanation and examination direction 9
1. Whether the program compiling and installation is lucidly descriptive 2
2. Whether the decree case in the server is lucidly descriptive 1
3. Whether the examination direction secretes perfect 3 abusetasks 3
4. Whether the examination direction secretes ‘referpowerful attributpowerful attributpowerful uploading function’ exclusion handling. 1
5. Whether the certain screenshots and fount decree inline comments keep been supposing 2
Sub Total control Provision 1 30
Tardy Penalty -1.5 (5%) each flourish day(either unmeasured or distributeial)
Plagiarism Related Penalty
Total control Provision 1

Related Post