4 Warm, pre-wetted sanding on compacted snow
4.2 Test details
Com o objetivo de automatizar o processo de mapeamento de modifica¸c˜oes de pro- cessos utilizando a extens˜ao BPMNt++, apresentado na Se¸c˜ao 5.2, foi elaborado um prot´otipo de ferramenta que apresenta graficamente as adapta¸c˜oes realizadas entre duas vers˜oes de um processo modelado em BPMN. Esta ferramenta foi elaborada de forma a facilitar a aplica¸c˜ao da t´ecnica desenvolvida por este trabalho, automati- zando todas as tarefas de compara¸c˜ao, identifica¸c˜ao de opera¸c˜oes e exibi¸c˜ao gr´afica da diferen¸ca entre os processos.
Afim de guiar a constru¸c˜ao do prot´otipo da ferramenta, foram elaborados os seguintes requisitos:
• Requisito 1: A ferramenta deve ser capaz de receber como entrada duas vers˜oes de um mesmo processo modelado em BPMN, e apresentar as modi- fica¸c˜oes ocorridas, seguindo a t´ecnica de identifica¸c˜ao de adapta¸c˜oes utilizando a extens˜ao BPMNt++;
• Requisito 2: A ferramenta deve apresentar uma interface gr´afica amig´avel e de simples visualiza¸c˜ao, auxiliando seu usu´ario a identificar as modifica¸c˜oes; • Requisito 3: A ferramenta deve identificar as adapta¸c˜oes que ocorreram,
auxiliando o usu´ario a determinar a origem da adapta¸c˜ao e seu resultado; • Requisito 4: A ferramenta deve ser desenvolvida em c´odigo aberto e permitir
sua execu¸c˜ao em m´ultiplas plataformas.
Para a implementa¸c˜ao do prot´otipo da ferramenta e dos requisitos definidos, opou-se por reutilizar parte do c´odigo disponibilizado pelo projeto bpmn-js1. O
bpmn-js ´e modelador de processos em BPMN, desenvolvido de forma colaborativa e em c´odigo aberto, que utiliza a linguagem JavaScript para definir suas fun¸c˜oes. Por utilizar essa linguagem de programa¸c˜ao, este projeto pode ser acessado via navegador Web, permitindo que dispositivos de diferentes plataformas e sistemas operacionais
possam utiliz´a-lo. Esse modelador possui uma interface gr´afica baseada no conceito clica-e-arrasta, amplamente utilizado para facilitar a experiˆencia do usu´ario na uti- liza¸c˜ao do sistema. O reuso de seu c´odigo possibilitou um desenvolvimento mais r´apido do prot´otipo, al´em de aproveitar algumas funcionalidades j´a prontas, como a interface gr´afica desenvolvida para o BPMN. O projeto bpmn-js possui licen¸ca de reuso pr´opria, permitindo o reaproveitamento de seu c´odigo para qualquer finalidade mediante a exibi¸c˜ao da logomarca do projeto no canto inferior direito da aplica¸c˜ao. O bpmn-js ´e uma ferramenta que permite tanto a modelagem em BPMN de um novo processo, quanto a edi¸c˜ao de um processo j´a existe. Entretanto, optamos por remover ambas as funcionalidades para evitar que o usu´ario fa¸ca modifica¸c˜oes no processo sem utilizar as opera¸c˜oes definidas pela extens˜ao BPMNt++. Desta forma, definimos que a entrada do sistema ser´a dois processo BPMN, no formato XML definido pela nota¸c˜ao, sendo um referente ao processo-base, e outro referente ao processo adaptado.
Para possibilitar a compara¸c˜ao entre as vers˜oes do processo, a ferramenta de apoio foi estruturada de forma a receber dois arquivos no formado XML, definindo os elementos modelados para o processo. Esses arquivos s˜ao validados quanto a estrutura¸c˜ao dos elementos, segundo a nota¸c˜ao do BPMN. Essa funcionalidade foi desenvolvida atrav´es de uma tela que antecede a exibi¸c˜ao da diferen¸ca, sendo de- monstrada na Figura 5.8.
Figura 5.8: Tela inicial da ferramenta de apoio ao mapeamento de adapta¸c˜oes se- guindo a extens˜ao BPMNt++. Figura criada pelo autor.
Com a inser¸c˜ao e valida¸c˜ao dos arquivos XML, a ferramenta de apoio inicializa seu trabalho de compara¸c˜ao seguindo as etapas definidas na Se¸c˜ao 5.2. Neste caso, a primeira etapa executada ´e a de identifica¸c˜ao das mudan¸cas ocorridas no processo, sendo realizada seguindo a t´ecnica de delta-diffing XML [53]. Essa etapa da ferra-
menta foi baseada em outra ferramenta de c´odigo aberto, denominada Node Delta2, que identifica as mudan¸cas ocorridas entre dois arquivos XML utilizando a t´ecnica de an´alise delta.
Com as mudan¸cas no processo j´a identificadas, foi elaborado algoritmo na lin- guagem Javascript para determinar as opera¸c˜oes realizadas. Este algoritmo foi es- truturado de forma semelhante ao processo de decis˜ao da opera¸c˜ao de adapta¸c˜ao, apresentado na Figura 5.1. Essa etapa foi necess´aria em fun¸c˜ao da t´ecnica de delta- diffing XML s´o identificar inclus˜oes, exclus˜oes ou altera¸c˜oes no arquivo. Desta forma, o sistema consegue identificar as opera¸c˜oes que foram realizadas no processo, cum- prindo a segunda etapa do processo de mapeamento.
A estrutura¸c˜ao das opera¸c˜oes seguindo o cat´alogo da extens˜ao BPMNt++ ´e realizada atrav´es de algoritmo desenvolvido na linguagem Javascript. Esse algoritmo identifica o elemento que sofreu a modifica¸c˜ao e determina as opera¸c˜oes necess´arias, buscando os parˆametros atrav´es do arquivo XML fornecido como entrada no sistema. Com as opera¸c˜oes identificadas e estruturadas seguindo a especifica¸c˜ao da ex- tens˜ao BPMNt++, a ferramenta de apoio renderiza a modelagens das duas vers˜oes do processo, colocando a vers˜ao original no lado esquerdo da tela do usu´ario, en- quanto a vers˜ao adaptada fica no lado direito. Essa exibi¸c˜ao ´e realizada seguindo a nota¸c˜ao do BPMN e da extens˜ao BPMNt++, destacando as adapta¸c˜oes segundo as cores apresentadas na Se¸c˜ao 5.3. A Figura 5.9 exemplifica a forma como a ferramenta de apoio exibe a compara¸c˜ao das vers˜oes do processo.
Figura 5.9: Tela da ferramenta de apoio exibindo as diferen¸cas entre vers˜oes do processo seguindo a nota¸c˜ao gr´afica para a extens˜ao BPMNt++. Figura criada pelo autor.
Al´em de reproduzir as etapas do processo de mapeamento de adapta¸c˜oes, a fer- ramenta de apoio possui um potencial para auxiliar o usu´ario de forma dinˆamicas. Desta forma, foi introduzida na ferramenta um componente que identifica visual- mente a origem da adapta¸c˜ao, quando houver adapta¸c˜ao em um elemento selecio- nado no processo adaptado; e identifica visualmente se h´a alguma adapta¸c˜ao para um elemento, quando o elemento for selecionado no processo original. As Figuras 5.10 e 5.11 exemplificam essa situa¸c˜ao.
Figura 5.10: Destaque da opera¸c˜ao renameData para o artefato “Artefato 1”na ferramenta de apoio. Figura criada pelo autor.
Figura 5.11: Destaque da opera¸c˜ao renamePool para o participante “Participante A”na ferramenta da apoio. Figura criada pelo autor.
´
E poss´ıvel observar que na Figura 5.10, quando o artefato “Artefato 1”, presente no processo original, ou o artefato “Artefato 2”, presente no processo adaptado s˜ao selecionados, ambos os artefatos s˜ao destacados na cor laranja, indicando que o “Ar- tefato 1”no processo original foi renomeado para “Artefato 2”no processo adaptado. Algo semelhante ´e realizado na Figura 5.11, quando o clique nos participantes indica que houve a renomea¸c˜ao deles entre as vers˜oes original e adaptada.
Esse destaque dado `a origem e ao destino da adapta¸c˜ao ´e fundamental para auxiliar na rastreabilidade das modifica¸c˜oes, j´a que realizar esta tarefa manualmente n˜ao ´e simples. Esse assunto voltar´a a ser discutido atrav´es do resultados identificados na avalia¸c˜ao deste trabalho, sendo apresentado na Se¸c˜ao 6.4.
A ferramenta de apoio ao mapeamento de adapta¸c˜oes foi colocada em execu¸c˜ao na plataforma Heroku3, permitindo su utiliza¸c˜ao por qualquer usu´ario, a qual- quer momento. Para acessar a ferramenta, foi disponibilizado endere¸co Web https://bpmnt-plus-plus.herokuapp.com.
Al´em do amplo acesso disponibilizado atrav´es da hospedagem da ferra- menta na plataforma Heroku, este trabalho disponibilizou o c´odigo-fonte da ferramenta de apoio atrav´es da plataforma GitHub4, permitindo que outros
usu´arios possam reaproveitar as funcionalidades desenvolvidas ou evoluir o sis- tema. O c´odigo fonte do projeto est´a dispon´ıvel, sob a licen¸ca GPL-3.0, em https://github.com/brixtal/bpmntpp-visualizer-modeler.
5.6
Conclus˜ao
Tendo em vista a dificuldade de identifica¸c˜ao de modifica¸c˜oes em processos de neg´ocio [8–12], este cap´ıtulo apresentou o desenvolvimento da t´ecnica de identi- fica¸c˜ao de adapta¸c˜oes em processos sob as perspectivas organizacional ou informa- cional, apresentado na Se¸c˜ao 5.2. Tamb´em foi apresentada, na Se¸c˜ao 5.5, uma ferramenta de apoio, baseada na t´ecnica de identifica¸c˜ao de adapta¸c˜oes de proces- sos, automatizando o trabalho de execu¸c˜ao das etapas da identifica¸c˜ao das opera¸c˜oes aplicadas durante a adapta¸c˜ao.
Para o desenvolvimento da t´ecnica, foram definidos 3 requisitos, descritos na Se¸c˜ao 5.2. Os trˆes requisitos foram levados em considera¸c˜ao no desenvolvimento da solu¸c˜ao, garantindo que a t´ecnica possibilitasse a identifica¸c˜ao e estrutura¸c˜ao de adapta¸c˜oes de processos de neg´ocio atrav´es das 4 etapas desenvolvidas com base em trabalhos semelhantes. Tamb´em garantiu que o adaptador do processo obtivesse uma r´apida identifica¸c˜ao das modifica¸c˜oes realizadas atrav´es da nota¸c˜ao gr´afica de- senvolvida para a extens˜ao BPMNt++, apresentada na Se¸c˜ao 5.3. Por fim, a t´ecnica
3https://www.heroku.com/ 4https://www.github.com
tamb´em permitiu a compara¸c˜ao de qualquer processo modelado na nota¸c˜ao BPMN atrav´es da utiliza¸c˜ao da extens˜ao BPMNt++.
O desenvolvimento da ferramenta de apoio `a t´ecnica de identifica¸c˜ao de adapta¸c˜oes tamb´em foi guiada atrav´es 4 requisitos, definidos na Se¸c˜ao 5.5. Estes requisitos garantiram que a ferramenta fosse capaz de seguir as etapas definidas pela metodologia apresentada na Se¸c˜ao 5.2 atrav´es da estrutura¸c˜ao das tarefas na lingua- gem Javascript; apresentar uma interface gr´afica amig´avel ao usu´ario ao reutilizar parte do c´odigo do projeto bpmn-js; identificar as adapta¸c˜oes ocorridas no processo, atrav´es da exibi¸c˜ao dos resultados pela nota¸c˜ao definida para a BPMNt++, apresen- tada na Se¸c˜ao 5.3; e garantiu que o c´odigo do projeto permanecesse aberto, atrav´es da disponibiliza¸c˜ao do sistema no reposit´orio GitHub.
Com a t´ecnica e a ferramenta desenvolvidas e apresentadas, o Cap´ıtulo 6 apre- sentar´a uma avalia¸c˜ao das contribui¸c˜oes apresentados neste trabalho, validando os resultados obtidos nesta pesquisa.
Cap´ıtulo 6
Avalia¸c˜ao dos resultados
6.1
Introdu¸c˜ao
Seguindo a metodologia apresentada na Se¸c˜ao 1.5, tanto a extens˜ao BPMNt++, quanto a t´ecnica de identifica¸c˜ao de adapta¸c˜oes em processos de neg´ocio sob as pers- pectivas organizacional ou informacional, devem ser avaliados para confirmar sua validade para a solu¸c˜ao dos problemas apresentados na Se¸c˜ao 1.2. Sem esta etapa, este trabalho n˜ao poderia ser considerado um corpo de conhecimento cient´ıfico, tor- nando seus resultados question´aveis sob o ponto de vista de outros pesquisadores [58].
Para a avalia¸c˜ao da extens˜ao BPMNt++, foi observado que a reprodu¸c˜ao de adapta¸c˜oes definidas por especialistas para processos de neg´ocio reais pode ser mais apropriado para este contexto [25]. J´a para a avalia¸c˜ao da t´ecnica de identifica¸c˜ao de adapta¸c˜oes, foi observado a necessidade da realiza¸c˜ao de uma avalia¸c˜ao experimental com a participa¸c˜ao de volunt´arios, j´a que a solu¸c˜ao proposta por este trabalho envolve quest˜oes subjetivas de visualiza¸c˜ao e percep¸c˜ao de aprimoramento em uma determinada atividade.
Desta forma, este cap´ıtulo se organiza da seguinte forma: a Se¸c˜ao 6.2 apresenta o plano de avalia¸c˜ao para as solu¸c˜oes propostas por este trabalho, sendo apresen- tados os objetivos e defini¸c˜oes do estudo. A se¸c˜ao 6.3 descreve os resultados da avalia¸c˜ao da extens˜ao BPMNt++, apresentando os contextos onde a extens˜ao foi avaliada e as forma como as opera¸c˜oes foram aplicadas a estes contextos. A Se¸c˜ao 6.4 apresenta os preparativos para a execu¸c˜ao da experimenta¸c˜ao, apresentando em seguida os resultados das itera¸c˜oes realizadas para esta etapa da avalia¸c˜ao. A Se¸c˜ao 6.5 apresenta as amea¸cas `a validade que foram identificadas durante a execu¸c˜ao da avalia¸c˜ao das avalia¸c˜oes presentes neste cap´ıtulo. Por fim, a Se¸c˜ao 6.6 apresenta uma breve conclus˜ao sobre os resultados obtidos durante as avalia¸c˜oes apresentadas neste cap´ıtulo.