genericservices/taskscheduler/DESIGN/MODEL.MDL
changeset 0 e4d67989cc36
child 71 28ccaba883f4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/genericservices/taskscheduler/DESIGN/MODEL.MDL	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,2984 @@
+
+(object Petal
+    version    	40)
+
+(object Design "Logical View"
+    is_unit    	TRUE
+    is_loaded  	TRUE
+    file_name  	"D:\\schsvr\\DESIGN\\Model.mdl"
+    quid       	"3607CDBF00DB"
+    defaults   	(object defaults
+	rightMargin 	0.250000
+	leftMargin 	0.250000
+	topMargin  	0.250000
+	bottomMargin 	0.500000
+	pageOverlap 	0.250000
+	clipIconLabels 	TRUE
+	autoResize 	FALSE
+	snapToGrid 	TRUE
+	gridX      	16
+	gridY      	16
+	defaultFont 	(object Font
+	    size       	10
+	    face       	"Arial"
+	    bold       	FALSE
+	    italics    	FALSE
+	    underline  	FALSE
+	    strike     	FALSE
+	    color      	0
+	    default_color 	TRUE)
+	showMessageNum 	3
+	showClassOfObject 	TRUE
+	notation   	"Unified")
+    root_usecase_package 	(object Class_Category "Use Case View"
+	quid       	"34B4B32D038B"
+	exportControl 	"Public"
+	global     	TRUE
+	logical_models 	(list unit_reference_list)
+	logical_presentations 	(list unit_reference_list
+	    (object UseCaseDiagram "Main"
+		quid       	"358F97CC012F"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    root_category 	(object Class_Category "Logical View"
+	quid       	"34B4B32D038A"
+	exportControl 	"Public"
+	global     	TRUE
+	subsystem  	"Component View"
+	quidu      	"34B4B32D038C"
+	logical_models 	(list unit_reference_list
+	    (object Class "CServer"
+		quid       	"34D1C70C010E"
+		abstract   	TRUE
+		operations 	(list Operations
+		    (object Operation "RunL"
+			quid       	"34D1C726002F"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "Start"
+			quid       	"34D1C73102B6"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)))
+	    (object Class "CSession"
+		quid       	"34D1C70C0168"
+		abstract   	TRUE)
+	    (object Class "CSchSession"
+		quid       	"34D1C70C014A"
+		documentation 	
+|
+|The session class, server-side. Mostly just unpacks RMessages and forwards commands on to the Task Scheduler instance.
+|Initialised on creation with the instance of CTaskScheduler. 
+|Its iClient member is initialised to NULL. Once the client using the session has registered, its iClient member is set to point to that client, and any tasks scheduled by that client during the session belong to that iClient.
+		
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"34D1C70C014B"
+			supplier   	"CSession"
+			quidu      	"34D1C70C0168"))
+		used_nodes 	(list uses_relationship_list
+		    (object Uses_Relationship
+			quid       	"352B456F0032"
+			label      	"iSchedules"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073"
+			supplier_cardinality 	(value cardinality "0..n")
+			client_cardinality 	(value cardinality "1..1")))
+		operations 	(list Operations
+		    (object Operation "ServiceL"
+			quid       	"34D1C74003BB"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)))
+	    (object Class "CSchServer"
+		quid       	"34D1C70C0110"
+		documentation 	
+|
+|The server class. Owns (directly) all session instances, and the one and only instance of CTaskScheduler. 
+|Owns (indirectly) everything else.
+		
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"34D1C70C010F"
+			supplier   	"CServer"
+			quidu      	"34D1C70C010E")))
+	    (object Class "CTaskScheduler"
+		quid       	"34D1C70C0186"
+		documentation 	
+|- Owns all the other scheduler objects.
+|- Provides an interface for creating, deleting, editing & naming schedules
+|- Provides an interface for registering users by creating new client proxies
+|- Provides an interface for scheduling tasks
+|- Informs schedules when they are due, and updates them accordingly
+|- Executes clients when appropriate
+|- Ensures that any persistent schedules are added to the persistent backup store through its iBackup member; so all is not lost in case of server death
+|- Maintains schedule instances in TWO lists:
+|       -the first, 'iSchedules' is a list of all the schedules defined and is an owning list.
+|       -the second, iPending, is a list of all schedules which are waiting to go off (i.e. those schedules which have tasks scheduled and are not disabled. This list is ordered by the due time for the schedules. The scheduler maintains this list and sets the timer's time to be the due time of the first schedule in the list.
+|
+|- Whenever the server starts, it asks its iBackup member to restore its schedules from backup. 
+|If the backup file is missing or corrupt it asks the iBackup to create a new, empty one.
+|Subsequently, whenever schedules are added, deleted or edited the iBackup member is asked to back up the store to keep it in sync
+|
+|N.B. I would like to eliminate this class, as soon as I get the time. This won't affect clients at all but will improve the design.
+		
+		fields     	(list has_relationship_list
+		    (object Has_Relationship
+			quid       	"34D1C70C0187"
+			label      	"iTimer"
+			supplier   	"CServiceTimer"
+			quidu      	"34D1CB1C0005"
+			supplier_cardinality 	(value cardinality "1..1")
+			client_cardinality 	(value cardinality "1..1")))
+		operations 	(list Operations
+		    (object Operation "ScheduleTaskL"
+			quid       	"34D1C70C018A"
+			parameters 	(list Parameters
+			    (object Parameter "aUser"
+				type       	"TUid")
+			    (object Parameter "aItem"
+				type       	"TInt")
+			    (object Parameter "aAction"
+				type       	"TItemAction")
+			    (object Parameter "aSchedule"
+				type       	"TScheduleInfo"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DeleteTaskL"
+			quid       	"34D1C70C018F"
+			parameters 	(list Parameters
+			    (object Parameter "aUser"
+				type       	"TUid")
+			    (object Parameter "aItem"
+				type       	"TInt"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "NewScheduleL"
+			quid       	"34D1C70C0192"
+			parameters 	(list Parameters
+			    (object Parameter "aUser"
+				type       	"TUid"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DeleteScheduleL"
+			quid       	"34D1C70C0194"
+			parameters 	(list Parameters
+			    (object Parameter "aUser"
+				type       	"TUid"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "RegisterClientL"
+			quid       	"34D1C70C0196"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "EditScheduleL"
+			quid       	"34D1C70C0197"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DueTaskNotify"
+			quid       	"352B45320229"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "ExecuteClients"
+			quid       	"352B453D0095"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iNotifier"
+			quid       	"3587EEDB01FD"
+			type       	"CEnvironmentChangeNotifier")
+		    (object ClassAttribute "iBackup"
+			quid       	"3587F07A0380"
+			type       	"TScheduleBackup"))
+		statediagram 	(object State_Diagram ""
+		    quid       	"3587F1420279"
+		    title      	""
+		    zoom       	100
+		    max_height 	28350
+		    max_width  	21600
+		    origin_x   	0
+		    origin_y   	0
+		    items      	(list diagram_item_list)))
+	    (object Class "CClientProxy"
+		quid       	"34D1CB1B03A7"
+		documentation 	
+|
+|This class encapsulates the information needed to execute a set of tasks, and owns the tasks associated with it.
+|
+|An instance of it gets created when a client registers, and is initialized with the name of the executing program, and its priority: if 2 clients have different priorities, the one with the higher priority gets to execute all its tasks before the low-priority one gets to execute any.
+|When it's told to execute, it:
+| - saves all its due tasks to a file
+| - creates a task executor, initializing it with the name of the executing program and the name of the file in which it's saved the tasks
+| - tells it to execute the tasks
+| - deletes any of the tasks which don't repeat  
+|
+|It is reference-counted: it is deleted when:
+|          - there are no open sessions which have a pointer to it
+|AND  - there are no pending tasks belonging to it  
+		
+		used_nodes 	(list uses_relationship_list
+		    (object Uses_Relationship
+			quid       	"34D1CB1B03A8"
+			label      	"iSchedules"
+			supplier   	"TScheduleEntry"
+			quidu      	"34D1CB1C0091"
+			supplier_cardinality 	(value cardinality "0..n")
+			client_cardinality 	(value cardinality "1..1"))
+		    (object Uses_Relationship
+			quid       	"3587DC1100C0"
+			supplier   	"CTaskExecutor"
+			quidu      	"3587DB8B0352"))
+		operations 	(list Operations
+		    (object Operation "Execute()"
+			quid       	"34FAE9140125"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iTaskExecutor"
+			quid       	"34D1CB1B03B2"
+			type       	"TFileName")
+		    (object ClassAttribute "iClientPriority"
+			quid       	"34FAE57802F3"
+			type       	"TInt"
+			exportControl 	"Public")
+		    (object ClassAttribute "iUsers"
+			quid       	"3588DFB30261"
+			type       	"TInt")))
+	    (object Class "CTimer"
+		quid       	"34D1CB1C0023")
+	    (object Class "CServiceTimer"
+		quid       	"34D1CB1C0005"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"34D1CB1C0006"
+			supplier   	"CTimer"
+			quidu      	"34D1CB1C0023"))
+		operations 	(list Operations
+		    (object Operation "SetDueTime"
+			quid       	"34D1CB1C0007"
+			parameters 	(list Parameters
+			    (object Parameter "aNewTime"
+				type       	"TTime"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DueTime"
+			quid       	"34D1CB1C000F"
+			result     	"TTime"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iDueTime"
+			quid       	"34D1CB1C0010"
+			type       	"TTime")
+		    (object ClassAttribute "iCallback"
+			quid       	"34D1CB1C0011"
+			type       	"TCallback")))
+	    (object Class "CSchedule"
+		quid       	"34D1CB1C0073"
+		documentation 	
+|
+|This class is responsible for knowing what time it's due. 
+|
+|It is defined essentially by an ordered list of one or more TScheduleEntry instances, each of which will return their own next due time when asked. 
+|
+|It also has zero or more tasks (TScheduledTask). When it is due, all its tasks are due and it tells them this. 
+|
+|It has 2 flags of type TBool:
+|    - iPersists: if a schedule persists, it hangs around whether it has got any tasks of not. If it doesn't, it gets deleted as soon as all its tasks are deleted.
+|   - iEnabled: if a schedule is disabled it just does nothing, whether it has tasks or not, until it is enabled again. 
+|
+		
+		fields     	(list has_relationship_list
+		    (object Has_Relationship
+			quid       	"34D1CB1C007D"
+			label      	"iEntries"
+			supplier   	"TScheduleEntry"
+			quidu      	"34D1CB1C0091"
+			exportControl 	"Private"
+			supplier_cardinality 	(value cardinality "1..1")
+			client_cardinality 	(value cardinality "1..1"))
+		    (object Has_Relationship
+			quid       	"352B481E0207"
+			label      	"iTasks"
+			supplier   	"TScheduledTask"
+			quidu      	"34D1CCE902E3"
+			supplier_cardinality 	(value cardinality "0..n")
+			client_cardinality 	(value cardinality "1..1")))
+		operations 	(list Operations
+		    (object Operation "AddEntry"
+			quid       	"34D1CB7503BA"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "RemoveEntry"
+			quid       	"34D1CB7B035F"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "AddTask"
+			quid       	"34D991F00386"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DueTime"
+			quid       	"34D9922800FC"
+			result     	"TTime"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "FirstScheduledTime"
+			quid       	"34D9A92301AF"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "NextScheduledTime"
+			quid       	"34D9A9360185"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "NotifyClients"
+			quid       	"352B478A0055"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "NewL"
+			quid       	"3588EC8003CC"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CFileStore")
+			    (object Parameter "aId"
+				type       	"TStreamId"))
+			result     	"CSchedule"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "StoreL"
+			quid       	"3588ECED0058"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CFileStore"))
+			result     	"TStreamId"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "RestoreL"
+			quid       	"3588ED2E014B"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CFileStore")
+			    (object Parameter "aId"
+				type       	"TStreamId"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "UpdateStoreL"
+			quid       	"3588ED490371"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CPermanentFileStore")
+			    (object Parameter "aId"
+				type       	"TStreamId"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iDueTime"
+			quid       	"34D991DF01F1"
+			type       	"TTime")
+		    (object ClassAttribute "iPersists"
+			quid       	"3587F3B8001C"
+			type       	"TBool")
+		    (object ClassAttribute "iEnabled"
+			quid       	"3587F3BE0378"
+			type       	"TBool"
+			exportControl 	"Public")))
+	    (object Class "TScheduleEntry"
+		quid       	"34D1CB1C0091"
+		documentation 	
+|
+|TScheduleEntry knows what time it's next due after the time it gets passed. It is defined in terms of a start time and a time interval. So, when you pass it a time, if the time is before its start time it returns its start time, otherwise it adds its interval to its start time till the time it comes up with is after the time it got passed, and returns that.
+|
+|TScheduleEntry is abstract; it has 4 subclasses:
+|
+|TScheduleEntryHourly
+|TScheduleEntryDaily
+|TScheduleEntryMonthly
+|TScheduleEntryYearly
+|
+|The subclasses are necessary only because 'TTime operator + ' needs a concrete subclass of TTimeIntervalBase as the other operand. You specify which kind you want to create with the 'enum TIntervalType' parameter. This determines how the Interval member is interpreted,  i.e. if it's 1 and your interval type is EHourly then the actual interval is 1 hour; if it's EDaily then it's 1 day etc.
+|
+|
+		
+		abstract   	TRUE
+		operations 	(list Operations
+		    (object Operation "NextScheduledTime"
+			quid       	"34D1CB1C0092"
+			result     	"TTime"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)))
+	    (object Class "TScheduledTask"
+		quid       	"34D1CCE902E3"
+		documentation 	
+|
+|A TScheduledTask is a kind of placeholder for the real task, which is a CScheduledTask. It keeps a reference to the client proxy representing the client which scheduled it, and a reference to the real task. 
+|When it's due it tells both of them of this fact.
+		
+		operations 	(list Operations
+		    (object Operation "OnDue"
+			quid       	"3588DF80004B"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iClient"
+			quid       	"3587DADF025B"
+			type       	"CClientProxy")
+		    (object ClassAttribute "iTask"
+			quid       	"3587DAE40398"
+			type       	"CScheduledTask")))
+	    (object Class "CScheduledTask"
+		quid       	"3587D90700A3"
+		documentation 	
+|
+|This is where the real task data is kept:
+|  - name (TName), Id (TInt), data (HBufC),  how many times it repeats (TInt), when it's valid until (TTime), its priority
+|  - if it's repeat is specified as zero or less it repeats forever, or until it is explicitly deleted
+|  - tasks with high priority get executed before tasks with low priority
+|
+|It only needs to be a C-class 'cos of the HBufC* member.
+| 
+|
+|
+		
+		operations 	(list Operations
+		    (object Operation "OnDue"
+			quid       	"3588DF9B02C1"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iInfo"
+			quid       	"3587DB3E01B7"
+			type       	"TTaskInfo")
+		    (object ClassAttribute "iData"
+			quid       	"3587DB4803B0"
+			type       	"HBufC")))
+	    (object Class "TTaskInfo"
+		quid       	"3587DA760264"
+		documentation 	
+|
+|
+|This is passed to the scheduler when you schedule a task, and passed back again when you retireve it. 
+|You only need to specify iRepeat, iName and iPriority; the 	ID is filled in by the scheduler and can be retrieved and examined later.
+		
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iRepeat"
+			quid       	"3588FADE0186"
+			type       	"TInt")
+		    (object ClassAttribute "iName"
+			quid       	"3588FAE5024E"
+			type       	"TName")
+		    (object ClassAttribute "iTaskId"
+			quid       	"3588FAE70356"
+			type       	"TInt")
+		    (object ClassAttribute "iPriority"
+			quid       	"3588FAED0386"
+			type       	"TInt")))
+	    (object Class "CTaskExecutor"
+		quid       	"3587DB8B0352"
+		documentation 	
+|
+|This class encapsulates the actual task executing business.
+|It's initialized with:
+| - the name of the executing program
+| - the name of the file where the task are kept
+|
+|When it's told to execute, it:
+| - creates a new process, keeping a handle to it
+| - logs on to the process                            
+| - runs the executing program in it
+|This program
+| - creates a new clean up stack
+| - opens the file with the tasks in it
+| - internalizes the tasks
+| - executes them how it likes
+|When the program (hence the process ) terminates, the CTaskExecutor runs. It examines the exit code of the dead process. If the program exited cleanly, and the exit code is KErrNone, the CTaskExecutor
+|just cleans up by closing the process, deleting the file with the tasks in it, and then deleting itself. Otherwise it does some error handling which is STILL NOT IMPLEMENTED, closes the process, deletes the task-file and then itself
+		
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"3587E0D20247"
+			supplier   	"CActive"
+			quidu      	"3587E0BF03E4"))
+		operations 	(list Operations
+		    (object Operation "ExecuteL"
+			quid       	"3587DB9C0144"
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iProcess"
+			quid       	"3587DBC7013C"
+			type       	"RProcess")
+		    (object ClassAttribute "iTaskFileName"
+			quid       	"3587DBCE0204"
+			type       	"TFileName")
+		    (object ClassAttribute "iClientFileName"
+			quid       	"3587DBE601EB"
+			type       	"TFileName")))
+	    (object Class "TScheduleBackup"
+		quid       	"3587DC9303DE"
+		documentation 	
+|
+|The TScheduleBackup class encapsulates management of the scheduler's backup store. The store has a path & name defined at compile-time, and accessible to the TScheduleBackup only. The store is a permanent file store whose root contains a CScheduleIndex. This is an array of (TInt ScheduleId, TStreamId).
+|So, when the BackupL(...) is called, this class:
+|- opens the store
+|- internalizes the index
+|- asks the index for the stream Id mapped to the Id of the schedule it's been passed
+|- does the appropriate action based on the TBackupAction enum (one of EAdd, EEdit, EDelete)
+|- updates the index, saves the index
+|If things  go wrong it calls Revert() on the store and then closes it, else it calls Commit() and then closes it. It keeps a count of the changes it's made, when it has made 5 changes it compacts the store.
+		
+		used_nodes 	(list uses_relationship_list
+		    (object Uses_Relationship
+			quid       	"3587E061038E"
+			supplier   	"CScheduleIndex"
+			quidu      	"3587DC95028C")
+		    (object Uses_Relationship
+			quid       	"3587E1C4008C"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073")
+		    (object Uses_Relationship
+			quid       	"3588F2E200FB"
+			supplier   	"TScheduleIndexEntry"
+			quidu      	"3588F2210143"))
+		operations 	(list Operations
+		    (object Operation "BackupL()"
+			quid       	"3587E14C00A7"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "RestoreFromBackupL()"
+			quid       	"3587E153022E"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "BackupL"
+			quid       	"3588ED9F03A7"
+			parameters 	(list Parameters
+			    (object Parameter "aSchedule"
+				type       	"CSchedule")
+			    (object Parameter "TBackupAction aAction"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "CreateEmptyBackupL"
+			quid       	"3588EDFB0327"
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "RestoreFromBackupL"
+			quid       	"3588EE130191"
+			parameters 	(list Parameters
+			    (object Parameter "aSchedules"
+				type       	"TDblQue<CSchedule>"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DoAddToBackupL"
+			quid       	"3588EE57035B"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CPermanentFileStore")
+			    (object Parameter "aSchedule"
+				type       	"CSchedule"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DoEditBackupL"
+			quid       	"3588EE59020A"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CPermanentFileStore")
+			    (object Parameter "aSchedule"
+				type       	"CSchedule"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DoRemoveFromBackupL"
+			quid       	"3588EE5B0054"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CPermanentFileStore")
+			    (object Parameter "aScheduleId"
+				type       	"TInt"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "BackupName"
+			quid       	"3588EE600214"
+			parameters 	(list Parameters
+			    (object Parameter "aFileName"
+				type       	"TFileName"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DoCompactL"
+			quid       	"3588EF2401F7"
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iChangesToStore"
+			quid       	"3588EF3403DB"
+			type       	"TInt")))
+	    (object Class "CScheduleIndex"
+		quid       	"3587DC95028C"
+		documentation 	
+|
+|Root stream of backup store.
+|Manages mapping of schedule Ids onto stream Ids.
+		
+		used_nodes 	(list uses_relationship_list
+		    (object Uses_Relationship
+			quid       	"3587E067001C"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073"))
+		operations 	(list Operations
+		    (object Operation "UpdateStoreL"
+			quid       	"3588F1C000B7"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CPermanentFileStore"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "RestoreL"
+			quid       	"3588F2000377"
+			parameters 	(list Parameters
+			    (object Parameter "aStore"
+				type       	"CFileStore"))
+			result     	"void"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "FindL"
+			quid       	"3588F2C1017F"
+			parameters 	(list Parameters
+			    (object Parameter "aScheduleId"
+				type       	"TInt"))
+			result     	"TScheduleIndexEntry"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)))
+	    (object Class "CActive"
+		quid       	"3587E0BF03E4")
+	    (object Class "CScheduleTimer"
+		quid       	"3587E1E90360"
+		documentation 	
+|
+|Derived from CTimer. Initialised to KMaxTTime; its time is subsequently set by the task scheduler.
+|When it runs, it tells the task scheduler.
+		)
+	    (object Class "CEnvironmentChangeNotifier"
+		quid       	"3587E6D100B3")
+	    (object Class "$UNNAMED$0"
+		quid       	"3587F7C900C4")
+	    (object Class "$UNNAMED$1"
+		quid       	"3587F7CA029C"
+		fields     	(list has_relationship_list
+		    (object Has_Relationship
+			quid       	"3587F7CD01B0"
+			supplier   	"$UNNAMED$0"
+			quidu      	"3587F7C900C4")))
+	    (object Class "TScheduleIndexEntry"
+		quid       	"3588F2210143"
+		operations 	(list Operations
+		    (object Operation "ExternalizeL"
+			quid       	"3588F23400F0"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "InternalizeL"
+			quid       	"3588F24002B0"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iStreamId"
+			quid       	"3588F24A01D8"
+			type       	"TStreamId")
+		    (object ClassAttribute "iScheduleId"
+			quid       	"3588F261007D"
+			type       	"TInt")))
+	    (object Class "RScheduler"
+		quid       	"3588FA6800AA"
+		documentation 	
+|
+|This is the client-side representation of a session with the scheduler; thus this is the API for the thing.
+|
+|N.B. There are in fact two 'ScheduleTask' functions, distinguished by their parameters. One schedules a task with an existing, persistent schedule, the other creates a new transient schedule and schedules the task with that.
+		
+		used_nodes 	(list uses_relationship_list
+		    (object Uses_Relationship
+			quid       	"3588FB460095"
+			supplier   	"TScheduleEntryInfo"
+			quidu      	"3588FA7702BE")
+		    (object Uses_Relationship
+			quid       	"3588FB490220"
+			supplier   	"TTaskInfo"
+			quidu      	"3587DA760264")
+		    (object Uses_Relationship
+			quid       	"358FA3AB02BE"
+			supplier   	"TScheduleState"
+			quidu      	"358FA35103AF")
+		    (object Uses_Relationship
+			quid       	"358FAB050351"
+			supplier   	"TSchedulerItemRef"
+			quidu      	"358FAACE01FD"))
+		operations 	(list Operations
+		    (object Operation "Register"
+			quid       	"3588FCFB0011"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "CreatePersistentSchedule"
+			quid       	"3588FCFC01A3"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DeleteSchedule"
+			quid       	"3588FCFD033F"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DisableSchedule"
+			quid       	"3588FCFF00B7"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "EnableSchedule"
+			quid       	"3588FD000249"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "EditSchedule"
+			quid       	"3588FD0103E5"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "ScheduleTask"
+			quid       	"3588FD03028A"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "DeleteTask"
+			quid       	"3588FD050084"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "GetScheduleRefsL"
+			quid       	"3588FD070087"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "GetScheduleL"
+			quid       	"3588FD08033B"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "GetTaskRefsL"
+			quid       	"3588FD0A0212"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "GetTaskInfoL"
+			quid       	"3588FDB502F4"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "GetTaskDataSize"
+			quid       	"3588FDB7018E"
+			parameters 	(list Parameters
+			    (object Parameter "argname"
+				type       	"argtype"
+				initv      	"default"))
+			result     	"return"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)))
+	    (object Class "TScheduleEntryInfo"
+		quid       	"3588FA7702BE"
+		documentation 	
+|
+|
+|This is passed to the scheduler when you create a schedule, and passed back again when you retireve it. 
+|You need one of these for each schedule entry in your schedule.
+		
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iIntervalType"
+			quid       	"3588FB8800EA"
+			type       	"TIntervalType")
+		    (object ClassAttribute "iInterval"
+			quid       	"3588FB8A0057"
+			type       	"TInterval")
+		    (object ClassAttribute "iStartTime"
+			quid       	"3588FB8C00BE"
+			type       	"TTime")
+		    (object ClassAttribute "iValidityPeriod"
+			quid       	"3588FB8E0002"
+			type       	"TTimeIntervalMinutes")))
+	    (object Class "TScheduleState"
+		quid       	"358FA35103AF"
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iName"
+			quid       	"358FA361024A"
+			type       	"TName")
+		    (object ClassAttribute "iDueTime"
+			quid       	"358FA3710225"
+			type       	"TTime")
+		    (object ClassAttribute "iPersists"
+			quid       	"358FA38201B1"
+			type       	"TBool")
+		    (object ClassAttribute "iEnabled"
+			quid       	"358FA3900251"
+			type       	"TBool")))
+	    (object Class "TSchedulerItemRef"
+		quid       	"358FAACE01FD"
+		class_attributes 	(list class_attribute_list
+		    (object ClassAttribute "iName"
+			quid       	"358FAADF00CB"
+			type       	"TName")
+		    (object ClassAttribute "iHandle"
+			quid       	"358FAAEE01D1"
+			type       	"TInt")))
+	    (object Association "iClient"
+		quid       	"34FAF6FD00A3"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$2"
+			quid       	"34FAF6FD02C0"
+			supplier   	"CClientProxy"
+			quidu      	"34D1CB1B03A7")
+		    (object Role "$UNNAMED$3"
+			quid       	"34FAF6FD02DE"
+			supplier   	"TScheduledTask"
+			quidu      	"34D1CCE902E3")))
+	    (object Association "$UNNAMED$4"
+		quid       	"34FD88580389"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$5"
+			quid       	"34FD885903BD"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$6"
+			quid       	"34FD885A007F"
+			supplier   	"CServiceTimer"
+			quidu      	"34D1CB1C0005"
+			is_navigable 	TRUE)))
+	    (object Association "iPendingSchedules"
+		quid       	"34FD89A201FD"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$7"
+			quid       	"34FD89A203CA"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073")
+		    (object Role "$UNNAMED$8"
+			quid       	"34FD89A3000A"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186")))
+	    (object Association "iClient"
+		quid       	"3587D95D009D"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$9"
+			quid       	"3587D95D02D8"
+			supplier   	"CClientProxy"
+			quidu      	"34D1CB1B03A7"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$10"
+			quid       	"3587D95D0314"
+			supplier   	"CSchSession"
+			quidu      	"34D1C70C014A"
+			client_cardinality 	(value cardinality "1..1"))))
+	    (object Association "iTaskScheduler"
+		quid       	"3587D96F036A"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$11"
+			quid       	"3587D97102CC"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$12"
+			quid       	"3587D9710313"
+			supplier   	"CSchSession"
+			quidu      	"34D1C70C014A"
+			client_cardinality 	(value cardinality "1..1"))))
+	    (object Association "iClient"
+		quid       	"3587DB09037D"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$13"
+			quid       	"3587DB0A0216"
+			supplier   	"CClientProxy"
+			quidu      	"34D1CB1B03A7"
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$14"
+			quid       	"3587DB0A0248"
+			supplier   	"TScheduledTask"
+			quidu      	"34D1CCE902E3")))
+	    (object Association "iTask"
+		quid       	"3587DB0F00BF"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$15"
+			quid       	"3587DB100337"
+			supplier   	"CScheduledTask"
+			quidu      	"3587D90700A3"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$16"
+			quid       	"3587DB100338"
+			supplier   	"TScheduledTask"
+			quidu      	"34D1CCE902E3"
+			client_cardinality 	(value cardinality "1..1"))))
+	    (object Association "iTasks"
+		quid       	"3587DB2A00FA"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$17"
+			quid       	"3587DB2A02A9"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$18"
+			quid       	"3587DB2A02DB"
+			supplier   	"TScheduledTask"
+			quidu      	"34D1CCE902E3"
+			client_cardinality 	(value cardinality "0..n")
+			is_navigable 	TRUE)))
+	    (object Association "iBackup"
+		quid       	"3587DCB40377"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$19"
+			quid       	"3587DCB60149"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$20"
+			quid       	"3587DCB6019A"
+			supplier   	"TScheduleBackup"
+			quidu      	"3587DC9303DE"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)))
+	    (object Association "iClients"
+		quid       	"3587DD3F0377"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$21"
+			quid       	"3587DD4003B5"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$22"
+			quid       	"3587DD41001D"
+			supplier   	"CClientProxy"
+			quidu      	"34D1CB1B03A7"
+			client_cardinality 	(value cardinality "0..n")
+			is_navigable 	TRUE)))
+	    (object Association "iPending"
+		quid       	"3587E24B0126"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$23"
+			quid       	"3587E24C038B"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073"
+			client_cardinality 	(value cardinality "0..n")
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$24"
+			quid       	"3587E24C03C7"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1"))))
+	    (object Association "iSchedules"
+		quid       	"3587E2510297"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$25"
+			quid       	"3587E2520357"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$26"
+			quid       	"3587E25203B1"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073"
+			client_cardinality 	(value cardinality "0..n")
+			is_navigable 	TRUE)))
+	    (object Association "iTaskScheduler"
+		quid       	"3587E34000D8"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$27"
+			quid       	"3587E341030B"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$28"
+			quid       	"3587E341036F"
+			supplier   	"CScheduleTimer"
+			quidu      	"3587E1E90360"
+			client_cardinality 	(value cardinality "1..1"))))
+	    (object Association "iTimer"
+		quid       	"3587E356021A"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$29"
+			quid       	"3587E3570104"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$30"
+			quid       	"3587E3570172"
+			supplier   	"CScheduleTimer"
+			quidu      	"3587E1E90360"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)))
+	    (object Association "iNotifier"
+		quid       	"3587E6E702AA"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$31"
+			quid       	"3587E6E802F1"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$32"
+			quid       	"3587E6E8035F"
+			supplier   	"CEnvironmentChangeNotifier"
+			quidu      	"3587E6D100B3"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)))
+	    (object Association "iEntries"
+		quid       	"3587E7340282"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$33"
+			quid       	"3587E736019F"
+			supplier   	"CSchedule"
+			quidu      	"34D1CB1C0073"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$34"
+			quid       	"3587E73601DB"
+			supplier   	"TScheduleEntry"
+			quidu      	"34D1CB1C0091"
+			client_cardinality 	(value cardinality "1..n")
+			is_navigable 	TRUE)))
+	    (object Association "$UNNAMED$35"
+		quid       	"3587E7B603A2"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$36"
+			quid       	"3587E7B7035D"
+			supplier   	"CSchServer"
+			quidu      	"34D1C70C0110"
+			is_navigable 	TRUE
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$37"
+			quid       	"3587E7B7035E"
+			supplier   	"CSchSession"
+			quidu      	"34D1C70C014A"
+			is_navigable 	TRUE)))
+	    (object Association "iTaskScheduler"
+		quid       	"3587E7BA027B"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$38"
+			quid       	"3587E7BC004D"
+			supplier   	"CSchServer"
+			quidu      	"34D1C70C0110"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$39"
+			quid       	"3587E7BC004E"
+			supplier   	"CTaskScheduler"
+			quidu      	"34D1C70C0186"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)))
+	    (object Association "iClient"
+		quid       	"3587EB2F016F"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$40"
+			quid       	"3587EB300379"
+			supplier   	"CClientProxy"
+			quidu      	"34D1CB1B03A7"
+			client_cardinality 	(value cardinality "1..1")
+			is_navigable 	TRUE)
+		    (object Role "$UNNAMED$41"
+			quid       	"3587EB3003BF"
+			supplier   	"TScheduledTask"
+			quidu      	"34D1CCE902E3"
+			client_cardinality 	(value cardinality "0..n"))))
+	    (object Association "iTasks"
+		quid       	"3587EB3F03CB"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$42"
+			quid       	"3587EB4300CE"
+			supplier   	"CClientProxy"
+			quidu      	"34D1CB1B03A7"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$43"
+			quid       	"3587EB43010A"
+			supplier   	"CScheduledTask"
+			quidu      	"3587D90700A3"
+			client_cardinality 	(value cardinality "0..n")
+			is_navigable 	TRUE)))
+	    (object Association "iEntries"
+		quid       	"3588F2700223"
+		roles      	(list role_list
+		    (object Role "$UNNAMED$44"
+			quid       	"3588F27003E6"
+			supplier   	"CScheduleIndex"
+			quidu      	"3587DC95028C"
+			client_cardinality 	(value cardinality "1..1")
+			is_aggregate 	TRUE)
+		    (object Role "$UNNAMED$45"
+			quid       	"3588F271003A"
+			supplier   	"TScheduleIndexEntry"
+			quidu      	"3588F2210143"
+			client_cardinality 	(value cardinality "0..n")
+			is_navigable 	TRUE)))
+	    (object Class_Category "fdbfs"
+		quid       	"359A15A403A7"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list)))
+	logical_presentations 	(list unit_reference_list
+	    (object ClassDiagram "Main"
+		quid       	"34B4B32D03A7"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object ClassView "Class" "CTaskExecutor" @1
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(2608, 1472)
+			label      	(object ItemLabel
+			    Parent_View 	@1
+			    location   	(2355, 1316)
+			    nlines     	1
+			    max_width  	505
+			    justify    	0
+			    label      	"CTaskExecutor")
+			quidu      	"3587DB8B0352"
+			compartment 	(object Compartment
+			    Parent_View 	@1
+			    location   	(2344, 1376)
+			    anchor     	2
+			    nlines     	5
+			    max_width  	525)
+			width      	546
+			height     	336
+			autoResize 	TRUE)
+		    (object ClassView "Class" "CActive" @2
+			location   	(2624, 896)
+			label      	(object ItemLabel
+			    Parent_View 	@2
+			    location   	(2538, 847)
+			    nlines     	1
+			    max_width  	170
+			    justify    	0
+			    label      	"CActive")
+			quidu      	"3587E0BF03E4"
+			width      	184
+			height     	122)
+		    (object ClassView "Class" "CScheduledTask" @3
+			IncludeAttribute 	TRUE
+			location   	(1264, 1664)
+			label      	(object ItemLabel
+			    Parent_View 	@3
+			    location   	(1094, 1533)
+			    nlines     	1
+			    max_width  	338
+			    justify    	0
+			    label      	"CScheduledTask")
+			quidu      	"3587D90700A3"
+			compartment 	(object Compartment
+			    Parent_View 	@3
+			    location   	(1090, 1593)
+			    anchor     	2
+			    nlines     	4
+			    max_width  	291
+			    compartmentItems 	(list Compartment
+				"OnDue( )"))
+			width      	366
+			height     	286
+			autoResize 	TRUE)
+		    (object ClassView "Class" "TScheduleEntry" @4
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(272, 1328)
+			label      	(object ItemLabel
+			    Parent_View 	@4
+			    location   	(73, 1247)
+			    nlines     	1
+			    max_width  	397
+			    justify    	0
+			    label      	"TScheduleEntry")
+			quidu      	"34D1CB1C0091"
+			compartment 	(object Compartment
+			    Parent_View 	@4
+			    location   	(66, 1307)
+			    anchor     	2
+			    nlines     	2
+			    max_width  	409)
+			width      	430
+			height     	186
+			autoResize 	TRUE)
+		    (object ClassView "Class" "TScheduledTask" @5
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(768, 1360)
+			label      	(object ItemLabel
+			    Parent_View 	@5
+			    location   	(554, 1229)
+			    nlines     	1
+			    max_width  	427
+			    justify    	0
+			    label      	"TScheduledTask")
+			quidu      	"34D1CCE902E3"
+			compartment 	(object Compartment
+			    Parent_View 	@5
+			    location   	(546, 1289)
+			    anchor     	2
+			    nlines     	4
+			    max_width  	450)
+			width      	462
+			height     	286
+			autoResize 	TRUE)
+		    (object AssociationViewNew "iTask" @6
+			location   	(847, 1646)
+			label      	(object SegLabel @7
+			    Parent_View 	@6
+			    location   	(854, 1611)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iTask"
+			    pctDist    	0.616667
+			    height     	35
+			    orientation 	0)
+			quidu      	"3587DB0F00BF"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$15" @8
+				Parent_View 	@6
+				location   	(-737, 286)
+				quidu      	"3587DB100337"
+				client     	@6
+				supplier   	@3
+				line_style 	3
+				origin_attachment 	(847, 1646)
+				terminal_attachment 	(1081, 1646)
+				label      	(object SegLabel @9
+				    Parent_View 	@8
+				    location   	(999, 1699)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.653846
+				    height     	53
+				    orientation 	1))
+			    (object RoleView "$UNNAMED$16" @10
+				Parent_View 	@6
+				location   	(-737, 286)
+				quidu      	"3587DB100338"
+				client     	@6
+				supplier   	@5
+				vertices   	(list Points
+				    (847, 1646)
+				    (756, 1646)
+				    (756, 1503))
+				line_style 	3
+				origin_attachment 	(847, 1646)
+				terminal_attachment 	(768, 1503)
+				label      	(object SegLabel @11
+				    Parent_View 	@10
+				    location   	(704, 1586)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.646154
+				    height     	53
+				    orientation 	0))))
+		    (object ClassView "Class" "CSchSession" @12
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(2656, 576)
+			label      	(object ItemLabel
+			    Parent_View 	@12
+			    location   	(2465, 495)
+			    nlines     	1
+			    max_width  	381
+			    justify    	0
+			    label      	"CSchSession")
+			quidu      	"34D1C70C014A"
+			compartment 	(object Compartment
+			    Parent_View 	@12
+			    location   	(2459, 555)
+			    anchor     	2
+			    nlines     	2
+			    max_width  	200)
+			width      	412
+			height     	186
+			autoResize 	TRUE)
+		    (object ClassView "Class" "CClientProxy" @13
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(1984, 1552)
+			label      	(object ItemLabel
+			    Parent_View 	@13
+			    location   	(1747, 1396)
+			    nlines     	1
+			    max_width  	473
+			    justify    	0
+			    label      	"CClientProxy")
+			quidu      	"34D1CB1B03A7"
+			compartment 	(object Compartment
+			    Parent_View 	@13
+			    location   	(1737, 1456)
+			    anchor     	2
+			    nlines     	5
+			    max_width  	500)
+			width      	512
+			height     	336
+			autoResize 	TRUE)
+		    (object AssociationViewNew "iClient" @14
+			location   	(2206, 894)
+			label      	(object SegLabel @15
+			    Parent_View 	@14
+			    location   	(2191, 883)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iClient"
+			    pctDist    	0.250000
+			    height     	12
+			    orientation 	0)
+			quidu      	"3587D95D009D"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$9" @16
+				Parent_View 	@14
+				location   	(-978, 238)
+				quidu      	"3587D95D02D8"
+				client     	@14
+				supplier   	@13
+				line_style 	3
+				origin_attachment 	(2206, 894)
+				terminal_attachment 	(2206, 1384)
+				label      	(object SegLabel @17
+				    Parent_View 	@16
+				    location   	(2259, 1277)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.781609
+				    height     	53
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$10" @18
+				Parent_View 	@14
+				location   	(-978, 238)
+				quidu      	"3587D95D0314"
+				client     	@14
+				supplier   	@12
+				vertices   	(list Points
+				    (2206, 894)
+				    (2206, 647)
+				    (2450, 647))
+				line_style 	3
+				origin_attachment 	(2206, 894)
+				terminal_attachment 	(2450, 576)
+				label      	(object SegLabel @19
+				    Parent_View 	@18
+				    location   	(2415, 607)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.930807
+				    height     	41
+				    orientation 	0))))
+		    (object AssociationViewNew "iClient" @20
+			location   	(1363, 1438)
+			label      	(object SegLabel @21
+			    Parent_View 	@20
+			    location   	(1359, 1411)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iClient"
+			    pctDist    	0.450000
+			    height     	28
+			    orientation 	0)
+			quidu      	"3587EB2F016F"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$40" @22
+				Parent_View 	@20
+				location   	(595, -210)
+				quidu      	"3587EB300379"
+				client     	@20
+				supplier   	@13
+				line_style 	3
+				origin_attachment 	(1363, 1438)
+				terminal_attachment 	(1728, 1438)
+				label      	(object SegLabel @23
+				    Parent_View 	@22
+				    location   	(1666, 1491)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.831224
+				    height     	53
+				    orientation 	1))
+			    (object RoleView "$UNNAMED$41" @24
+				Parent_View 	@20
+				location   	(595, -210)
+				quidu      	"3587EB3003BF"
+				client     	@20
+				supplier   	@5
+				line_style 	3
+				origin_attachment 	(1363, 1438)
+				terminal_attachment 	(999, 1438)
+				label      	(object SegLabel @25
+				    Parent_View 	@24
+				    location   	(1087, 1475)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.758475
+				    height     	37
+				    orientation 	0))))
+		    (object AssociationViewNew "iTasks" @26
+			location   	(1587, 1631)
+			label      	(object SegLabel @27
+			    Parent_View 	@26
+			    location   	(1598, 1594)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iTasks"
+			    pctDist    	0.683333
+			    height     	38
+			    orientation 	0)
+			quidu      	"3587EB3F03CB"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$42" @28
+				Parent_View 	@26
+				location   	(499, 415)
+				quidu      	"3587EB4300CE"
+				client     	@26
+				supplier   	@13
+				line_style 	3
+				origin_attachment 	(1587, 1631)
+				terminal_attachment 	(1728, 1631)
+				label      	(object SegLabel @29
+				    Parent_View 	@28
+				    location   	(1673, 1687)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.610687
+				    height     	56
+				    orientation 	1))
+			    (object RoleView "$UNNAMED$43" @30
+				Parent_View 	@26
+				location   	(499, 415)
+				quidu      	"3587EB43010A"
+				client     	@26
+				supplier   	@3
+				line_style 	3
+				origin_attachment 	(1587, 1631)
+				terminal_attachment 	(1447, 1631)
+				label      	(object SegLabel @31
+				    Parent_View 	@30
+				    location   	(1498, 1579)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.646154
+				    height     	53
+				    orientation 	1))))
+		    (object ClassView "Class" "CSchedule" @32
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(352, 496)
+			label      	(object ItemLabel
+			    Parent_View 	@32
+			    location   	(128, 42)
+			    nlines     	1
+			    max_width  	447
+			    justify    	0
+			    label      	"CSchedule")
+			quidu      	"34D1CB1C0073"
+			compartment 	(object Compartment
+			    Parent_View 	@32
+			    location   	(119, 102)
+			    anchor     	2
+			    nlines     	17
+			    max_width  	472)
+			width      	484
+			height     	930
+			autoResize 	TRUE)
+		    (object AssociationViewNew "iEntries" @33
+			location   	(175, 1098)
+			label      	(object SegLabel @34
+			    Parent_View 	@33
+			    location   	(175, 1039)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iEntries"
+			    pctDist    	0.500000
+			    height     	60
+			    orientation 	0)
+			quidu      	"3587E7340282"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$33" @35
+				Parent_View 	@33
+				location   	(-65, -502)
+				quidu      	"3587E736019F"
+				client     	@33
+				supplier   	@32
+				line_style 	3
+				origin_attachment 	(175, 1098)
+				terminal_attachment 	(175, 961)
+				label      	(object SegLabel @36
+				    Parent_View 	@35
+				    location   	(242, 989)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.805405
+				    height     	67
+				    orientation 	1))
+			    (object RoleView "$UNNAMED$34" @37
+				Parent_View 	@33
+				location   	(-65, -502)
+				quidu      	"3587E73601DB"
+				client     	@33
+				supplier   	@4
+				line_style 	3
+				origin_attachment 	(175, 1098)
+				terminal_attachment 	(175, 1235)
+				label      	(object SegLabel @38
+				    Parent_View 	@37
+				    location   	(118, 1209)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..*"
+				    pctDist    	0.819718
+				    height     	58
+				    orientation 	1))))
+		    (object AssociationViewNew "iTasks" @39
+			location   	(540, 1089)
+			label      	(object SegLabel @40
+			    Parent_View 	@39
+			    location   	(544, 1030)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iTasks"
+			    pctDist    	0.566667
+			    height     	60
+			    orientation 	0)
+			quidu      	"3587DB2A00FA"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$17" @41
+				Parent_View 	@39
+				location   	(-1124, -271)
+				quidu      	"3587DB2A02A9"
+				client     	@39
+				supplier   	@32
+				line_style 	3
+				origin_attachment 	(540, 1089)
+				terminal_attachment 	(540, 961)
+				label      	(object SegLabel @42
+				    Parent_View 	@41
+				    location   	(471, 985)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.809524
+				    height     	70
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$18" @43
+				Parent_View 	@39
+				location   	(-1124, -271)
+				quidu      	"3587DB2A02DB"
+				client     	@39
+				supplier   	@5
+				line_style 	3
+				origin_attachment 	(540, 1089)
+				terminal_attachment 	(540, 1217)
+				label      	(object SegLabel @44
+				    Parent_View 	@43
+				    location   	(488, 1191)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	62
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.797468
+				    height     	53
+				    orientation 	1))))
+		    (object ClassView "Class" "CSchServer" @45
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(2144, 144)
+			label      	(object ItemLabel
+			    Parent_View 	@45
+			    location   	(1972, 95)
+			    nlines     	1
+			    max_width  	342
+			    justify    	0
+			    label      	"CSchServer")
+			quidu      	"34D1C70C0110"
+			width      	370
+			height     	122
+			annotation 	8
+			autoResize 	TRUE)
+		    (object AssociationViewNew "$UNNAMED$35" @46
+			location   	(2608, 125)
+			quidu      	"3587E7B603A2"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$36" @47
+				Parent_View 	@46
+				location   	(112, -531)
+				quidu      	"3587E7B7035D"
+				client     	@46
+				supplier   	@45
+				line_style 	3
+				origin_attachment 	(2608, 125)
+				terminal_attachment 	(2329, 125))
+			    (object RoleView "$UNNAMED$37" @48
+				Parent_View 	@46
+				location   	(112, -531)
+				quidu      	"3587E7B7035E"
+				client     	@46
+				supplier   	@12
+				vertices   	(list Points
+				    (2608, 125)
+				    (2668, 125)
+				    (2668, 483))
+				line_style 	3
+				origin_attachment 	(2608, 125)
+				terminal_attachment 	(2656, 483))))
+		    (object ClassView "Class" "CScheduleTimer" @49
+			location   	(848, 176)
+			label      	(object ItemLabel
+			    Parent_View 	@49
+			    location   	(685, 127)
+			    nlines     	1
+			    max_width  	325
+			    justify    	0
+			    label      	"CScheduleTimer")
+			quidu      	"3587E1E90360"
+			width      	352
+			height     	122
+			autoResize 	TRUE)
+		    (object ClassView "Class" "CTaskScheduler" @50
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(1536, 848)
+			label      	(object ItemLabel
+			    Parent_View 	@50
+			    location   	(1209, 517)
+			    nlines     	1
+			    max_width  	653
+			    justify    	0
+			    label      	"CTaskScheduler")
+			quidu      	"34D1C70C0186"
+			compartment 	(object Compartment
+			    Parent_View 	@50
+			    location   	(1192, 577)
+			    anchor     	2
+			    nlines     	12
+			    max_width  	684)
+			width      	706
+			height     	686
+			autoResize 	TRUE)
+		    (object AssociationViewNew "iTaskScheduler" @51
+			location   	(2169, 528)
+			label      	(object SegLabel @52
+			    Parent_View 	@51
+			    location   	(2120, 488)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iTaskScheduler"
+			    pctDist    	-0.316667
+			    height     	41
+			    orientation 	0)
+			quidu      	"3587D96F036A"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$11" @53
+				Parent_View 	@51
+				location   	(-1015, -128)
+				quidu      	"3587D97102CC"
+				client     	@51
+				supplier   	@50
+				line_style 	3
+				origin_attachment 	(2169, 528)
+				terminal_attachment 	(1889, 528)
+				label      	(object SegLabel @54
+				    Parent_View 	@53
+				    location   	(1934, 581)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.838130
+				    height     	53
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$12" @55
+				Parent_View 	@51
+				location   	(-1015, -128)
+				quidu      	"3587D9710313"
+				client     	@51
+				supplier   	@12
+				line_style 	3
+				origin_attachment 	(2169, 528)
+				terminal_attachment 	(2450, 528)
+				label      	(object SegLabel @56
+				    Parent_View 	@55
+				    location   	(2407, 500)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.849315
+				    height     	29
+				    orientation 	0))))
+		    (object AssociationViewNew "iClients" @57
+			location   	(1731, 1287)
+			label      	(object SegLabel @58
+			    Parent_View 	@57
+			    location   	(1731, 1282)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	132
+			    justify    	0
+			    label      	"iClients"
+			    pctDist    	0.500000
+			    height     	6
+			    orientation 	0)
+			quidu      	"3587DD3F0377"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$21" @59
+				Parent_View 	@57
+				location   	(-749, 231)
+				quidu      	"3587DD4003B5"
+				client     	@57
+				supplier   	@50
+				line_style 	3
+				origin_attachment 	(1731, 1287)
+				terminal_attachment 	(1731, 1191)
+				label      	(object SegLabel @60
+				    Parent_View 	@59
+				    location   	(1680, 1224)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.660550
+				    height     	52
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$22" @61
+				Parent_View 	@57
+				location   	(-749, 231)
+				quidu      	"3587DD41001D"
+				client     	@57
+				supplier   	@13
+				line_style 	3
+				origin_attachment 	(1731, 1287)
+				terminal_attachment 	(1731, 1384)
+				label      	(object SegLabel @62
+				    Parent_View 	@61
+				    location   	(1801, 1350)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	62
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.660550
+				    height     	70
+				    orientation 	0))))
+		    (object AssociationViewNew "iPending" @63
+			location   	(888, 819)
+			label      	(object SegLabel @64
+			    Parent_View 	@63
+			    location   	(886, 791)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iPending"
+			    pctDist    	0.483333
+			    height     	29
+			    orientation 	0)
+			quidu      	"3587E24B0126"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$23" @65
+				Parent_View 	@63
+				location   	(-440, 435)
+				quidu      	"3587E24C038B"
+				client     	@63
+				supplier   	@32
+				line_style 	3
+				origin_attachment 	(888, 819)
+				terminal_attachment 	(594, 819)
+				label      	(object SegLabel @66
+				    Parent_View 	@65
+				    location   	(623, 873)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.900000
+				    height     	54
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$24" @67
+				Parent_View 	@63
+				location   	(-440, 435)
+				quidu      	"3587E24C03C7"
+				client     	@63
+				supplier   	@50
+				line_style 	3
+				origin_attachment 	(888, 819)
+				terminal_attachment 	(1183, 819)
+				label      	(object SegLabel @68
+				    Parent_View 	@67
+				    location   	(1122, 875)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.794212
+				    height     	56
+				    orientation 	1))))
+		    (object AssociationViewNew "iSchedules" @69
+			location   	(888, 644)
+			label      	(object SegLabel @70
+			    Parent_View 	@69
+			    location   	(886, 620)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iSchedules"
+			    pctDist    	0.483333
+			    height     	25
+			    orientation 	0)
+			quidu      	"3587E2510297"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$25" @71
+				Parent_View 	@69
+				location   	(360, -940)
+				quidu      	"3587E2520357"
+				client     	@69
+				supplier   	@50
+				line_style 	3
+				origin_attachment 	(888, 644)
+				terminal_attachment 	(1183, 644)
+				label      	(object SegLabel @72
+				    Parent_View 	@71
+				    location   	(1137, 697)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.842444
+				    height     	53
+				    orientation 	1))
+			    (object RoleView "$UNNAMED$26" @73
+				Parent_View 	@69
+				location   	(360, -940)
+				quidu      	"3587E25203B1"
+				client     	@69
+				supplier   	@32
+				line_style 	3
+				origin_attachment 	(888, 644)
+				terminal_attachment 	(594, 644)
+				label      	(object SegLabel @74
+				    Parent_View 	@73
+				    location   	(623, 698)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.900000
+				    height     	54
+				    orientation 	0))))
+		    (object AssociationViewNew "iTaskScheduler" @75
+			location   	(1616, 144)
+			label      	(object SegLabel @76
+			    Parent_View 	@75
+			    location   	(1647, 147)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	288
+			    justify    	0
+			    label      	"iTaskScheduler"
+			    pctDist    	1.016667
+			    height     	3
+			    orientation 	1)
+			quidu      	"3587E7BA027B"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$38" @77
+				Parent_View 	@75
+				location   	(160, -320)
+				quidu      	"3587E7BC004D"
+				client     	@75
+				supplier   	@45
+				line_style 	3
+				origin_attachment 	(1616, 144)
+				terminal_attachment 	(1959, 144)
+				label      	(object SegLabel @78
+				    Parent_View 	@77
+				    location   	(1924, 198)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.900000
+				    height     	54
+				    orientation 	1))
+			    (object RoleView "$UNNAMED$39" @79
+				Parent_View 	@75
+				location   	(160, -320)
+				quidu      	"3587E7BC004E"
+				client     	@75
+				supplier   	@50
+				vertices   	(list Points
+				    (1616, 144)
+				    (1556, 144)
+				    (1556, 505))
+				line_style 	3
+				origin_attachment 	(1616, 144)
+				terminal_attachment 	(1536, 505)
+				label      	(object SegLabel @80
+				    Parent_View 	@79
+				    location   	(1610, 423)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.806452
+				    height     	54
+				    orientation 	0))))
+		    (object AssociationViewNew "iTaskScheduler" @81
+			location   	(1349, 156)
+			label      	(object SegLabel @82
+			    Parent_View 	@81
+			    location   	(1304, 156)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iTaskScheduler"
+			    pctDist    	-0.250000
+			    height     	0
+			    orientation 	1)
+			quidu      	"3587E34000D8"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$28" @83
+				Parent_View 	@81
+				location   	(-347, -692)
+				quidu      	"3587E341036F"
+				client     	@81
+				supplier   	@49
+				line_style 	3
+				origin_attachment 	(1349, 156)
+				terminal_attachment 	(1024, 156)
+				label      	(object SegLabel @84
+				    Parent_View 	@83
+				    location   	(1058, 210)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.900000
+				    height     	54
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$27" @85
+				Parent_View 	@81
+				location   	(-347, -692)
+				quidu      	"3587E341030B"
+				client     	@81
+				supplier   	@50
+				vertices   	(list Points
+				    (1349, 156)
+				    (1409, 156)
+				    (1409, 505))
+				line_style 	3
+				origin_attachment 	(1349, 156)
+				terminal_attachment 	(1536, 505)
+				label      	(object SegLabel @86
+				    Parent_View 	@85
+				    location   	(1463, 464)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.900000
+				    height     	54
+				    orientation 	0))))
+		    (object AssociationViewNew "iTimer" @87
+			location   	(944, 509)
+			label      	(object SegLabel @88
+			    Parent_View 	@87
+			    location   	(895, 466)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iTimer"
+			    pctDist    	-0.333333
+			    height     	44
+			    orientation 	0)
+			quidu      	"3587E356021A"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$30" @89
+				Parent_View 	@87
+				location   	(-752, -339)
+				quidu      	"3587E3570172"
+				client     	@87
+				supplier   	@49
+				vertices   	(list Points
+				    (944, 509)
+				    (884, 509)
+				    (884, 237))
+				line_style 	3
+				origin_attachment 	(944, 509)
+				terminal_attachment 	(884, 237)
+				label      	(object SegLabel @90
+				    Parent_View 	@89
+				    location   	(831, 270)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.900000
+				    height     	54
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$29" @91
+				Parent_View 	@87
+				location   	(-752, -339)
+				quidu      	"3587E3570104"
+				client     	@87
+				supplier   	@50
+				line_style 	3
+				origin_attachment 	(944, 509)
+				terminal_attachment 	(1183, 509)
+				label      	(object SegLabel @92
+				    Parent_View 	@91
+				    location   	(1166, 567)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.935096
+				    height     	58
+				    orientation 	1))))
+		    (object UsesView "" @93
+			quidu      	"3587DC1100C0"
+			client     	@13
+			supplier   	@1
+			line_style 	3
+			origin_attachment 	(2240, 1500)
+			terminal_attachment 	(2335, 1500))
+		    (object InheritView "" @94
+			quidu      	"3587E0D20247"
+			client     	@1
+			supplier   	@2
+			line_style 	3
+			origin_attachment 	(2621, 1304)
+			terminal_attachment 	(2621, 957))))
+	    (object ClassDiagram "Backing Up"
+		quid       	"3588EB33023D"
+		title      	"Backing Up"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object ClassView "Class" "CSchedule" @95
+			location   	(560, 1408)
+			label      	(object ItemLabel
+			    Parent_View 	@95
+			    location   	(336, 1327)
+			    nlines     	1
+			    max_width  	447
+			    justify    	0
+			    label      	"CSchedule")
+			quidu      	"34D1CB1C0073"
+			compartment 	(object Compartment
+			    Parent_View 	@95
+			    location   	(327, 1387)
+			    anchor     	2
+			    nlines     	2
+			    max_width  	472
+			    compartmentItems 	(list Compartment
+				"iEntries : TScheduleEntry"))
+			width      	484
+			height     	186
+			autoResize 	TRUE)
+		    (object ClassView "Class" "TScheduleBackup" @96
+			IncludeOperation 	TRUE
+			location   	(2048, 400)
+			label      	(object ItemLabel
+			    Parent_View 	@96
+			    location   	(1813, 69)
+			    nlines     	1
+			    max_width  	468
+			    justify    	0
+			    label      	"TScheduleBackup")
+			quidu      	"3587DC9303DE"
+			compartment 	(object Compartment
+			    Parent_View 	@96
+			    location   	(1804, 129)
+			    anchor     	2
+			    nlines     	12
+			    max_width  	484
+			    compartmentItems 	(list Compartment
+				"iChangesToStore : TInt"))
+			width      	506
+			height     	686
+			autoResize 	TRUE)
+		    (object ClassView "Class" "CTaskScheduler" @97
+			location   	(2432, 1184)
+			label      	(object ItemLabel
+			    Parent_View 	@97
+			    location   	(2185, 1103)
+			    nlines     	1
+			    max_width  	493
+			    justify    	0
+			    label      	"CTaskScheduler")
+			quidu      	"34D1C70C0186"
+			compartment 	(object Compartment
+			    Parent_View 	@97
+			    location   	(2174, 1163)
+			    anchor     	2
+			    nlines     	2
+			    max_width  	512
+			    compartmentItems 	(list Compartment
+				"iBackup : TScheduleBackup"))
+			width      	534
+			height     	186
+			autoResize 	TRUE)
+		    (object AssociationViewNew "iSchedules" @98
+			location   	(1715, 1472)
+			label      	(object SegLabel @99
+			    Parent_View 	@98
+			    location   	(1746, 1432)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iSchedules"
+			    pctDist    	1.033333
+			    height     	41
+			    orientation 	0)
+			quidu      	"3587E2510297"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$25" @100
+				Parent_View 	@98
+				location   	(1187, -112)
+				quidu      	"3587E2520357"
+				client     	@98
+				supplier   	@97
+				vertices   	(list Points
+				    (1715, 1472)
+				    (2434, 1472)
+				    (2434, 1277))
+				line_style 	3
+				origin_attachment 	(1715, 1472)
+				terminal_attachment 	(2434, 1277)
+				label      	(object SegLabel @101
+				    Parent_View 	@100
+				    location   	(2487, 1421)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.842444
+				    height     	53
+				    orientation 	1))
+			    (object RoleView "$UNNAMED$26" @102
+				Parent_View 	@98
+				location   	(1187, -112)
+				quidu      	"3587E25203B1"
+				client     	@98
+				supplier   	@95
+				line_style 	3
+				origin_attachment 	(1715, 1472)
+				terminal_attachment 	(802, 1472)
+				label      	(object SegLabel @103
+				    Parent_View 	@102
+				    location   	(954, 1525)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.833333
+				    height     	53
+				    orientation 	0))))
+		    (object AssociationViewNew "iBackup" @104
+			location   	(2262, 917)
+			label      	(object SegLabel @105
+			    Parent_View 	@104
+			    location   	(2262, 891)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iBackup"
+			    pctDist    	0.500000
+			    height     	27
+			    orientation 	0)
+			quidu      	"3587DCB40377"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$20" @106
+				Parent_View 	@104
+				location   	(166, 197)
+				quidu      	"3587DCB6019A"
+				client     	@104
+				supplier   	@96
+				line_style 	3
+				origin_attachment 	(2262, 917)
+				terminal_attachment 	(2262, 743)
+				label      	(object SegLabel @107
+				    Parent_View 	@106
+				    location   	(2212, 799)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.682119
+				    height     	51
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$19" @108
+				Parent_View 	@104
+				location   	(166, 197)
+				quidu      	"3587DCB60149"
+				client     	@104
+				supplier   	@97
+				line_style 	3
+				origin_attachment 	(2262, 917)
+				terminal_attachment 	(2262, 1091)
+				label      	(object SegLabel @109
+				    Parent_View 	@108
+				    location   	(2317, 1059)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.816092
+				    height     	55
+				    orientation 	0))))
+		    (object ClassView "Class" "CScheduleIndex" @110
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(656, 784)
+			label      	(object ItemLabel
+			    Parent_View 	@110
+			    location   	(213, 653)
+			    nlines     	1
+			    max_width  	884
+			    justify    	0
+			    label      	"CScheduleIndex")
+			quidu      	"3587DC95028C"
+			compartment 	(object Compartment
+			    Parent_View 	@110
+			    location   	(187, 713)
+			    anchor     	2
+			    nlines     	4
+			    max_width  	294)
+			width      	956
+			height     	286
+			autoResize 	TRUE)
+		    (object ClassView "Class" "TScheduleIndexEntry" @111
+			location   	(560, 224)
+			label      	(object ItemLabel
+			    Parent_View 	@111
+			    location   	(350, 68)
+			    nlines     	1
+			    max_width  	418
+			    justify    	0
+			    label      	"TScheduleIndexEntry")
+			quidu      	"3588F2210143"
+			compartment 	(object Compartment
+			    Parent_View 	@111
+			    location   	(343, 128)
+			    anchor     	2
+			    nlines     	5
+			    max_width  	403
+			    compartmentItems 	(list Compartment
+				"ExternalizeL( )"
+				"InternalizeL( )"
+				"iStreamId : TStreamId"
+				"iScheduleId : TInt"))
+			width      	452
+			height     	336
+			autoResize 	TRUE)
+		    (object AssociationViewNew "iEntries" @112
+			location   	(537, 516)
+			label      	(object SegLabel @113
+			    Parent_View 	@112
+			    location   	(533, 488)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	TRUE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    anchor     	1
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	600
+			    justify    	0
+			    label      	"iEntries"
+			    pctDist    	0.450000
+			    height     	29
+			    orientation 	0)
+			quidu      	"3588F2700223"
+			roleview_list 	(list RoleViews
+			    (object RoleView "$UNNAMED$44" @114
+				Parent_View 	@112
+				location   	(9, 292)
+				quidu      	"3588F27003E6"
+				client     	@112
+				supplier   	@110
+				line_style 	3
+				origin_attachment 	(537, 516)
+				terminal_attachment 	(537, 641)
+				label      	(object SegLabel @115
+				    Parent_View 	@114
+				    location   	(592, 614)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"1..1"
+				    pctDist    	0.795620
+				    height     	55
+				    orientation 	0))
+			    (object RoleView "$UNNAMED$45" @116
+				Parent_View 	@112
+				location   	(9, 292)
+				quidu      	"3588F271003A"
+				client     	@112
+				supplier   	@111
+				line_style 	3
+				origin_attachment 	(537, 516)
+				terminal_attachment 	(537, 392)
+				label      	(object SegLabel @117
+				    Parent_View 	@116
+				    location   	(606, 422)
+				    anchor     	2
+				    anchor_loc 	1
+				    nlines     	1
+				    max_width  	15
+				    justify    	0
+				    label      	"0..*"
+				    pctDist    	0.758065
+				    height     	69
+				    orientation 	1))))
+		    (object UsesView "" @118
+			quidu      	"3587E067001C"
+			client     	@110
+			supplier   	@95
+			line_style 	3
+			origin_attachment 	(362, 927)
+			terminal_attachment 	(362, 1315))
+		    (object UsesView "" @119
+			quidu      	"3587E1C4008C"
+			client     	@96
+			supplier   	@95
+			vertices   	(list Points
+			    (1981, 743)
+			    (1981, 1072)
+			    (631, 1072)
+			    (631, 1315))
+			line_style 	3
+			origin_attachment 	(1981, 743)
+			terminal_attachment 	(631, 1315))
+		    (object UsesView "" @120
+			quidu      	"3587E061038E"
+			client     	@96
+			supplier   	@110
+			line_style 	3
+			origin_attachment 	(1795, 687)
+			terminal_attachment 	(1134, 687))
+		    (object UsesView "" @121
+			quidu      	"3588F2E200FB"
+			client     	@96
+			supplier   	@111
+			line_style 	3
+			origin_attachment 	(1795, 353)
+			terminal_attachment 	(786, 353))))
+	    (object ClassDiagram "Client-side"
+		quid       	"3588FA630175"
+		title      	"Client-side"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object ClassView "Class" "RScheduler" @122
+			location   	(800, 672)
+			label      	(object ItemLabel
+			    Parent_View 	@122
+			    location   	(554, 291)
+			    nlines     	1
+			    max_width  	490
+			    justify    	0
+			    label      	"RScheduler")
+			quidu      	"3588FA6800AA"
+			compartment 	(object Compartment
+			    Parent_View 	@122
+			    location   	(544, 351)
+			    anchor     	2
+			    nlines     	14
+			    max_width  	519
+			    compartmentItems 	(list Compartment
+				"Register( )"
+				"CreatePersistentSchedule( )"
+				"DeleteSchedule( )"
+				"DisableSchedule( )"
+				"EnableSchedule( )"
+				"EditSchedule( )"
+				"ScheduleTask( )"
+				"DeleteTask( )"
+				"GetScheduleRefsL( )"
+				"GetScheduleL( )"
+				"GetTaskRefsL( )"
+				"GetTaskInfoL( )"
+				"GetTaskDataSize( )"))
+			width      	530
+			height     	786
+			autoResize 	TRUE)
+		    (object ClassView "Class" "TScheduleEntryInfo" @123
+			location   	(1792, 976)
+			label      	(object ItemLabel
+			    Parent_View 	@123
+			    location   	(1470, 820)
+			    nlines     	1
+			    max_width  	643
+			    justify    	0
+			    label      	"TScheduleEntryInfo")
+			quidu      	"3588FA7702BE"
+			compartment 	(object Compartment
+			    Parent_View 	@123
+			    location   	(1453, 880)
+			    anchor     	2
+			    nlines     	5
+			    max_width  	684
+			    compartmentItems 	(list Compartment
+				"iIntervalType : TIntervalType"
+				"iInterval : TInterval"
+				"iStartTime : TTime"
+				"iValidityPeriod : TTimeIntervalMinutes"))
+			width      	696
+			height     	336
+			autoResize 	TRUE)
+		    (object ClassView "Class" "TTaskInfo" @124
+			location   	(1600, 1408)
+			label      	(object ItemLabel
+			    Parent_View 	@124
+			    location   	(1460, 1252)
+			    nlines     	1
+			    max_width  	279
+			    justify    	0
+			    label      	"TTaskInfo")
+			quidu      	"3587DA760264"
+			compartment 	(object Compartment
+			    Parent_View 	@124
+			    location   	(1458, 1312)
+			    anchor     	2
+			    nlines     	5
+			    max_width  	281
+			    compartmentItems 	(list Compartment
+				"iRepeat : TInt"
+				"iName : TName"
+				"iTaskId : TInt"
+				"iPriority : TInt"))
+			width      	302
+			height     	336
+			autoResize 	TRUE)
+		    (object UsesView "" @125
+			quidu      	"3588FB460095"
+			client     	@122
+			supplier   	@123
+			line_style 	3
+			origin_attachment 	(1065, 956)
+			terminal_attachment 	(1444, 956))
+		    (object UsesView "" @126
+			quidu      	"3588FB490220"
+			client     	@122
+			supplier   	@124
+			vertices   	(list Points
+			    (819, 1065)
+			    (819, 1424)
+			    (1449, 1424))
+			line_style 	3
+			origin_attachment 	(800, 1065)
+			terminal_attachment 	(1449, 1408))
+		    (object NoteView @127
+			location   	(480, 1296)
+			label      	(object ItemLabel
+			    Parent_View 	@127
+			    location   	(258, 1118)
+			    nlines     	7
+			    max_width  	409
+			    label      	
+|This diagram shows the classes 
+|which are visible to clients: that is, they make up part of the interface
+			    )
+			width      	469
+			height     	369)
+		    (object ClassView "Class" "TScheduleState" @128
+			IncludeAttribute 	TRUE
+			location   	(1632, 560)
+			label      	(object ItemLabel
+			    Parent_View 	@128
+			    location   	(1471, 404)
+			    nlines     	1
+			    max_width  	320
+			    justify    	0
+			    label      	"TScheduleState")
+			quidu      	"358FA35103AF"
+			width      	346
+			height     	336
+			autoResize 	TRUE)
+		    (object UsesView "" @129
+			quidu      	"358FA3AB02BE"
+			client     	@122
+			supplier   	@128
+			line_style 	3
+			origin_attachment 	(1065, 659)
+			terminal_attachment 	(1459, 659))
+		    (object ClassView "Class" "TSchedulerItemRef" @130
+			location   	(1648, 208)
+			label      	(object ItemLabel
+			    Parent_View 	@130
+			    location   	(1463, 102)
+			    nlines     	1
+			    max_width  	368
+			    justify    	0
+			    label      	"TSchedulerItemRef")
+			quidu      	"358FAACE01FD"
+			compartment 	(object Compartment
+			    Parent_View 	@130
+			    location   	(1458, 162)
+			    anchor     	2
+			    nlines     	3
+			    max_width  	291
+			    compartmentItems 	(list Compartment
+				"iName : TName"
+				"iHandle : TInt"))
+			width      	398
+			height     	236
+			autoResize 	TRUE)
+		    (object UsesView "" @131
+			quidu      	"358FAB050351"
+			client     	@122
+			supplier   	@130
+			vertices   	(list Points
+			    (1022, 279)
+			    (1022, 222)
+			    (1449, 222))
+			line_style 	3
+			origin_attachment 	(1065, 302)
+			terminal_attachment 	(1449, 302))))
+	    (object ClassDiagram "Main"
+		quid       	"358F97CC011B"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    root_subsystem 	(object SubSystem "Component View"
+	quid       	"34B4B32D038C"
+	physical_models 	(list unit_reference_list)
+	physical_presentations 	(list unit_reference_list
+	    (object Module_Diagram "Main"
+		quid       	"358F97CC012E"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    process_structure 	(object Processes
+	quid       	"34B4B32D038D"
+	ProcsNDevs 	(list
+	    (object Process_Diagram "Deployment View"
+		quid       	"358F97CC011A"
+		title      	"Deployment View"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    properties 	(object Properties
+	attributes 	(list Attribute_Set
+	    (object Attribute
+		tool       	"cg"
+		name       	"roseId"
+		value      	"753117540")
+	    (object Attribute
+		tool       	"cg"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"project"
+			value      	" "))))
+	quid       	"34B4B32D038E"))