Ulisses Telemaco edited Problemas.md  almost 9 years ago

Commit id: b67f1378934d9085ba185b6be66316b7945cfec3

deletions | additions      

       

#Principais Problemas #Desafios  com Composição de Processos A Composição de Processos é uma operação complexa que envolve uma série de questões. problemas.  A seguir, serão apresentados os principais problemas associados a esse tipo de operação: ## Normalização dos Conceitos usados na representação Termos de Representação  dos Elementos Um PDS é formado minimamente pelos seguintes elementos: Eventos, Atividades, Artefatos e Papéis. Se considerarmos a notação BPMN, Extendendo um pouco  essa lista pode ser extendida com: podemos citar:  Regras de Negócio, Mensagens, Swimming Lanes, etc. Ao compor processos distintos, não existe nenhuma garantia que elementosiguais -  com o mesmo valor semântico-  tenham sido representados com os mesmos termos. Assim, um dos desafios da Composição de Processos é normalizar todos os termos equivalentes que receberam identificações distintas nos processos que estão sendo combinados. A Composição composição  de Processos deve ser capaz de identificar os as  termos equivalentes (que são descritos de forma distintas mas que tem o mesmo valor semântico) e normalizar a sua representação. O Processo resultante de uma Composição de Processos não deverá conter termos ambíguos. ## Normalização da Granularidade de Representação dos Elementos  A Normalização de Granularidade é um desafio semelhante ao problema de Normalização de Conceitos. Termos.  Isso porque os elementos que compõem os PDS's que estão sendo combinados podem ter sido representados com diferentes níveis de granularidade. A operação de Composição de Processos deve ser capaz de identificar essa diferença (quando ela ocorrer) e ser capaz de normalizar a granularidade de representação desses elementos. O Processo resultante de uma Composição de Processos não deverá conter elementos com níveis de granularidade distintos. ## Regras de Composição  As Regras de Composição são mecanismos para indicar a dependência ou exclusão mútua entre componentes reutilizáveis \cite{Oliveira2006}. Essas regras Elas  podem ser classificadas em **inclusivas** e **exclusivas**. A primeira define relações de dependência entre Processos indicando que eles devem ser usados em conjunto. Já a segunda indica uma relação de exclusão mútua entre Processos, ou seja, indica que quando  dois PDS (ou fragmentos de um PDS) não podem ser utilizados em conjunto. A Operação de Composição de Processos deve ser capaz de lidar com essas regras e garantir que o Processo resultante seja consistente com as regras de composição especificadas. ## Definição de Ordem (Paralelismo, Sequencial)  Outro problema ao compor dois Processos está na forma como as atividades no Processo resultante deverão ser combinadas. Simplificadamente - para efeito de entendimento do problema - a decisão a ser tomara é se os processos serão combinados de forma sequencial ou paralela. \cite{Istoan_2012} propõe operadores para a notação BPMN que permitem combinar processos de forma sequencial ou paralela. No entanto, num contexto mais realista, a combinação das tarefas durante a Composição de Processos poderá assumir um fluxo mais complexo: com sequenciamentos e paralelismos sendo combinados de forma intercalar. Uma ferramenta/notação que suporte a operação de Composição de Processos deverá oferecer mecanismos para que essas decisões de ordenamento sejam realizadas de forma apropriada.  ## Unificação Definição  de Atividades Semelhantes  Considere o seguinte requisito: Ordem (Paralelismo, Sequencial, Síncrono)  Outro problema  ao compor dois Processos de Software que possuem uma atividade semelhante, o está na forma como as atividades no  Processode Software  resultante não deverá apresentar deverão ser sequenciadas. Simplificadamente,  a atividade duplicada. Ao invés disso, o Processo resultante deverá conter apenas uma atividade desse tipo. A operação de Composição, portanto, decisão que  deverá ser capaz tomada é se os processos serão combinados  de identificar esse requisito e unificar as forma sequencial ou paralela. Num contexto mais complexo, a organização das  tarefas semelhantes. poderá ou através de um fluxo mais complexo que envolve paralelismo e sequenciamento. Esse é um problema bastante complexo e provavelmente irá depender de alguma intervenção manual.  ## Exclusão Essa decisão de ordenamento deverá ser feita no momento da Composição - através da intervenção manual  deAtividades Desnecessárias  Esse é  um problema semelhante ao problema usuário - ou descrita através  de Unificação regras  de Atividades. No entanto, ao invés de tentar unificar tarefas semelhantes, definição de ordenamento.   \cite{Istoan_2012} propõe por exemplo operadores para a notação BPMN que permitem combinar processos de forma sequencial ou paralela. A Composição de Processos deverá tratar  esse problema consiste em tentar identificar (e remover) no Processo resultante tarefas e conseguir definir   #LPS e BPMS  Um PDS é formalizado através de um LPS (Linguagem de Processos de Software) e o seu gerenciamento ocorre através de um BPMS (Business Process Management System). É improvável  que se tornaram desnecessárias nesse novo Processo. Uma tarefa pode uma solução de Composição de Processos seja proposta a partir da melhoria de apenas um desses elementos (LPS ou BPMS). É esperado que exista uma mudança conjunta desses elementos. A notação deverá  ser tornar desnecessária, capaz de representar informações importantes para realizar a composição de Processos como: nível de granularidade dos elementos, regras de composição, regras de sequenciamento, etc. A BPMS  por exemplo, num cenário onde ela é subtarefa sua vez, deverá ser capaz  de outra tarefa no Processo. Uma operação interpretar essas informações e realizar atividades como: normalização  de conceitos e granularidade, inclusão de PDS (ou fragmentos de PDS) requerido, exclusão de PDS (ou de um fragmento de PDS) incompatível com um PDS utilizado, reordenamento de atividades, etc.  # Desenvolvimento para Reutilização e Desenvolvimento com Reutilização  Enquanto o Desenvolvimento para Reutilização se refere a atividade de elaborar um componente de software reutilizável, o Desenvolvimento com Reutilização representa gerar um novo componente de software a partir de componentes reutilizáveis. A  Composição de Processo Processos  deverá ser capaz alcançada a partir de atividades executadas nesses dois momentos. No Desenvolvimento de Processos para Reutilização, o PDS deverá ser elaborado com informações relativas à operação de Composição. O Desenvolvimento de Processos com Reutilização, por sua vez, deverá considerar as informações geradas na etapa anterior, executar a composição  de identificar tarefas desnecessárias Processos propriamente dita  e removê-las do processo resultante. gerar Processos consistentes.