RDIPB - D-ENG - Engenharia
Permanent URI for this community
Browse
Browsing RDIPB - D-ENG - Engenharia by Author "Barros, João Paulo"
Now showing 1 - 5 of 5
Results Per Page
Sort Options
- A Case Study on Coloured Petri Nets in object-oriented analysis and designPublication . Barros, João Paulo; Jørgensen, Jens BækIn this paper,we first demonstrate how a coloured Petri nets(CPN) model can be used to capture requirements for a considered example system, an elevator controller. Then, we show how this requirements-level CPN model is transformed into a design-level object-oriented CPN model, which is structurally and conceptually closer to class diagrams and object-oriented programming languages. The CPN models reduce the gap between user-level requirements and the respective implementation, thus simplifying the imple- mentation or code generation. Finally, we discuss the code generation from object-oriented CPN models.
- CpPNeTS: uma classe de Redes de Petri de alto-nível: implementação de um sistema de suporte à sua aplicação e análisePublication . Barros, João PauloNesta dissertação é apresentado um sistema de suporte à aplicação de uma nova classe de Redes de Petri (RdP) de alto-nível (CpPNeTS), que permite a geração automática de código para controladores, nomeadamente controladores lógicos programáveis industriais. Inicia-se com uma breve apresentação das RdP, que dá especial ênfase às RdP de alto-nível e às RdP não-autónomas. Seguidamente, apresentam-se as CpPNeTS. Estas são RdP de alto-nível, hierárquicas e temporizadas, com capacidade de especificação de actuações externas e de sincronismo com eventos externos, em função da marcação da rede. A modelação do tempo permite a especificação, análise e simulação de sistemas com exigências de tempo real. A linguagem C++ é utilizada para as inscrições da rede. Define-se uma linguagem de descrição para CpPNeTS (CpPNeTS-DL) e descreve-se um pré-processador que permite traduzir a linguagem de descrição em código C++. Esse código é compilado e ligado com uma biblioteca C++ que implementa as funcionalidades do sistema. O programa executável resultante pode gerar uma máquina de estados ou um grafo de ocorrências a partir da rede descrita em CpPNeTS-DL. A biblioteca é facilmente extensível com vista a suportar outros tipos de análise e simulação da rede. Após uma descrição da estrutura e funcionalidades da biblioteca implementada, apresenta-se a aplicação dos programas desenvolvidos a vários exemplos usualmente referidos na literatura.
- Modularidade em Redes de PetriPublication . Barros, João PauloDesde o final da década de 60 que se debate a importância da utilização dos denominados métodos formais na Engenharia de Sistemas, em particular na Engenharia de Software. As redes de Petri constituem um método formal bem conhecido e ao qual são reconhecidas vantagens particulares, comparativamente a outras linguagens formais. No entanto, continuam a ser uma linguagem relativamente pouco conhecida fora da respectiva comunidade. Tal deve-se também ao facto de não existir uma quantidade suficiente de técnicas que permitam a sua fácil apreensão e utilização prática por parte de engenheiros sem formação ou experiência especial. Esta dissertação apresenta dois conjuntos de contribuições originais para contrariar esta situação: 1. Uma técnica, duas linguagens a ela associadas, e um tipo de diagramas, denominados diagramas de adição, para a especificação de composições e modificações de modelos em qualquer classe de redes de Petri. 2. Um conjunto de idiomas para a criação de modelos em redes de Petri construídos de acordo e com suporte para os principais conceitos do desenvolvimento orientado pelos objectos. O primeiro conjunto de contribuições é de aplicação geral a qualquer classe de redes de Petri definível na Petri Net Markup Language (PNML). Baseia-se no conceito de fusão de nós e define duas operações denominadas adição e subtracção. O segundo conjunto de contribuições permite a criação de modelos orientados pelos objectos, utilizando redes de Petri coloridas. Tal permite também uma melhor integração entre os modelos em redes de Petri e as metodologias de desenvolvimento de software orientadas pelos objectos. Em particular, permite especificar os principais conceitos do desenvolvimento orientado pelos objectos em redes de Petri. Finalmente, os diagramas de adição oferecem uma clara relação visual entre redes de Petri e diagramas de classes.
- On the use of programming languages for textual specification of Petri Net ModelsPublication . Barros, João Paulo; Gomes, LuísAs a general interchange format for Petri net models, the Petri Net Markup Language (PNML) allows the specification of Petri net models for all Petri net classes. Those models are typically generated by graphical editors for each Petri net type. Yet, there is no general way to specify Petri net models in a human-friendly textual notation. Instead of proposing a standard for such textual notation, this paper proposes the use of popular general purpose programming languages for the creation and modification of net models defined using PNML. To that end, the paper presents a model for the concepts, and the respective inter- relations, that should be available to define Petri net models in a compact textual format. After, it presents a general framework to specify model composition, using node fusion, for any Petri net class. The framework allows the specification of node fusions and node refinements based on the specification of fusions for each node and net label. The labels’ fusions are defined through the implementation of an abstract data type for the respective Petri net type definition. This allows a general support for model structuring, where several well-known graphical conveniences, e.g. node references and synchronous channels, can be supported and seen as particular cases.
- Towards the use of sequence diagrams as a learning aidPublication . Barros, João Paulo; Biscaia, Luís; Vitória, MiguelCompared to imperative programing, object-oriented programming brings additional complexities. These complexities are especially challenging for the novice and, as a consequence to the teacher. Hence, it is no surprise that the teaching and learning of object-oriented programming is an extremely popular topic in computer science education research. This work in progress paper presents the objectives and structure of a tool under development for novice object-oriented programmers that intends to ease code understanding. That is accomplished through the use of sequence diagrams, one of the most popular behavior diagrams in the Unified Modeling Language (OMG, 2011), the de facto standard for object- oriented modelling. More specifically, the tool allows the generation of execution traces as sequence diagrams: for a given program run, the student is able to visualize the respective execution as a sequence diagram. Next, we present the Java2Sequence tool.