Assignment Answers :Network Components Concurrently CSI3344

Assignment Answers :Network Components Concurrently CSI3344

Student Name:
Student ID:
Distributed System analysis & Design
Table of Contents
Executive Summary ………………………….. …

Preview text

Student Name:
Student ID:
Distributed System analysis & Design
Table of Contents
Executive Summary ………………………….. ………………………….. ………………………….. …………… 2
Introduction ………………………….. ………………………….. ………………………….. …………………….. 2
Background ………………………….. ………………………….. ………………………….. …………………….. 3
Discussion ………………………….. ………………………….. ………………………….. ……………………….. 5
Case Analysis ………………………….. ………………………….. ………………………….. ………………………….. 5
Requirements Analysis ………………………….. ………………………….. ………………………….. …………….. 5
Design phase ………………………….. ………………………….. ………………………….. ………………………….. .7
Test cases for the application ………………………….. ………………………….. ………………………….. ……. 12
Security & Availability concerns in DSs ………………………….. ………………………….. …………… 14
Summary ………………………….. ………………………….. ………………………….. ………………………….. …. 15
Conclusion ………………………….. ………………………….. ………………………….. …………………….. 15
Reference List ………………………….. ………………………….. ………………………….. ………………… 17
Executive Summary
The field of computing has certainly grown into diverse technologies as stretched by the ever –
changi ng business needs. The distributed system is one of the tech advancements put in place to
increase collaboration and isolation. The isolat ion aspect gives room for the design,
development, and use of network components concurrently, in this sense, the components are
operated individually for the designated task but in collaboration with the rest to operate as a
single unit. This is an import ant aspect of the current business scenario which advocates for
isolation and con currency. In response to the intended business case, a distributed system is
intended to manage students in the transition to honors. In this nature, the to -be system is
integrated with the university system to operate as a distributed system. The design and
implementation of a distributed system are thus tailored to incorporate methods and techniques
to create the actual integration with the rest of the components in the distributed system. This is
in response to cohesion and coupling concerns, cohesion in the operation of the respective
components in the DSs is responsible for collaboratio n, and coupling on the other hand is highly
discouraged to deter global locks and the related cases. Distributed systems are thus not only
built for collaboration but are also built -in considerations for fault -tolerance, security, isolation,
and concurrenc y which are responsible for the desired functionalities of DS systems.
Introduction
A distributed system can be described as one that has numerous components located in different
places that communicate and coordinate their actions for a common goal. Despi te being located
in different machines, distributed systems are coherent as the primary requirement in the design
and implementation of a distributed system (Van Steen and Tanenbaum, 2017) . The development
of network systems and their respective technologi es have made it possible to host distributed
systems in different locations and yet realize a coherent goal in the outcome. This enables a
limitless connection and collaboration between different working entities connected over internet
technologies, an ER P system for instance can have numerous modules each located in different
locations respective to the desired department, in this manner, the users/ stakeholders get to
access the delegated modules of one system from different machines and sometimes differ ent
physical locations on cloud business solutions. The flexibility that comes along with distributed
systems is key makes an adaptable and viable option for contemporary businesses which is
entirely technologically inclined (Ölveczky, 2017) .
Background
As defined, a distributed system is one whose components are located in different physical
places; either in different hosts or different physical locations. Distributed systems are based on
network connections in which users can enhance collaboration alth ough in different locations, in
this manner, distributed systems are tailored to portray three main attributes; concurrency, lack
of a global clock, and the independent failure of the respective components. These are key
attributes that determine the effic iency of distributed systems (Luntovskyy and Spillner, 2017) .
The history of concurrency which is the source of distributed systems dates back to the 70s, in
this era, concurrency was majorly anchored on message -passing tracing back to the nature of OS
sys tems, initially referred to as local -area networks, ARPANET which is the oldest distributed
system and was the first successful distributed system to implement the concurrency attribute as
portrayed by distributed (Lindsay, et.al 2021) . Usenet and FidoNet were also among the earliest
distributed systems but came into play in the 80s . With time d istributed systems have become
more prominent as a branch of computer science in the late starting from the 70s with the first
symposium on the principles of distrib uted computing. Distributed computing is thus a product
of the cold war in which world powers struggled to take the center stage in computer science and
the respective technological development. ARPANET was developed during this period as the
first distrib uted system in which the nodes would be computers instead of switches as used at the
time, this system was characterized by redundancy in that messages could arrive at the intended
destination from various paths (Gu, et.al 2017) . To take the name Ethernet or local -area network,
distributed systems grew and resulted on the internet, this was implemented by creating common
hosts, structured gateways linking different local area networks (LAN), and a mechanism for
addressing the comp lex layout of hosts created. The internet was born from this concept and
grew to phase out the ARPANET as a distributed system. In the 80s, the internet was relatively a
small network compared to what is known as the internet currently as it can be seen in the blast
growth , CSNET was the first expansion on the internet as funded by NSF to research ways in
which the internet can be improved. The exponential growth of the internet ever since was
informed by the advent of personal and portable devices expandin g the internet network as a
distributed system to what is known nowadays as the internet (Czaja, 2018) . In this sense, the
internet is essentially the interconnection of different devices and nodes to facilitate
communication in different physical location s as well as on different physical devices. The
nature of distributed systems portrays two major attributes, distributed systems are collections of
computing elements each behaving as if independent of the other. The element/ node can be
either hardware or software process, the second attribute is that users believe that they are
working with a single system in the way the system operates making it look as if it is a singl e
unit. This means that there are high levels of autonomous need to collaborat e ( McKel vey and
Driscoll, 2019) . How to design these collaboration aspects is at the heart of the developing
process, the DSs are designed with less coupling but high levels of cohesion to realize the
coherent functions of distributed systems. Today, distributed s ystems encompass different
aspects of IT systems such as databases and cloud computing as the major DSs system
commonly known.
DS Systems’ architecture
DSs systems are based on three major attributes; concurrency, lack of global lock, and
independent failu res. Concurrency is a feature in DSs intended to allow multiple activities
executed at the same time (Liu, et.al 2017) . In this sense, a program has several independent
components which are accessed at the same time, in distributed systems, concurrency all ows the
system to execute different components from one parent system concurrently, this ensures
independence from each other yet cohesive operation for the ultimate goal of the system. The
independence attribute of the DSs system permits the components to operate in independent
failures, this means that should one component fail for one reason or another, the rest of the
components continue to operate hence an independent failure (Yuan and Yang, 2020) . This is
key to ensuring continuity despite hitches in one of the components. The independence aspect of
DSs also allows the DS to operate taking care of global locks; there is no central lock feature
such that a shutdown in one component w ould result in a global lock to lock the rest of the
components too. To attain these three attributes, DSs systems make use of necessary
communication protocols such as Remote Procedure Calls (RPC). RPC is a request -response
protocol usually initiated by the client . RPC protocol provides for interposed communication; an
ideal approach to facilitate communication between the individual components in the distributed
system (Wang, Hindman, and Stoica, 2021) . Communication is necessary to realize the
concurren cy aspect of the process as desired as the base feature in the operation of a DS system.
Alongside communication methods, distributed systems work in collaboration utilizing
techniques such as Remote Method Invocation (RMI), in this technique of coordinati on, a
component can invoke a method to work with another component on the network with high
levels of fault -tolerance, especially in the concurrent isolation of the individual components in
the network. This is a common attribute in cloud computing as a di stributed system to ensure
tolerance to faults or simply to withstand circumstances. Over the years, security has been an
issue in distributed systems because an attack could spread through the network to affect the rest
of the components (Sallow, 2020 ), in this perspective, security can be viewed from three angles.
This is summarized under the CIA attributes; confidentiality, integrity, and availability.
Distributed nature of the system allows for greater chances of integrity and confidentiality using
tech niques such as encryption. The isolation of distributed components also allows for the
individual implementation of security measures such as a firewall to give room for the
availability attribute as well as integrity. By doing this, the components are shi elded from attacks
at both individual levels and as a whole hence different levels to ensure the continuous safety of
the system users and their respective information in the respective use case scenario.
Discussion
The necessity of distributed systems is informed by different aspects of business needs in the
respective area of application. In this design, a distributed system is found suitable for integration
with another system to realize a common goal in the education domain.
Case Analysis
Transiting into honors has never been easy, it is characterized by different aspects including
endless research on the appropriate courses of action . The university has noticed this and intends
to implement a system to aid to smoothen the process. The system is neede d to be integrated with
the current university system to operate as a component of the wider distributed system. This is
to imply that even though the system is to be implemented as an independent module, it needs to
have compatible models and components s o that it can be integrated with the already existing
university to form a distributed system.
Requirements Analysis
In response to the case scenario described, the to -be system is intended to be tailored toward the
attainment of the following specific req uirements;
ï‚· Ensure that the student has completed and passed at least 20 units
ï‚· Check the average such that if it is equal/ greater than 70, the student is qualified for
honors, 65 average positions the candidate for consideration subject to further
assessm ents
ï‚· A student with an average below 65 is still qualified but subject to careful assessment, a
below 60 average means the student is not qualified.
ï‚· Data storage in a data server
ï‚· The system needs to be integrated with the existing university system
Based on the functional requirements listed, the to -be system is to allow self -evaluation from
their respective module of the larger distributed system in the university case scenario as
discussed. Concerning the non -functional requirements front, the to -be system is required to
portray higher levels of security, cohesive operations, and fault -tolerance as the main aspects of
distributed systems. As a major attribute in distributed system s, the cohesive operation is set to
allow the to -be system to operate as if it is autonomous although it will be integrated with the
existing university system to achieve the distributed system concept. The design and
implementation of this system are thus in consideration with techniques that can facilitate the
integration with the existing system hence a compatibility inclination in the language and design
approaches used. Currently, the university has a web application as a student portal for these
kinds of purposes , with th is in mind, the to -be system must be tailored to make use of a language
that is compatible with the already existing modules, methods, and techniques to implement the
actual integration of the components for a distributed system to be achieved in implementation
(Nugroho and Engel, 2019) .
Design Aspects
Tailored towards a web application as a module, the to -be component of the distributed system in
which the SDLC (Software Development Life Cycle) phase of design is majorly based on flow
charts and class diagrams as the design artifacts to start from.
Desi gn phase
The design phase in software applications is crucial in the visualization of the to -be system in a
pictorial representation such that the implementation can be able to be tailored toward the
specific needs of the business. This is to model out UML (Unified Modelling Language) use case
scenarios, flow charts, and class diagrams as will be demonstrated in the subsequent sections of
the design phase.
Class Diagram Analysis
Concerning the design phase of the SDLC process, a class diagram is a static st ructure diagram
that describes the structure of a given system illustrating the respective classes, attributes,
operations, and relationships amongst the objects as may have been identified. A class diagram
intends to carve out a static view of the subject application (Paolone, et.al 2021) , specifically,
class diagrams facilitates the following aspects of the to -be system;
ï‚· Analysis and design of the static view of an application.
ï‚· Describe the responsibilities of a system from a static point of view .
ï‚· The base for component and deployment diagrams.
ï‚· Forward and reverse engineering in the respective application in design .
Figure 1: class diagram
In the forward engineering perspective, class diagram analysis is critical in the actual codi ng of
the to-be application system, as it is, the class diagrams will be implemented as objects in the
respective object -oriented programming paradigm to be used in the implementation of the
system. This is to implement a cli ent -server architecture hence a necessity for a database server
from where the basic information of the system’s operation is to be stored. The classes can also
be utilized in this scope to be used as artifacts to implement a database system in the actual
implementation.
Flow charts
Flow charts are also important design aspects, in the field of software development, flow charts
are critical artifacts of design intended for a visual illustration of a sequential order in which
specific functionalities/ busin ess processes must flow in a certain case scenario. In this case, a
flow chart is set to demonstrate key aspects such as decisions to determine if the student qualifies
for the program based on the criteria given and if not, the flow should illustrate the suitable
course of action (Zhang, Hao, and Sun, 2017) . This is key in the implementation of a functional
attribute in code to realize the specific business needs as listed in the functional requirements
analysis of the case scenario.
Figure 2: flow chart
UML use case scenarios
UML use case scenarios are usually the default design attributes geared towards the design and
implementation use cases modeled out of a given business case. The use case scenarios are
intended to identify the specific functionalities of every user/ actor in the to -be system, the use
case analysis aspects are also tailored towards being implicit about the specific software or
system functionalities as intended towards addressing the business needs in the do main as
identified (Fernández -Sáez, Chaudron, and Genero, 2018) .
Figure 3: use case scenario
Test cases for the application
The server has started waiting for the clients to connect
The client is prompted to enter their and the server shall reply t o their messages depending on the
information that is stored on the system. The attached tables shows some test cases that can be
used in the application.
Input condition Expected output output
Student id:848484
Course cod e:747474
Student name: john
Should have done at
least 20 units and
having an average of
60
Qualifies for the
honors study
Got average of 92
hence qualified for
the honors studies
Student id:848485
Course code:747474
Student name: mark
Should have done at
least 20 units and
having an average of
60
Qualifies for the
honors study
Got average of 82
hence qualified for
the honors studies
Student id:848490
Course code:747474
Student name:fanuel
Should have done at
least 10 units and
having an average of
60
Does not qualify He does not qualify
for the degree low
number of units are
completed.
Student id:84460
Course code:747574
Student name:
harvester
Should have done at
least 10 units and
having an average of
60
Does not qualify He does not qualify
for the degree low
number of units are
completed.
Security & Availability concerns in DSs
Despite the innovative way of addressing business needs, distributed systems are characterized
by security and availability concerns. As discussed, a distributed system is technically a network,
this means that it has a wider attack surface that can spread through the network to reach the
target system, for this reason., distributed systems are potentially at high risk of being attacked in
any direction, although they employ different security measures, it is possible that an attack
could be catastrophic to the business operations of the users. Availability is also a major concern
in distributed systems, DSs systems are majorly reliant on the internet, which means that a
simple outage o downtime could affect the availability of a given component of the entire
system, a security breach such as denial of service is also likely to affect the availability of a DSs
system, the isolation aspect of the individual component s comes in handy to deter the impacts of
such attacks in DSs systems ( Mugarza, Parra and Jacob, 2020) . For these reasons, DSs systems
deploy various approaches to ensuring their security as well as the availability attributes
including optimal configuratio ns for security and availability, in summary, the design and
implementation of DSs systems are majorly anchored to uphold the CIA -triad of the cyberspace
entailing; Confidentiality, Integrity and Availability aspects.
Summary
The underlying objective of this design is to bring out the concept of a distributed system in the
field of software development, utilizing the specific software development concepts as discussed
in the sections above, a distributed system is to be realize d via the integration of the newly
developed system into the already existing university system. This is to leverage all the
distributed system aspects including, concurrency, independence of operations, and absence of
global locks should one module/ compo nent of the system fail for one reason or another.
Essentially, a hitch in the newly developed system is not supposed to affect the existing
university system, similarly, the portal hitches are not affecting the working of the newly
developed system. A com mon factor is that the two have to collaborate at one point to realize a
given common goal in operation. In this sense, the newly added student component can be
accessed ONLY by the student for self -evaluation, to use the results from the self -evaluation; i.e
move into honors class, the university portal has to be invoked through the methods and modules
involved to place the respective student in the right class hence a smooth transition following the
use of the newly developed student system.
Conclusion
The bottom line is, that software development is a paramount technological aspect in the
contemporary business space as attributed to the various tech solutions derived from different
software applications. The development process and the usage aspects how ever determine the
ultimate efficiency and effectiveness of a given software application in its area of application. A
distributed system is one of the many design approaches intended for ultimate efficiency in terms
of collaboration and isolation of syste m components. In this case, for instance, the university can
ensure ease in transition from lower classes into honors without manual means at the comfort of
their convenience (Luntovskyy and Spillner, 2017) . The added component can be operated by
the stude nts themselves on portable devices and gadgets but the results are received in the
university’s respective department; the registrar department. A faster business process is also
guaranteed in this case since the evaluation can be done by the student thems elves on their own
devices as opposed to the earlier business process where the registrar’s office had to be involved.
Reference List
Czaja, L., 2018. Distributed Systems — Objectives, Features, Applications. An Introduction to
Distributed Computer Syst ems (pp. 49 -64). Springer, Cham.
Fernández -Sáez, A.M., Chaudron, M.R. and Genero, M., 2018. An industrial case study on the
use of UML in software maintenance and its perceived benefits and hurdles. Empirical Software
Engineering , 23 (6), pp.3281 -3345.
Gu, Z., Wang, Y., Hua, Q.S. and Lau, F., 2017. Distributed Systems. In Rendezvous in
Distributed Systems (pp. 3 -14). Springer, Singapore.
Luntovskyy, A. and Spillner, J., 2017. Architectural Transformations in Network Services and
Distributed Systems . Spr inger Fachmedien Wiesbaden.
Liu, H., Li, G., Lukman, J.F., Li, J., Lu, S., Gunawi, H.S. and Tian, C., 2017. Dcatch:
Automatically detecting distributed concurrency bugs in cloud systems. ACM SIGARCH
Computer Architecture News , 45 (1), pp.677 -691.
Lindsay, D., Gill, S.S., Smirnova, D., and Garraghan, P., 2021. The evolution of distributed
computing systems: from fundamental to new frontiers. Computing , 103 (8), pp.1859 -1878.
Luntovskyy, A. and Spillner, J., 2017. Architectural Transformations in Network Ser vices and
Distributed Systems . Springer Fachmedien Wiesbaden.
McKelvey, F. and Driscoll, K., 2019. ARPANET and its boundary devices: modems, IMPs, and
the inter -structuralism of infrastructures. Internet Histories , 3(1), pp.31 -50.
Mugarza , I., Parra, J. and Jacob, E., 2020. Cetratus: A framework for zero downtime secure
software updates in safety ‐critical systems. Software: Practice and Experience , 50 (8), pp.1399 –
1424.
Nugroho, A.C. and Engel, M.M., 2019. Hybrid distributed application in banking transactions
using remote method invocation. TELKOMNIKA Indonesian Journal of Electrical
Engineering , 17 (5), pp.2208 -2217.
Ölveczky, P.C., 2017. Designing Reliable Distributed Systems . Springer London.
Paolone, G., Marinelli, M., Paesani, R. and Felice, P.D., 2021, September. Experiments for
linking the complexity of the business UML class diagram to the quality of the associated code.
In International Conference on Computational Science and Its Applications (pp. 95 -110).
Springer, Cham.
Sallow, A.B., 2020. Design and implementation of the distributed system using java -RMI
middleware. Academic Journal of Nawroz University , 9(1), pp.113 -120.
Van Steen, M. and Tanenbaum, A.S., 2017. Distributed systems . Leiden, The Netherlands:
Maarten van Steen.
Wang, S., Hindman, B. and Stoica, I., 2021, June. About RPC: It’s Time to Add Distributed
Memory. In Proceedings of the Workshop on Hot Topics in Operating Systems (pp. 191 -198).
Yuan, X. and Yang, J., 2020, March. Effective concurrency testing for distr ibuted systems.
In Proceedings of the Twenty -Fifth International Conference on Architectural Support for
Programming Languages and Operating Systems (pp. 1141 -1156).
Zhang, R., Hao, F. and Sun, X., 2017. The design of agricultural machinery service management
system based on the Internet of Things. Procedia Computer Science , 107 , pp.53 -57.

Order Now

QUALITY: 100% ORIGINAL PAPER – NO PLAGIARISM – CUSTOM PAPER