Home|News blank.gif
When Design Matters CoreLinux++ CoreLinux Consortium
blank.gif
CoreLinux++
blank.gif
Goals
blank.gif
Developer's Corner
blank.gif
Contacts
Thread Use Case Report
Thread Use Case Report
Generated at: Sun, Mar 19, 2000
08:37:30



TABLE OF CONTENTS
REPORT BODY

Use case report


Class report
Data package
Component View package
Analysis package
UnitOfExecution class
ThreadIdentifier class
OperatingSystem class
Stack class
[Unnamed] class
Resources class
Signals class
Memory class
[Unnamed] class
State class
libcorelinux package
Use Cases package
Participants package
Developer class
Implementor class

Model dictionary

SUMMARY


REPORT BODY

Use case report
use case Start a thread
Documentation:
Start an asynchronous path of execution.


use case Wait for thread
Documentation:
Wait for the execution of one or more threads to complete.


use case Stop a thread
Documentation:
Stop a thread from continuing execution.


use case Configure a thread
Documentation:
Setup the profile or characteristics of a thread prior to its execution.


use case Retrieve thread information
Documentation:
Retrieve information about a thread, prior, during, or after its execution.


actor Developer
Documentation:
Developer


actor Implementor
Superclasses:
Data::Use Cases::Participants::Developer

Documentation:
Implementor is a developer that uses either the corelinux or extension types into solution space applications.




Class report

package Data

package Data::Component View

package Data::Analysis
Documentation:
Classes for analysis.

class UnitOfExecution
Stereotype:   <<thread>>
Documentation:
An execution path that the operating system schedules for activity.

class ThreadIdentifier
Stereotype:   <<type>>
Documentation:
A unique identifier that the operating system assigns to a new path of execution.

class OperatingSystem
Documentation:
The operating system handles the initialization, scheduling, state, and control of execution.

class Stack
Documentation:
A specific area of memory used as the stack for the thread.

class [Unnamed]

class Resources
Documentation:
Resources used either for managing execution, or by the executing thread.

class Signals
Documentation:
Either user or operating system can raise a signal on a thread.

class Memory
Documentation:
Local, private, and global memory.

class [Unnamed]

class State
Documentation:
State information about the Unit of Execution


package Data::libcorelinux

package Data::Use Cases
Stereotype:   <<useCaseModel>>
Documentation:
A thread is a single, sequential flow of control within a program.It is also the smallest unit of execution that Linux schedules. A thread consists of a stack, the state of the CPU registers, and an entry in the execution list of the system scheduler. At the implementors discretion, each thread can share all of the process's resources (Memory, Files, Signals, etc.).

A process consists of one or more threads, data, and other resources of a program in memory. A multi-threaded application is considered when there is at least one thread in addition to the main thread of the program. A program executes when the system scheduler gives one of its threads execution control. The scheduler determines which threads should run and when they should run. Threads of lower priority may have to wait while higher priority threads complete their tasks. On multiprocessor machines, the scheduler can move individual threads to different processors to "balance" the CPU load, or providing maximum throughput.

Each thread in a process operates independently. Unless you make them visible to each other, the threads execute individually and are unaware of the other threads in a process. Collectively, the resources a thread references (stack, registers, variables, instructions, etc.) are considered as part of the context for the path of execution. Threads sharing common resources, however, may need to coordinate their work by using semaphores or other methods of interprocess communication.


package Data::Use Cases::Participants
class Developer
Stereotype:   <<actor>>
Documentation:
Developer

class Implementor
Superclasses:
Data::Use Cases::Participants::Developer

Stereotype:   <<actor>>
Documentation:
Implementor is a developer that uses either the corelinux or extension types into solution space applications.
Operations:
public   doWork ( )



Model dictionary
A   C   D   I   L   M   O   P   R   S   T   U   W   

A

Analysis package
Classes for analysis.

C

Component View package
Configure a thread use case from package Use Cases
Setup the profile or characteristics of a thread prior to its execution.

D

Data package
Developer actor from package Use Cases.Participants
Developer
Developer class from package Use Cases.Participants
Developer
doWork operation from class Use Cases.Participants.Implementor

I

Implementor actor from package Use Cases.Participants
Implementor is a developer that uses either the corelinux or extension types into solution space applications.
Implementor class from package Use Cases.Participants
Implementor is a developer that uses either the corelinux or extension types into solution space applications.

L

libcorelinux package

M

Memory class from package Analysis
Local, private, and global memory.

O

OperatingSystem class from package Analysis
The operating system handles the initialization, scheduling, state, and control of execution.

P

Participants package from package Use Cases

R

Resources class from package Analysis
Resources used either for managing execution, or by the executing thread.
Retrieve thread information use case from package Use Cases
Retrieve information about a thread, prior, during, or after its execution.

S

Signals class from package Analysis
Either user or operating system can raise a signal on a thread.
Stack class from package Analysis
A specific area of memory used as the stack for the thread.
Start a thread use case from package Use Cases
Start an asynchronous path of execution.
State class from package Analysis
State information about the Unit of Execution
Stop a thread use case from package Use Cases
Stop a thread from continuing execution.

T

ThreadIdentifier class from package Analysis
A unique identifier that the operating system assigns to a new path of execution.

U

UnitOfExecution class from package Analysis
An execution path that the operating system schedules for activity.
Use Cases package
A thread is a single, sequential flow of control within a program.It is also the smallest unit of execution that Linux schedules. A thread consists of a stack, the state of the CPU registers, and an entry in the execution list of the system scheduler. At the implementors discretion, each thread can share all of the process's resources (Memory, Files, Signals, etc.).
A process consists of one or more threads, data, and other resources of a program in memory. A multi-threaded application is considered when there is at least one thread in addition to the main thread of the program. A program executes when the system scheduler gives one of its threads execution control. The scheduler determines which threads should run and when they should run. Threads of lower priority may have to wait while higher priority threads complete their tasks. On multiprocessor machines, the scheduler can move individual threads to different processors to "balance" the CPU load, or providing maximum throughput.
Each thread in a process operates independently. Unless you make them visible to each other, the threads execute individually and are unaware of the other threads in a process. Collectively, the resources a thread references (stack, registers, variables, instructions, etc.) are considered as part of the context for the path of execution. Threads sharing common resources, however, may need to coordinate their work by using semaphores or other methods of interprocess communication.

W

Wait for thread use case from package Use Cases
Wait for the execution of one or more threads to complete.

SUMMARY
Total packages reported:     6
Total classes reported:      12
Total operations reported:      1
Total use cases reported:    5


Copyright © 1999, 2000 by CoreLinux Consortium
This material may be distributed only subject to the terms and conditions set forth in the Open Publication License
Contacts
- contact the webmaster
News
Powered / Hosted by

SourceForge.net
Contributor
NoMagic, inc.
thanks Gary!
Cool OO Sites
cetus
corba
omg
patterns
  Made with xemacs / php Comments to webmaster blank.gif