: (200511327) : (200511327) Introduction I d i - - PowerPoint PPT Presentation

200511327 200511327 introduction i d i concurrent
SMART_READER_LITE
LIVE PREVIEW

: (200511327) : (200511327) Introduction I d i - - PowerPoint PPT Presentation

: (200511327) : (200511327) Introduction I d i Concurrent processing concepts p g p Run-Time support Survey of Design methods Survey of Design methods A modern software design


slide-1
SLIDE 1

발표자 : 박홍제(200511327) 발표자 : 박홍제(200511327)

slide-2
SLIDE 2

I d i

Introduction Concurrent processing concepts

p g p

Run-Time support Survey of Design methods Survey of Design methods A modern software design method Performance analysis Conclusions Conclusions Reference

slide-3
SLIDE 3

비용 과가

비용효과가 큰 Real

Real-

  • Time

Time Systems Systems

  • 반도체와 microprocessor의 가격인하,

체와 p 의 가격 하, 수행능력 향상

Real

Real Time Systems Time Systems의 특징

Real

Real-Time Systems Time Systems의 특징

  • concurrent processing
slide-4
SLIDE 4

Concurrent Tasks Mutual Exclusion Mutual Exclusion Synchronization of Tasks Message Communication

slide-5
SLIDE 5

Execution of sequential component of

a concurrent program p g

Multiple asynchronous tasks running

at different speeds at different speeds

Need to coordinate

Use mutual exclusion, task

synchronization synchronization

slide-6
SLIDE 6

Required when only one task at a

time may have exclusive access to a y resource

Critical section Critical section

Ex> robots

Solved by using semaphores

P(s) – potential wait P(s)

potential wait

V(s) – leaving the critical section

slide-7
SLIDE 7

와 사이

Signal(Producer와 Consumer사이)

Producer task perform Producer task perform

Signal(E) event(E)

event(E)

Consumer task perform

Wait(E)

Suspend task until event has been

Wait(E) – Suspend task until event has been

signaled by producer

slide-8
SLIDE 8

R b t A R b t B Robot A Robot B 1 Pick up part Wait (Part_Ready) 2 Move Part to Workplace 2 Move Part to Workplace 3 Release part 4 Move to safe position 5 Signal (Part_Ready) 6 Wait (Part_Completed) Move to Workplace 7 Drill Four holes 8 Move to safe position 9 Signal (Part Completed) 9 Signal (Part_Completed) 10 Pick up part 11 Remove from Workplace

slide-9
SLIDE 9

Communicate with each other using

messages g

Used when data needs to be passed

between two tasks between two tasks

Loosely coupled message

communication(Asynchronous)

Tightly coupled message Tightly coupled message

communication(Synchronous)

slide-10
SLIDE 10

i i S b k Vision System Robot task 1 Wait (Car_arrived) Wait for message form vision system 2 Take picture of car body 2 Take picture of car body 3 Identify car body 4 Determine location and

  • rientation of car body

5 Send message (car model i.d., car body offset)to robot y ) 6 Read message (car model i.d., car body offset) 7 Select welding program for car model 8 Execute welding program using offset for car position 9 Signal (Move car) 9 Signal (Move_car)

slide-11
SLIDE 11

Provided by

Kernel of an operation system Kernel of an operation system

Provide functionality

Run-time support system Run time support system Threads package

M

i th d ithi h i ht

Managing threads within heavyweight

processes

slide-12
SLIDE 12

Concurrent programming languages

Ada, Java Ada, Java Supports constructs for task

communication and synchronization communication and synchronization

No support

C, C+ + , Pascal, Fortran Use a kernel or threads package

p g

slide-13
SLIDE 13

Special needs

Support multitasking Support multitasking Support priority preemption scheduling Provide task synchronization and Provide task synchronization and

communication mechanisms P id l ki bilit

Provide a memory-locking capability Provide a mechanism for priority

inheritance

Have a predictable behavior

p

slide-14
SLIDE 14

MASCOT

MASCOT RTSAD(Real-Time Structured Analysis and

Design) Design)

DARTS(Design Approach for Real-Time

Systems) y )

JSD(Jackson System Development) OMD(Object Modeling Technique) CODARTS(Concurrent Design Approach for

Real-Time Systems) O t

Octopus ROOM(Real-Time Object-Oriented Modeling)

slide-15
SLIDE 15

G B

Gomaa, Bacon

Blend object-oriented concepts with

concepts of concurrent processing

COMET

Integrates object-oriented and

concurrent processing concept p g p

Uses UML (Unified Modeling Language)

notation

Describes decision made on how to use

the UML notation

slide-16
SLIDE 16

Concurrent object modeling and

architectural design method g

Iterative life cycle

R i t d li

Requirements modeling Analysis modeling Design modeling

slide-17
SLIDE 17

S 을 입출력만 있는 bl k b 로 생

System을 입출력만 있는 black box로 생

각하여 기능적인 관점에서 파악

유용한 모델링객체 : Use case model is

developed p

Actor

Human user Human user External system

I/ O d i

I/ O devices Timer

slide-18
SLIDE 18
slide-19
SLIDE 19

System context

Understand interface between system Understand interface between system

and external environment

UML notation does not support UML notation does not support

system context diagram, use

Static model Collaboration model

slide-20
SLIDE 20
slide-21
SLIDE 21

A i t d i

Assist designer Goal – 유사한 특징을 가진 object들로

Group을 구분시키는것 Group을 구분시키는것

UML stereotypes are used

St t A b l f i ti

Stereotype – A subclass of an existing

modeling element

Can be Can be

< < entity> > class < < interface> > class < < interface> > class < < control> > class < < application logic> > class

pp g

slide-22
SLIDE 22

U d d fi i hi

Understand finite-state machine

model

State chart

State-dependent dynamic analysis – State dependent dynamic analysis

  • bject간의 interaction에 초점.

Use collaboration or sequence diagram Use collaboration or sequence diagram

need conjunction

O t t t f h di t b

Output event of each diagram must be

consistent

slide-23
SLIDE 23

<<external input device>> :hightwatersensor <<input device interface>> :highwatersensor interface <<timer>> :PumpTimer d <<output device interface>> :PumpEngine <<state dependent <<external input device>> :LowWaterSensor <<input device interface>> :LowWaterSensor interface :PumpEngine Interface dependent control>> :PumpControl <<external output device>> :PumpEngine <<server subsystem>> :PumpStatus Server

slide-24
SLIDE 24

Pump Idle pumping Resetting Pump Pump state High Water Methane condition Pump state Water condition High Water Initial Water Methane Safe Initial Methane Low Water Methance Unsafe Methane

slide-25
SLIDE 25

Synthesize Consolidated Collaboration diagram Consolidated Collaboration diagram

Synthesis of all the collaboration

C t l

Can get very large

slide-26
SLIDE 26

System is broken down into

subsystem y

Goal – to have objects with highly

coupling in the same subsystem coupling in the same subsystem, weakly coupling in the different b subsystems.

Subsystem – composite object Subsystem

composite object

slide-27
SLIDE 27

Active object

Own thread of control Own thread of control Task : box with thick black lines

P i bj t

Passive object

Execute when another object invokes Passive object : box with thin black line

slide-28
SLIDE 28

분산

Distributed real-time systems은 분산

된 nodes에서 실행된다. 에서 행 다

Subsystem component는 logical node

에서 동시에 실행되는 일의 집합이다 에서 동시에 실행되는 일의 집합이다.

slide-29
SLIDE 29
slide-30
SLIDE 30

Each subsystem is structured into

concurrent tasks and the task interfaces are defined.

Stereotypes : Depict different kinds Stereotypes : Depict different kinds

  • f devices

Object : determine active,

categorized-> 특성부각 categorized > 특성부각

slide-31
SLIDE 31
slide-32
SLIDE 32

Composite task internals designed Detailed task synchronization issues Detailed task synchronization issues Connector classes are designed Task’s internal event sequencing

logic is defined logic is defined

slide-33
SLIDE 33
slide-34
SLIDE 34

Important for real-time systems Achieved by realtime scheduling Achieved by realtime scheduling

Determine whether it can meet its

deadlines deadlines.

Use event sequence analysis

slide-35
SLIDE 35

Blend object-oriented concepts with

concurrent processing concepts p g p

COMET method integrates object-

  • riented and concurrent processing
  • riented and concurrent processing

concepts and uses UML notation

Increasing importance for future

real-time systems real time systems

slide-36
SLIDE 36

객체지향 설계방법 을 이용한 차량용 웨

COMET 객체지향 설계방법론을 이용한 차량용 소프트웨

어의 설계-한국자동차공학회 워크숍 및 심포지엄 논문집 (김세화 임진택 유우석 홍성수) (김세화, 임진택, 유우석, 홍성수)