The Task Management Component (TMC) [Coad/Yourdon] The OOD Process - IV The Task Management Component (TMC) [Coad/Yourdon]
The OO Co-Design Process The Task Management Component extend HIC TMC PDC DMC high-level Design Miniworld refine & map detailed Design
TMC - What is it? Task: A stream of activity. Support in your OOD multitasking concurrency priorities transactions set of activities as atomic action role-back, commit, etc. map your needs to the infrastructure tool-specific solutions guided by a common architecture
TMC tasks check the type of task(s) you need check priorities event-driven tasks clock-driven tasks etc. check priorities identify a coordinator define each task object
TMC tasks - types: event-driven I life-cycle task sleeps triggered upon event & arrival of data data line data buffer read & format data place in an internal buffer (send messages directly) notify objects.services check on proper sequence handle errors
TMC tasks - types: event-driven II might be programmed as a “distributed“ solution scenario as in OOA error handling low dependency of involved activities (services) if any of the above conditions does not hold centralized task object in IS world: “transaction handler” also called “controller”
TMC tasks - types: clock-driven I life-cycle task sets a wake-time and sleeps triggered by time read & format data (if necessary) notify objects.services check on proper sequence (if necessary) handle errors set a new wake-time go to sleep
TMC tasks - types: clock-driven II might be programmed as a “distributed“ solution or centralized task object less usual than for event-driven complements event-driven tasks in principal equivalent
TMC tasks - check priorities priorities help to manage resources not easy to design and implement use existing task managers and priority schemata indicates need for a coordinator identify and isolate critical tasks stringent reliability constraints critical to the success or failure of the system
TMC tasks - identify a coordinator task of tasks manager three or more tasks priorities and interrupts complex transactions adds overhead encapsulates task-management only trigger services, do not implement them in the coordinator
TMC tasks - define task objects name description priority services included sequence of call error handling coordinates by trigger or time (interval) communicates via data comes where from, goes where to
A Task-Object Pattern Task Coordinator coordinate task name 1,1 task name description priority services_included coordinates_by communicates_via initialize start terminate
Use existing solutions. Keep tasks to a minimum. Use existing solutions. Think in Architectures!