carDispatched | passengerPickedUp | passengerDroppedOff | |
---|---|---|---|
Descrição | evento relatando que uma limusine foi despachada para uma viagem | evento relatando que o passageiro foi apanhado | evento relatando a conclusão da viagem (chegada no destino) |
Nome e identificador de parte do evento | conteúdo | Conteúdo | conteúdo |
Tipo de parte do evento | lmo:dispatchLimousine | lmo:pickUpPassenger | lmo:dropOffPassenger |
Caminho de parte do evento | cbe:CommonBaseEvent/lmo:dispatchLimousine | cbe:CommonBaseEvent/lmo:pickUpPassenger | cbe:CommonBaseEvent/lmo:dropOffPassenger |
Condições de Filtro | fn:exists( carDispatched/content/lmo:limousineID ) | fn:exists( passengerPickedUp/content/lmo:limousineID ) | fn:exists( dropOffPassenger/content/lmo:limousineID ) |
Expressão de correlação | carDispatched/content/lmo:tripID=tripKey | passengerPickedUp/content/lmo:limousineID=limusine e tripStatus='apanhando passageiro' | passengerDroppedOff/content/lmo:limousineID=limusine e tripStatus='passageiro a bordo' |
Nenhuma instância localizada | Criar nova instância | Tratar como erro | Tratar como erro |
Uma instância localizada | Tratar como erro | Entregar para a instância | Entregar para a instância |
Várias instâncias localizadas | Tratar como erro | Tratar como erro | Tratar como erro |
Nome | Descrição | Tipo | Valor padrão | Outro |
---|---|---|---|---|
tripKey | identificador exclusivo para esta viagem | xs:string | Chave MC; comprimento <= 64 | |
dropOffActualTime | hora real da chegada do passageiro | xs:dateTime | ||
dropOffScheduledTime | a hora planejada da chegada do passageiro | xs:dateTime | ||
dropOffAddress | o endereço de destino da viagem | xs:string | comprimento <= 256 | |
driver | o nome do motorista | xs:string | comprimento <= 64 | |
limusine | o número da limusine despachada para esta viagem | xs:integer | ||
passenger | o nome do passageiro | xs:string | comprimento <=64 | |
pickUpAddress | o endereço da saída do passageiro | xs:string | comprimento <= 256 | |
pickUpActualTime | a hora real da saída do passageiro | xs:dateTime | ||
pickUpScheduledTime | a hora planejada da saída do passageiro | xs:dateTime | ||
pickUpWasLate | indicador de que a saída do passageiro demorou mais de 10 minutos | xs:boolean | fn:false() | |
timeDispatched | hora na qual o carro foi despachado para esta viagem | xs:dateTime | ||
tripDuration | a duração da viagem | xs:duration | ||
tripStatus | 'apanhando passageiro'/'passageiro a bordo'/'concluída a tempo'/'não concluída a tempo'/'desconhecido' | xs:string | 'desconhecido' | comprimento <= 24 |
Métrica | Mapa |
---|---|
tripKey | carDispatched/content/lmo:tripId |
dropOffActualTime | passengerDroppedOff/content/lmo:timestamp |
dropOffScheduledTime | carDispatched/content/lmo:dropOffTime |
dropOffAddress | fn:concat(carDispatched/content/lmo:dropOffAddress/lmo:street, ', ', carDispatched/content/lmo:dropOffAddress/lmo:city) |
driver | carDispatched/content/lmo:driver |
limusine | carDispatched/content/lmo:limousineId |
passenger | carDispatched/content/lmo:passenger |
pickUpAddress | fn:concat(carDispatched/content/lmo:pickUpAddress/lmo:street, ', ', carDispatched/content/lmo:pickUpAddress/lmo:city) |
pickUpActualTime | passengerPickedUp/content/lmo:timestamp |
pickUpScheduledTime | carDispatched/content/lmo:pickUpTime |
pickUpWasLate | if ( fn:exists( pickUpActualTime ) ) then pickUpActualTime > pickUpScheduledTime+ xs:dayTimeDuration('PT10M') else pickUpWasLate |
timeDispatched | carDispatched/content/lmo:timestamp |
tripDuration | if (fn:exists(dropOffActualTime) and fn:exists(timeDispatched)) then dropOffActualTimel - timeDispatched else tripDuration |
tripStatus | if ( fn:exists( dropOffActualTime ) ) then ( if ( dropOffActualTime <= dropOffScheduledTime ) then 'completed on time' else 'completed not on time' ) else if ( fn:exists( pickUpActualTime ) ) then 'passenger on board' else if ( fn:exists( timeDispatched ) ) then 'picking up passenger' else 'unknown' |
Agora você está pronto para implementar o modelo do monitor. Lição 1.4: Implementando o modelo de monitor.