Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

NCM. Considere, por exemplo, uma restrição especificando que um nó deveterminar sua apresentação ao mesmo tempo que outro começa a dele. Aocorrência de uma apresentação sem a ocorrência da outra também satisfaz arestrição, que especifica que, se e somente se esses dois nós foremapresentados, seus tempos de fim e início, respectivamente, devem coincidir.Para capturar relações causais e de restrição, conectores sãoespecializados em conectores causais e conectores de restrição. Em ambos ostipos, a definição de um conector é feita por um conjunto de papéis (roles)que determinam a função dos participantes da relação e um atributo glue, quedescreve como os papéis interagem. A definição de papéis é baseada noconceito de evento (Seção C.8). Cada papel descreve um evento associado aum participante da relação e o glue descreve a combinação entre os eventosde acordo com a semântica de causalidade ou de restrição.Cada papel de um conector define um identificador único (id) noconjunto de papéis do conector, um tipo de evento e sua cardinalidade. O tipode evento (event type) especifica o nome de uma das especializações da classeevento. A Tabela C.2 descreve os nomes para os tipos de evento NCM. Acardinalidade de um papel indica o número mínimo e máximo de participantesque podem desempenhar o papel (número de binds) quando esse conector forusado na criação de um elo, como será definido posteriormente.Tabela C.2 Definições dos nomes para os tipos de evento dos conectores NCMEspecialização do EventoEvento de apresentaçãoEvento de seleçãoEvento de superposição dodispositivo apontadorEvento de arrasteEvento de atribuiçãoEvento de focoEvento de colisãoEvento de proximidadeNome para o Tipo de EventopresentationselectionpointOverdragattributionfocuscollisionproximityPapéis são especializados em condição (condition), ação (action) eavaliação (assessment). Diferentes tipos de papéis são usados de acordo como tipo de conector. Em conectores de restrição, somente papéis do tipoavaliação devem ser usados. Em conectores causais, qualquer tipo de papelpode ser usado. A Figura C.7 apresenta a hierarquia de classe dos papéis deconectores NCM.478

RoleideventTypeminCardinalitymaxCardinality2..nCondition condition ConditionRole11ActionRoleActionactionactionTypedelay11 repetitionsdelayBetweenRep1CompoundConditionoperatorisNegatedSimpleConditionAssessmentRoleassessment1 1AssessmentoffsetAssignmentActionvalueEventStateTransitionConditiontransitionNameSimpleComparisonConditionattributeNamecomparatorvalueEventAttributeAssessmentattributeNameEventStateTransitionAssessmenttransitionNameNodeAttributeAssessmentattributeNameEventAttributeConditionattributeNamecomparatorvalueNodeAttributeConditionattributeNamecomparatorvalueFigura C.7 Hierarquia de classes dos papéis de conectores NCM.Papéis do tipo ação (action roles) capturam ações que devem serexecutadas em uma relação causal. Os tipos de ação estão ilustrados naFigura C.4 por arcos rotulados, que causam transições na máquina deestados. Além de seu tipo, a ação de um papel pode definir um valor (value) aser imposto a um atributo participante (no caso de eventos de atribuição). Umexemplo de papel do tipo ação é “pause a exibição de um evento deapresentação”.Ações NCM podem ser estendidas. Por exemplo, ações de animaçãopodem ser especificadas definindo um valor inicial, um valor final e umaduração para que uma atribuição seja realizada (por exemplo, a posição x doobjeto na tela, em um eixo de coordenadas x e y).Em conectores causais, condições devem ser satisfeitas para disparar asações. As condições são capturadas por papéis do tipo condição (conditionrole), que definem expressões lógicas avaliando transições nos estados doseventos, valores de atributos dos eventos ou valores de atributos dos nós.Quando uma condição é avaliada, ela retorna um valor booleano.As condições podem ser simples ou compostas. Uma condição simples(simple condition) pode testar uma transição de estado de um evento, o valorde um atributo de um evento ou o valor de um atributo de um nó. No caso dacondição sobre transição de estado do evento (chamada event statetransitioncondition), o resultado do teste é considerado verdadeiro apenas nomomento em que a transição ocorre, especificada em seu atributo nome datransição (transition name), conforme definido na Tabela C.3. A condiçãosobre atributo (attribute condition) deve especificar o tipo do atributo a ser479

RoleideventTyp<strong>em</strong>inCardinalitymaxCardinality2..nCondition condition ConditionRole11ActionRoleActionactionactionTypedelay11 repetitionsdelayBetweenRep1CompoundConditionoperatorisNegatedSimpleConditionAssessmentRoleassessment1 1AssessmentoffsetAssignmentActionvalueEventStateTransitionConditiontransitionNameSimpleComparisonConditionattributeNamecomparatorvalueEventAttributeAssessmentattributeNameEventStateTransitionAssessmenttransitionNameNodeAttributeAssessmentattributeNameEventAttributeConditionattributeNamecomparatorvalueNodeAttributeConditionattributeNamecomparatorvalueFigura C.7 Hierarquia de classes dos papéis de conectores NCM.Papéis do tipo ação (action roles) capturam ações que dev<strong>em</strong> serexecutadas <strong>em</strong> uma relação causal. Os tipos de ação estão ilustrados naFigura C.4 por arcos rotulados, que causam transições na máquina deestados. Além de seu tipo, a ação de um papel pode definir um valor (value) aser imposto a um atributo participante (no caso de eventos de atribuição). Umex<strong>em</strong>plo de papel do tipo ação é “pause a exibição de um evento deapresentação”.Ações NCM pod<strong>em</strong> ser estendidas. Por ex<strong>em</strong>plo, ações de animaçãopod<strong>em</strong> ser especificadas definindo um valor inicial, um valor final e umaduração para que uma atribuição seja realizada (por ex<strong>em</strong>plo, a posição x doobjeto na tela, <strong>em</strong> um eixo de coordenadas x e y).Em conectores causais, condições dev<strong>em</strong> ser satisfeitas para disparar asações. As condições são capturadas por papéis do tipo condição (conditionrole), que defin<strong>em</strong> expressões lógicas avaliando transições nos estados doseventos, valores de atributos dos eventos ou valores de atributos dos nós.Quando uma condição é avaliada, ela retorna um valor booleano.As condições pod<strong>em</strong> ser simples ou compostas. Uma condição simples(simple condition) pode testar uma transição de estado de um evento, o valorde um atributo de um evento ou o valor de um atributo de um nó. No caso dacondição sobre transição de estado do evento (chamada event statetransitioncondition), o resultado do teste é considerado verdadeiro apenas nomomento <strong>em</strong> que a transição ocorre, especificada <strong>em</strong> seu atributo nome datransição (transition name), conforme definido na Tabela C.3. A condiçãosobre atributo (attribute condition) deve especificar o tipo do atributo a ser479

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!