The Unified Modeling Language (UML) is a general-
purpose, developmental, modeling language in the field
of software engineering, that is intended to provide a
standard way to visualize the design of a system.
Unified Modeling Language (UML) is a modeling language, used for design. Designed based on OMG Standard, Object this helps to express and design documents, software. This is particularly useful for OO design. Here is a brief tutorial that talks about UML usage.
This Presentation contains all the topics in design concept of software engineering. This is much more helpful in designing new product. You have to consider some of the design concepts that are given in the ppt
Welcome to my series of articles on Unified Modeling Language. This is "Session 10 – Sequence Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
The Unified Modeling Language (UML) is a general-
purpose, developmental, modeling language in the field
of software engineering, that is intended to provide a
standard way to visualize the design of a system.
Unified Modeling Language (UML) is a modeling language, used for design. Designed based on OMG Standard, Object this helps to express and design documents, software. This is particularly useful for OO design. Here is a brief tutorial that talks about UML usage.
This Presentation contains all the topics in design concept of software engineering. This is much more helpful in designing new product. You have to consider some of the design concepts that are given in the ppt
Welcome to my series of articles on Unified Modeling Language. This is "Session 10 – Sequence Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
Controller Placement Problem resiliency evaluation in SDN-based architecturesIJCNCJournal
The Software-Defined Networking (SDN) paradigm does represent an effective approach aimed at enhancing the performance of core networks by introducing a clean separation between the routing plane and the forwarding plane. However, the centralized architecture of SDN networks raises resiliency concerns that are addressed by a class of algorithms falling under the Controller Placement Problem (CPP) umbrella term. Such algorithms seek the optimal placement of the SDN controller. In this paper, we evaluate the main CPP algorithms and provide an experimental analysis of their performance, as well as of their capability to dynamically adapt to network malfunctions and disconnections.
Controller Placement Problem Resiliency Evaluation in SDN-based ArchitecturesIJCNCJournal
The Software-Defined Networking (SDN) paradigm does represent an effective approach aimed at enhancing the performance of core networks by introducing a clean separation between the routing plane and the forwarding plane. However, the centralized architecture of SDN networks raises resiliency concerns that are addressed by a class of algorithms falling under the Controller Placement Problem (CPP) umbrella term. Such algorithms seek the optimal placement of the SDN controller. In this paper, we evaluate the main CPP algorithms and provide an experimental analysis of their performance, as well as of their capability to dynamically adapt to network malfunctions and disconnections.
1
Lesson 5.3
UML Deployment Diagrams
Lesson 5.2
Distributed Systems Architecture (DSA) for Deployment
Lesson 5.1
Basic Vocabulary of the Deployment View
1
2
3
4
5
Learning Module Table of Contents
Reference
Rozanski, N. and Woods, E. (2012) Software systems architecture (2nd Edition). Chapters 21 and 20.
Lesson 5.4 (time permitting)
Using Deployment Diagrams to Illustrate the Development View
1
2
Lesson 5.3
UML Deployment Diagrams
Lesson 5.2
Distributed Systems Architecture (DSA) for Deployment
Lesson 5.1
Basic Vocabulary of the Deployment View
1
2
3
4
5
Let’s get started with the first lesson of the module
Reference
Rozanski, N. and Woods, E. (2012) Software systems architecture (2nd Edition). Chapters 21 and 20.
Lesson 5.4
Using Deployment Diagrams to Illustrate the Development View
2
System Architecture Views (using the ISO/IEC 42010 standard)
3
REF: ISO Software Architecture Standard as described by Rozanski and Woods
CONTEXT Views
FUNCTIONAL View
DATA View
TIMING View
DEVELOPMENT View
DELPOYMENT View
(we are here)
OPERATIONAL View
Not a new idea in systems design
Other architectural standards
Kruchten’s 4 + 1 architecture (IBM)
IEEE Standard 1471 that is the basis for your textbook
Zachman’s Framework for Information Systems Architecture
3
4
The Deployment View focuses on how hardware and software elements of your new system will be distributed or assigned across a network.
The deployment view includes both technical and non–technical
sub-views.
The deployment view shows how various implementation components will be distributed to specific ”nodes” on the network.
The deployment view shows the communication lines (wired and wireless) between processing nodes
What is the Deployment View of a System’s Design?
Overview of the Deployment ViewCharacteristics ExplanationDefinitionDescribes the processing and storage environment of your IT system/solution, and the potential points of failure for which you may need a service disruption and business continuity plan.ConcernsAll hardware, software, and storage nodes required for your system
Commercial (third party components) that must be purchased
Software components that must be built and where each will be executed (run-time environment)
Data storage components, capacity, and recovery
Network requirements and capacities
Points of failureArchitectural DescriptionsRun-time models
Network models
Technology dependency ModelsPossible ProblemsUnclear or inaccurate dependencies between required nodes in the network
Unproven technology choices, or obsolete technology choices
Missing or poorly developed service level agreements with user community
Lack of necessary technical knowledge or expertise
Deployment becoming an after thought – compromising design and construction already completed
Poor or no capacity planning analysis
No service disruption business continuity plan, or disaster recovery plan and environment
5
REF: Adapted from Rozanski and Woods (2012)
...
Loosely-Coupled Architecture - how to get rid of the domino effectRadosław Maziarka
Traditionally, while creating our system, you don't focus on creating our components separated from each other. As a result, one problem can lead you to the domino effect - the whole system stops working. How to counteract it?
"Loosely coupled architecture" is recognized as the main factor to create a highly-scalable system. It allows you to make changes in your application which won't effect on their other part. See yourself what are the criteria of this architecture to be able to introduce it to your solution from the very beginning.
Our journal is official publication of the Utilitas mathematical journal original research articles and aspect of both the pure and applied mathematics. UMJ coverage extends to Operations Research, Mathematical Economics, Mathematics Biology and Computer Science. our Journal has became fully open access Journal.
our journal publishes original research and review articles on all aspects of both pure and applied mathematics. It's publish Algebra,Analysis,Geometry,Topology,Number Theory,Differential Equations etc. UMJ coverage extends to Operations Research, Mathematical Economics, Mathematics Biology and Computer Science.
Utilitas Mathematica Journal has a original research in all areas of pure and applied mathematics.UMJ coverage extends to Operations Research, Mathematical Economics, Mathematics Biology and Computer Science.It enjoys good reputation and popularity at international level in terms of research papers and distribution worldwide.
Utilitas Mathematica Journal the journal publishes original research in all areas of pure and applied mathematics, statistics Algebra,Topology,Differential Equations,Mathematical Physics Utilitas Mathematica international level in terms of research provides worldwide.
https://utilitasmathematica.com/index.php/Index
https://utilitasmathematica.com/index
Our journal Open-access journals often emphasize transparency in research, including open data practices and clear reporting. It’s Journal is now readily available to researchers, educators, policymakers, and the general public worldwide. This broader access facilitates interdisciplinary research and real-world applications of mathematical and statistical knowledge.
The Impedance Mismatch in Integrated Engineering Design Systems is an issue in the Integration of commercial off the shelf (COTS) components.
This issue is a member of the Impedance Mismatch
problems found when commercial off the shelf
components are assembled into systems.
This mismatch occurs when event, control sequence,
or data semantics of two or more participating application
domains are mismatched.
During the system integration process the impedance
mismatch must be addressed through some means,
either through an integration layer which hides the
mismatch or through an integrating service, such as
CORBA, which facilitates the impedance adaptation
between the applications.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
1. MCA 405-C (N2) OOAD Jan-May07
System Design
12/01/12 Amandeep S. Patti 1
2. MCA 405-C (N2) OOAD Jan-May07
System Design
System design is the high-level strategy for
solving the problem and building a solution.
It includes decisions about the organization of the
system into subsystems, the allocation of
subsystems to hardware and software
components and major conceptual and policy
decisions that form the framework for detailed
design.
12/01/12 Amandeep S. Patti 2
3. MCA 405-C (N2) OOAD Jan-May07
System Design
During analysis, the focus is on what needs to be
done, independent of how it is done. During
design, decisions are made about how the
problem will be solved, first at high level, then at
increasingly detailed levels.
It is the first design stage in which the basic
approach to solving the problem is selected.
During system design, the overall structure and
style are decided.
12/01/12 Amandeep S. Patti 3
4. MCA 405-C (N2) OOAD Jan-May07
System Design
The architecture provides the context in which
more detailed decisions are made in later design
stages.
By making high-level decisions that apply to the
entire system, the system designer partitions the
problem into subsystems.
12/01/12 Amandeep S. Patti 4
5. MCA 405-C (N2) OOAD Jan-May07
System Design
The system designer must make the following
decisions:
Organise the system into subsystems.
Identify concurrency inherent to the problem.
Allocate subsystems to processors and tasks.
Choose an approach for management of data.
Handle access to global resources.
Choose the implementation of control in s/w.
Handle boundary conditions.
Set trade-off priorities.
12/01/12 Amandeep S. Patti 5
6. MCA 405-C (N2) OOAD Jan-May07
Breaking a System Into Subsystems
Fist step in system design is to divide the system
into a small number of components.
Each subsystem encompasses aspects of the
system that share some common property:
similar functionality, the same physical location or
execution on the same kind of hardware.
12/01/12 Amandeep S. Patti 6
7. MCA 405-C (N2) OOAD Jan-May07
Breaking a System Into Subsystems
A subsystem is not an object nor a function but a
package of classes, associations, operations,
events and constraints that are interrelated and
that have a reasonably well-defined and small
interface with other subsystems.
A subsystem is usually identified by the service it
provides.
12/01/12 Amandeep S. Patti 7
8. MCA 405-C (N2) OOAD Jan-May07
Breaking a System Into Subsystems
A service is a group of related functions that
share some common purpose, such as I/O
processing, drawing pictures.
Each subsystem has a well defined interface to
the rest of the system. The interface specifies the
form of all interactions and the information flow
across subsystem boundaries but does not
specify how the subsystem is implemented
internally.
12/01/12 Amandeep S. Patti 8
9. MCA 405-C (N2) OOAD Jan-May07
Breaking a System Into Subsystems
Subsystems should be defined in such a manner
that it has more cohesion and less coupling.
The relationship between two subsystems can be
client-supplier or peer-to-peer.
The decomposition of systems into subsystems
may be organised as a sequence of horizontal
layers or vertical partitions.
12/01/12 Amandeep S. Patti 9
10. MCA 405-C (N2) OOAD Jan-May07
Layers
A layered system is an ordered set of virtual
worlds, each built in terms of the ones below it
and providing the basis of implementation for the
ones above it.
The objects in each layer can be independent,
having some interaction with other layers.
A subsystem knows about the layers below it, but
has no knowledge of the layers above it.
12/01/12 Amandeep S. Patti 10
11. MCA 405-C (N2) OOAD Jan-May07
Layers
Layered architecture come in two forms:
closed and open.
In closed architecture, each layer is built
only in terms of the immediate lower layer.
This reduces the dependencies between
layers and allows changes to be made
most easily because a layer’s interface
only affect the next layer.
12/01/12 Amandeep S. Patti 11
12. MCA 405-C (N2) OOAD Jan-May07
Layers
In an open architecture, a layer can use features
of any lower layer to any depth. This reduces the
need to redefine operations at each level, which
can result in a more efficient and compact code.
Open architecture does not observe the principle
of information hiding. Changes to a subsystem
can affect any higher subsystem, so an open
architecture is less robust than a closed
architecture.
12/01/12 Amandeep S. Patti 12
13. MCA 405-C (N2) OOAD Jan-May07
Partitions
Partitions vertically divide a system into
several independent or weakly-coupled
subsystems, each providing one kind of
service.
The subsystems may have some
knowledge of each other, but this
knowledge is not deep, so major design
dependencies are not created.
12/01/12 Amandeep S. Patti 13
14. MCA 405-C (N2) OOAD Jan-May07
Identifying Concurrency
In the analysis model, as in the real world
and in hardware, all objects are concurrent.
An important goal of system design is to
identify which objects must be active
concurrently and which objects have
activity that is mutually exclusive.
12/01/12 Amandeep S. Patti 14
15. MCA 405-C (N2) OOAD Jan-May07
Identifying Inherent Concurrency
The dynamic model is the guide to identifying
concurrency.
Two objects are inherently concurrent if they can
receive events at the same time without
interacting.
If the events are unsynchronized, the objects
cannot be folded onto a single thread of control.
Two subsystems that are inherently concurrent
need not necessarily be implemented as
separate hardware units.
12/01/12 Amandeep S. Patti 15
16. MCA 405-C (N2) OOAD Jan-May07
Defining Concurrent Tasks
Although all objects are conceptually
concurrent, in practice many objects in a
system are interdependent.
By examining the state diagrams of
individual objects and the exchange of
events among them, many objects can
often be folded together onto a single
thread of control.
12/01/12 Amandeep S. Patti 16
17. MCA 405-C (N2) OOAD Jan-May07
Defining Concurrent Tasks
A thread of control is a path through a set of state
diagrams on which only a single object at a time
is active.
A thread remains within a state diagram until an
object sends an event to another object and waits
for another event.
The thread passes to the receiver of the event
until it eventually returns to the original object.
The thread split if the objects sends an event and
continues executing.
12/01/12 Amandeep S. Patti 17
18. MCA 405-C (N2) OOAD Jan-May07
Allocating Subsystems to Processors and
Tasks
Each concurrent subsystem must be allocated to
a hardware unit. The system designer must:
Estimate performance needs and the resources
needed to satisfy them.
Choose hardware and software implementation for
subsystem.
Allocate software subsystems to processors to satisfy
performance needs and minimize interprocessor
communication.
Determine the connectivity of the physical units that
implement the subsystem.
12/01/12 Amandeep S. Patti 18
19. MCA 405-C (N2) OOAD Jan-May07
Estimating Hardware Resource
Requirements
The decision to use multiple processors or
hardware functional units is based on a need for
higher performance than a single CPU can
provide.
The system designer must estimate the required
CPU processing power by computing the steady
state load as the product of the number of
transactions per second and the time required to
process a transaction.
12/01/12 Amandeep S. Patti 19
20. MCA 405-C (N2) OOAD Jan-May07
Hardware-Software Trade-offs
Hardware can be regarded as a rigid but highly optimized
form of software.
The system designer must decide which subsystem will
be implemented in hardware and which in software.
Subsystems are implemented in hardware for two main
reasons:
Existing hardware provides exactly the functionality
required
Higher performance is required than a general purpose
CPU can provide, and more efficient hardware is
available.
12/01/12 Amandeep S. Patti 20
21. MCA 405-C (N2) OOAD Jan-May07
Allocating Tasks to Processors
Tasks are assigned to processors because:
Certain tasks are required at specific physical location,
to control hardware or to permit independent or
concurrent operation.
The response time or information flow rate exceeds
the available communication band width between a
task and a piece of paper.
Computations rates are too great for a single
processor, so tasks must be spread among several
processors.
12/01/12 Amandeep S. Patti 21
22. MCA 405-C (N2) OOAD Jan-May07
Determining Physical
Connectivity
The system designer must choose the
arrangement and form of connections among the
physical units.
The following decisions must be made:
Choose the topology of connecting the physical units.
Choose the topology of repeated units.
Choose the form of the connection channels ad the
communication protocols.
12/01/12 Amandeep S. Patti 22
23. MCA 405-C (N2) OOAD Jan-May07
Management of Data Stores
The following guidelines characterize the kind of
data that belongs in a formal database:
Data that requires access at fine levels of detail by
multiple users.
Data that can be efficiently managed with DBMS
commands.
Data that must port across many hardware and
operating system platforms.
Data that must be accessible by more than one
application program.
12/01/12 Amandeep S. Patti 23
24. MCA 405-C (N2) OOAD Jan-May07
Management of Data Stores
The following guidelines characterize the kind of
data that belongs in a file and not in a relational
database:
Data that is voluminous in quantity but difficult to
structure within the confines of DBMS.
Data that is voluminous in quantity and of low
information density.
“Raw” data that is summarized in the database.
Volatile data that is kept a short time and then
discarded.
12/01/12 Amandeep S. Patti 24
25. MCA 405-C (N2) OOAD Jan-May07
Handling Global Resources
The system designer must identify global resources and
determine mechanisms for controlling access to them.
Global resources include: physical units, such as
processors, communication satellites; Disk space and
databases.
If a resource is a physical object, then it can control itself
by establishing a protocol for obtaining access within a
concurrent system.
If a resource is a logical entity, such as database, then
there is danger of conflicting access in a shared
environment.
12/01/12 Amandeep S. Patti 25
26. MCA 405-C (N2) OOAD Jan-May07
Handling Global Resources
Each global resource must be owned by a “guardian
object” that control access to it.
All access to the resource must pass through the
guardian object.
In a time critical application, the cost of passing all access
to a resource through a guardian object is sometimes too
high, and clients must access the resource directly by
making use of locks.
A lock is a logical object associated with some defined
subset of a resource that gives the lock holder the right to
access the resource directly.
12/01/12 Amandeep S. Patti 26
27. MCA 405-C (N2) OOAD Jan-May07
Choosing Software Control Implementation
There are two kinds of control flows in a software
system: external control and internal control.
External control is the flow of externally visible
events among the objects in the system.
There are three kinds of control for external
events: procedure-driven, event driven sequential
and concurrent.
12/01/12 Amandeep S. Patti 27
28. MCA 405-C (N2) OOAD Jan-May07
Choosing Software Control Implementation
Internal control is the flow of control within a
process. It exist only in the implementation and
therefore is not inherently concurrent or
sequential.
Unlike external events, internal transfers of
control, such as procedure calls or inter-task call
are under the direction of the program and can
be structured for convenience.
Three kinds of control flow are common:
procedure call, quasi-concurrent inter-tasks call
and concurrent inter-tasks call.
12/01/12 Amandeep S. Patti 28
29. MCA 405-C (N2) OOAD Jan-May07
External Control: Procedure-driven Systems
In a procedure-driven sequential system, control
resides within the program code.
The major advantage of procedure-driven control
is that it is easy to implement with convention
languages, the disadvantage is that it requires
the concurrency inherent in objects to be mapped
into a sequential flow of control.
12/01/12 Amandeep S. Patti 29
30. MCA 405-C (N2) OOAD Jan-May07
External Control: Event-driven Systems
In an event-driven sequential system, control
resides within a dispatcher or monitor provided
by the language, subsystem or operating system.
Event driven systems permit more flexible
patterns of control than procedure-driven
systems.
The mapping from events to program construct is
much simpler and more powerful.
12/01/12 Amandeep S. Patti 30
31. MCA 405-C (N2) OOAD Jan-May07
External Control: Concurrent Systems
In a concurrent system, control resides
concurrent in several independent objects, each
a separate task. Events are implemented directly
as one way message between objects.
One task can wait for input, but other tasks
continue execution.
The OS usually supplies a queuing mechanism
for events so that events are not lost if a task is
executing when they arrive.
12/01/12 Amandeep S. Patti 31
32. MCA 405-C (N2) OOAD Jan-May07
Internal Control
External interactions inherently involve waiting for
events because different objects are independent
and cannot force other objects to respond:
internal operations are generated by objects as
part of the implementation algorithm, so their
response patterns are predictable.
Most internal operations can therefore be thought
of as procedure calls, in which the caller issues a
request and waits for the response.
12/01/12 Amandeep S. Patti 32
33. MCA 405-C (N2) OOAD Jan-May07
Common Architectural Frameworks
There are several prototypical architectural
frameworks that are common in existing
systems. Each of these is well-suited to a certain
kind of system. The kind of system include:
Batch processing.
Continuous transformation.
Interactive interface.
Dynamic simulation.
Real-time system.
Transaction manager.
12/01/12 Amandeep S. Patti 33
34. MCA 405-C (N2) OOAD Jan-May07
Batch Transformation
A batch transformation is a sequential input-to-output
transformation, in which inputs are supplied at the start
and the goal is to compute an answer.
The steps in designing a batch processing transformation
are:
Break the overall transformation into stages, each stage
performing one part of the transformation.
Define intermediate object classes for the data flows between
each pair of successive stages.
Expand each stage in turn until the operations are straightforward
to implement.
Restructure the final pipeline for optimization.
12/01/12 Amandeep S. Patti 34
35. MCA 405-C (N2) OOAD Jan-May07
Continuous Transformation
A continuous transformation is a system in which
the outputs actively depend on changing inputs
and must be periodically updated.
since a complete re-computation is impossible for
every input value change, an architecture for a
continuous transformation must facilitate
incremental computation. The transformation can
be implemented as a pipeline of functions.
The effect of each incremental change in an input
value must be propagated through pipeline.
12/01/12 Amandeep S. Patti 35
36. MCA 405-C (N2) OOAD Jan-May07
Continuous Transformation
Synchronization of values within the pipeline may
be important for high-performance systems.
In such cases, operations are performed at well-
defined times and the flow path of operations
must be carefully balanced so that values arrive
at the right place at the right time.
12/01/12 Amandeep S. Patti 36
37. MCA 405-C (N2) OOAD Jan-May07
Continuous Transformation
The steps in designing a pipeline for a
continuous transformation are:
Draw a data flow diagram for the system
Define intermediate objects between each pair of
successive stages, as in the batch transformation.
Differentiate each operation to obtain incremental
changes to each stage.
Add additional intermediate objects for optimization.
12/01/12 Amandeep S. Patti 37
38. MCA 405-C (N2) OOAD Jan-May07
Interactive Interface
An interactive interface is a system that is dominated by
interactions between the system and external agents,
such as humans, devices or other programs.
It usually includes part of an entire application which can
often be handled independently from the computational
part of the application.
The major concerns of an interactive interface are the
communications protocol between the system and the
external agents, the syntax of possible interactions, the
presentation of output.
12/01/12 Amandeep S. Patti 38
39. MCA 405-C (N2) OOAD Jan-May07
Interactive Interface
Interactive interfaces are dominated by the dynamic
model. The steps in designing an interactive interface
are:
Isolate the objects that form the interface from the objects that
define the semantics of the application.
Use predefined objects to interact with external agents.
Use the dynamic model as the structure of the program.
Interactive interfaces are best implemented using concurrent
control or event-driven control.
Isolate physical events from logical events.
Fully specify the application functions that are invoked by the
interface. Make sure that the information to implement them is
present.
12/01/12 Amandeep S. Patti 39
40. MCA 405-C (N2) OOAD Jan-May07
Dynamic Simulation
A dynamic simulation models or tracks objects in
the real world.
Traditional methodologies built on data flow
diagrams are poor at representing these
problems because simulations involve many
distinct objects that constantly update
themselves, rather than a single large
transformation.
12/01/12 Amandeep S. Patti 40
41. MCA 405-C (N2) OOAD Jan-May07
Dynamic Simulation
The steps in designing a dynamic simulation are:
Identify actors, active real-world objects, from the
object model
Identify discrete events.
Identify continuous dependencies.
Generally a simulation is driven by a timing loop at a
fine time scale.
The hardest problem with simulation is usually
providing adequate performance.
12/01/12 Amandeep S. Patti 41
42. MCA 405-C (N2) OOAD Jan-May07
Real time System
A real time system is an interactive system for
which time constraints on actions are particularly
tight or in which the slightest timing failure cannot
be tolerated.
For critical actions, the system must be
guaranteed to respond within an absolute interval
of time.
Typical application include process control, data
acquisition, communication devices etc.
12/01/12 Amandeep S. Patti 42
43. MCA 405-C (N2) OOAD Jan-May07
Transaction Manager
A transaction manager is a database system
whose main function is to store and access
information. The information comes from the
application domain.
The steps in designing a transaction manager are
Map the object model directly into a database.
Determine the units of concurrency.
Determine the unit of transaction.
Design concurrency control for transactions.
12/01/12 Amandeep S. Patti 43