基于分布式工作流的时间管理模型.ppt

粒度转换算法描述 // 建立一个时间粒度参照表,unit1和unit2分别表示两个时间粒度,//num1和num2分别表示这两个粒度的对应数目 void Creat_GranularityTable (unit1, num1, unit2, num2) { InitGranularityTable ( ); //初始化粒度参照表,初始化工作包括 //两部分:一个是将表清空,另一个是建立缺省粒度转换关系, //如表GranularityTable if (IsLeapYear(this year)) //若是闰年,则重新设定粒度参照表 //的二月份天数为29 AlterGranularityTable (February, 1, day, 29); } 粒度转换算法描述 // 在粒度参照表中查找粒度unitA和unitB的关系及转换规则,以numA和numB返回。 void GranularityRelationship (in Unit unitA, int Unit unitB, out numA, out numB) { While (GranularityTable) //只要粒度参照表不空,就继续遍历该表, //直至找到满足条件的关系。 { VisitGranularityTable; if(unit1==unitAunit2==unitB) { numA = num1; numB = num2; break; } } } 时间点到时间段的计算 时间点px为        ,时间点py为        ,则时间点px和py之间的时间段为     ,if   =   and   =         -TU        ,if   =           and Seg(x,y)=   -TM        ,if               and   =     -TM(TU        ,  ,  ) 或者         -TU(TM        ,  ,  ),           if        and DWfS-TMM模型的时间一致性转化 首先,根据不同情况下用户的实际意愿进行工作时间的转换,包括从工作日天数转换到标准的日历天数和从标准的日历天数转换到工作日天数; 然后,进行不同时间空间(即不同时区,不同时间粒度)的时间转换,最后得到的就是符合要求的时间表示方式。 其中,不同时间空间的时间转换,存在两种转换方式: (1)先进行同一时区,不同时间粒度的时间转换,转换成同时间粒度,再进行同时间粒度,不同时区的时间转换。 (2)先进行同一时间粒度,不同时区的时间转换,转换为同时区时间,再进行同时区,不同时间粒度之间的转换。 静态设定时间的任务约束描述 DWfS-TMM模型的静态设定时间,包括:  活动( )的最小(记为 )执行时间  活动( )的最大(记为 )执行时间  流程( )传输的最小(记为 )时间  流程( )传输的最大(记为 )时间    的相对执行期间为    的相对传输时间为 动态运行时间的任务约束描述 DWfS-TMM模型的动态运行时间,包括: 活动的实际执行时间段 实际损耗标准日历时间 实际损耗工作日时间 流程传输的实际消耗时间 实际损耗标准日历时间 实际损耗工作日时间 动态运行时间的任务约束描述 活动 的实际损耗标准日历时间为: , if = and = -TU ,if  =                         and -TM ,if and = -TM(TU  , , ) or -TU(TM , ,  ), if and 活动 的实际损耗工作日时间为:  -k(7-D) (k N且k 0),若活动在某个工作周的工作                  间到达;    +n-1-(7-D) (  N且  1), 若活动在某个工作周的    

文档评论(0)

1亿VIP精品文档

相关文档