Solo disponible en BuenasTareas
  • Páginas : 7 (1531 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de mayo de 2011
Leer documento completo
Vista previa del texto
Chap 3. Architectural Views
Part 3.3 Implementation, Process, and Deployment Views
1. 2. 3. 4. 5. Motivation Process View Implementation View Deployment View ATM Example


Logical View

Implementation 3 View


Use-Case 1 View Process Deployment View View


1. Motivation
÷Complex software systems involve a wide range of functionality, deployed on independent processingnodes, involving a wide variety of languages, platforms, and technologies. ÷Example: (a complex web-based system)
Client Dynamic HTML, JavaScript, Java plug-ins, source code enhancements

Java, C, C++, JavaScript, CGI Server Java, C, C++, JavaBeans, CORBA, DCOM Application Server Fulfillment System Inventory System RDBMS Server

Native languages

Financial System

The process,implementation, and deployment views capture this complexity by:
-Describing runtime entities: the threads and processes that form the system’s concurrency and synchronization. - Describing source and executable components, their organization, and their dependencies. - Describing hardware topology and mapping software components to processing nodes -Describing build procedures


2. Process ViewOverview

Derives from the Logical view the concurrency and synchronization mechanisms underlying the software product.

•Consists of the processes and threads that form the system’s concurrency and synchronization mechanisms, as well as their interactions •Addresses issues such as:
-Concurrency and parallelism (e.g., synchronization, deadlocks etc.) -System startup and shutdown -Performance,scalability, and throughput of the system.

•Is captured using class, interaction and state transition diagrams with a focus on active classes and objects.


Processes and Threads
•Process: a heavyweight flow of control that can execute independently and concurrently with other processes. •Thread: a lightweight flow that can execute independently and concurrently with other threads withinthe same process. •Independent flows of control such as threads and processes are modeled as active objects. An active object is an instance of an active class. You may specify a process using the stereotype process and a thread using the stereotype thread.

ReservationAgent location

An Active Object is an object that owns a process or thread and can initiate control activity. -Graphically anActive Class is represented as a class with thick lines. Plain classes are called passive because they cannot independently initiate control.

•You model interprocess communication using interaction diagrams: - Synchronous communication - Asynchronous communication •Two approaches: RPC (synchronous) and message passing (asynchronous)

• Modeled by addingconstraints to the operations; there are three kinds of synchronization: -Sequential -Guarded Buffer -Concurrent
size: Integer add() {concurrent} remove() {concurrent}


÷Callers must coordinate outside the object so that only one flow is in the object at a time. If simultaneous calls occur, then the semantics and integrity of the system cannot be guaranteed.

÷Thesemantics and integrity of the object is guaranteed in the presence of multiple flows of control by sequentializing all calls to all objects’ guarded operations. In effect, exactly one operation at a time can be invoked on the object, reducing this to sequential semantics.

÷Multiple calls from concurrent threads may occur simultaneously to one Instance (on any concurrent Operations).All of them may proceed concurrently with correct semantics. The semantic and integrity of the object is guaranteed in the presence of multiple flows of control by treating the operation as atomic.

Note: Java use the
Synchronized modifier, which maps to UML Concurrent property.

Consider a trading system, where trading decisions are based on information collected from three...
tracking img