9 research outputs found

    Pragmatics Annotated Coloured Petri Nets for Protocol Software Generation and Verification

    Get PDF
    Abstract. PetriCode is a tool that supports automated generation of protocol software from a restricted class of Coloured Petri Nets (CPNs) called Pragmatics Annotated Coloured Petri Nets (PA-CPNs). PetriCode and PA-CPNs have been designed with five main requirements in mind, which include the same model being used for verification and code generation. The PetriCode approach has been discussed and evaluated in earlier papers already. In this paper, we give a formal definition of PA-CPNs and demonstrate how the specific structure of PA-CPNs can be exploited for verification purposes

    Aspect-oriented model-driven code generation approach for improving code reusability and maintainability

    Get PDF
    Software development teams always need methods that can help in producing high-quality software with reduced development effort and delivery time. Model-Driven Engineering (MDE) as well as Aspect-Oriented Software Development (AOSD) techniques help in reducing the delivery time, and also positively contribute to quality of the produced software. Through the use of AOSD techniques in combination with MDE, an integration of excellent abstraction mechanisms of MDE and capabilities of AOSD with regards to modularity and composition of concerns can be perceived, which is expected to enhance the positive effects of both techniques. To this end, different integration approaches have appeared in literature, but aspect-oriented code generation has advantages over the other approaches. Consequently, a number of aspect-oriented code generation approaches have been offered, but all such approaches lack several features mandatory to materialize a workable integration of aspect technologies in the context of MDE. To address these issues, this research was conducted to present an approach for aspect-oriented model-driven code generation, which focuses on elaborating the conceptual relationship between design models and the implementation code, and exploits the same to obtain aspect-oriented code that is more reusable and maintainable. The key outcomes of this research are the elaboration of the conceptual mappings between elements of visual design and constructs of the code, mapping of the visual models to implementation-specific text-based models, and a technique for generation of aspect-oriented code. The applicability of the proposed approach is shown by the use of case studies, whereas the quality of the approach is measured using reusability and maintainability metrics. A comparison of the proposed approach with existing approaches substantiates its efficacy in terms of reusability and maintainability of code, showing an outperformance of other approaches by the proposed approach against 78% of the employed quality metrics

    Desenvolvimento de uma ferramenta de geração de código para um sistema de informação

    Get PDF
    A análise de requisitos de software e design de software são tradicionalmente inconsistentes, nomeadamente na perspetiva de modelação de negócios, software e rastreabilidade de implementação [1]. Este problema poderá fazer com que a fase de desenvolvimento dos projetos seja um processo mais demorado que o esperado, e quando um dos modelos sofre uma alteração também poderá fazer com que potencialmente não esteja garantida a rastreabilidade, a partir de qualquer um dos modelos, até à implementação do código. O problema maior das possíveis alterações dosrequisitos e de não ser mantida a atualização dos modelos, é que por vezes a adaptação de um sistema, já implementado ou em vias de implementação, não é simples, podendo fazer com que estas alterações tenham um custo elevado, tal como um impacto negativo relativamente ao tempo de implementação, podendo inclusivamente inviabilizar o projeto [2]. O objetivo deste projeto passa pelo desenvolvimento de uma ferramenta que permita gerar o código que possa ser utilizado, por sua vez, no Hydra Code Generator para gerar o código para a plataforma Hydra, de forma a estabelecer uma relação direta entre a modelação do negócio e a implementação, e assim acelerar o processo de implementação do software, e tornar a fase de desenvolvimento de software mais rápida e automatizada. O código deverá ser gerado tendo em conta uma modelação de um processo de negócio. A modelação será assim baseada numa abordagem aplicada a uma ferramenta de geração de código para a framework Hydra [3]. A principal contribuição deste projeto visa acelerar e automatizar o processo de desenvolvimento de software utilizado na Universidade da Madeira, automatizando a implementação com a geração de uma Domain Specific Language (DSL) para a framework Hydra, através da implementação da relação entre o modelo de negócio, o Plataform Independent Model (PIM), e o modelo de implementação, o Plataform Specific Model (PSM), de forma a conseguir gerar a interface do utilizador, a lógica de negócio e a base de dados. Posteriormente, foram realizados casos de estudo como forma de testar e verificar o funcionamento da ferramenta implementada assim como verificar as suas limitações.Requirements analysis in software and software design are traditionally inconsistent, namely from the perspective of business modeling, software and implementation traceability [1]. This problem can make the development phase of the projects a process that takes longer than expected, and when one of the models is changed, it can also make the traceability not guaranteed, from any of the models to code implementation. The biggest problem with possible changes in system requirements and not keeping the the models updated is that sometimes the adaptation of a system, already implemented or in the process of being implemented, is not simple, which can cause these changes to have a high cost, as well as a negative impact in the implementation time, which may even make the project unfeasible [2]. The objective of this project involves the development of a tool that allows the generation of code that can be used, in the Hydra Code Generator to generate the code for the Hydra platform, in order to establish a direct relationship between business modeling and implementation, and speeding up the software implementation process, and making the software development phase faster and more automated. The code should be generated taking into account a business process modeling. The modeling will be based on an approach applied to a code generation tool for the Hydra framework [3]. The main contribution of this project aims to accelerate and automate the software development process used at the University of Madeira, automating the implementation with the generation of a Domain Specific Language (DSL) for the Hydra framework, through the implementation of the relationship between the business model, the Platform Independent Model (PIM), and the implementation model, the Platform Specific Model (PSM), in order to generate the user interface, the business logic and the database. Later, case studies were carried out as a way of testing and checking the operation of the implemented tool and to verify its limitations

    Code Generation from Pragmatics Annotated Coloured Petri Nets

    Get PDF

    Entwicklung und Analyse eines Zug-zentrischen Entfernungsmesssystems mittels Colored Petri Nets

    Get PDF
    Based on the technology trends, the train control system should weaken the proportion of ground facilities, and give trains more individual initiative than in the past. As a result, the safety and flexibility of the train control system can be further improved. In this thesis, an enhanced movement authority system is proposed, which combines advantages of the train-centric communication with current movement authority mechanisms. To obtain the necessary train distance interval data, the onboard equipment and a new train-to-train distance measurement system (TTDMS) are applied as normal and backup strategies, respectively. While different location technologies have been used to collect data for trains, the development and validation of new systems remain challenges. In this thesis, formal approaches are presented for developing and verifying TTDMS. To assist the system development, the Colored Petri nets (CPNs) are used to formalize and evaluate the system structure and its behavior. Based on the CPN model, the system structure is validated. Additionally, a procedure is proposed to generate a Code Architecture from the formal model. The system performance is assessed in detection range and accuracy. Therefore both mathematical simulation and practical measurements validation are implemented. The results indicate that the system is feasible to carry out distance measurements both in metropolitan and railway lines, and the formal approaches are reusable to develop and verify other systems. As the target object, TTDMS is based on a spread-spectrum technology to accomplish distance measurement. The measurement is carried out by applying Time of Arrival (TOA) to calculate the distance between two trains, and requires no synchronized time source of transmission. It can calculate the time difference by using the autocorrelation of Pseudo Random Noise (PRN) code. Different from existing systems in air and maritime transport, this system does not require any other localization unit, except for communication architecture. To guarantee a system can operate as designed, it needs to be validated before its application. Only when system behaviors have been validated other relative performances' evaluations make sense. Based on the unambiguous definition of formal methods, TTDMS can be described much clearer by using formal methods instead of executable codes.Basierend auf technologischen Trends sollte das Zugbeeinflussungssystem den Anteil der Bodenanlagen reduzieren und den Zügen mehr Eigeninitiative geben als in der Vergangenheit, da so die funktionale Sicherheit und die Flexibilität des Zugbeeinflussungssystems erhöht werden können. In dieser Arbeit wird ein verbessertes System vorgeschlagen, das die Vorteile der zugbezogenen Kommunikation mit den aktuellen Fahrbefehlsmechanismen kombiniert. Um die notwendigen Daten des Zugabstandsintervalls zu erhalten, werden die Bordausrüstung und ein neues Zug-zu-Zug-Entfernungsmesssystem (TTDMS) als normale bzw. Backup-Strategien angewendet. Während verschiedene Ortungstechnolgien zur Zugdatenerfassung genutzt wurden, bleibt die Entwicklung und Validierung neuer Systeme eine Herausforderung. In dieser Arbeit werden formale Ansätze zur Entwicklung und Verifikation von TTDMS vorgestellt. Zur Unterstützung der Systementwicklung werden CPNs zur Formalisierung und Bewertung der Systemstruktur und ihres Verhaltens eingesetzt. Basierend auf dem CPN-Modell wird die Systemstruktur validiert. Zusätzlich wird eine Methode vorgeschlagen, mit der eine Code-Architektur aus dem formalen Modell generiert werden kann. Die Systemleistung wird im Erfassungsbereich und in der Genauigkeit beurteilt. Daher werden sowohl eine mathematische Simulation als auch eine praktische Validierung der Messungen implementiert. Die Ergebnisse zeigen, dass das System in der Lage ist, Entfernungsmessungen in Metro- und Eisenbahnlinien durchzuführen. Zudem sind die formalen Ansätze bei der Entwicklung und Verifikation anderer Systeme wiederverwendbar. Die Abstandsmessung mit TTDMS basiert auf einem Frequenzspreizungsverfahren. Die Messung wird durchgeführt, indem die Ankunftszeit angewendet wird, um den Abstand zwischen zwei Zügen zu berechnen. Dieses Verfahren erfordert keine Synchronisierung der Zeitquellen der Übertragung. Der Zeitunterschied kann damit berechnet werden, indem die Autokorrelation des Pseudo-Random-Noise-Codes verwendet wird. Im Unterschied zu Systemen im Luft- und Seeverkehr benötigt dieses System keine andere Lokalisierungseinheit als die Kommunikationsarchitektur. Um zu gewährleisten, dass ein System wie vorgesehen funktioniert, muss es validiert werden. Nur wenn das Systemverhalten validiert wurde, sind Bewertungen anderer relativer Leistungen sinnvoll. Aufgrund ihrer eindeutigen Definition kann das TTDMS mit formalen Methoden klarer beschrieben werden als mit ausführbaren Codes

    Eighth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, Aarhus, Denmark, October 22-24, 2007

    Get PDF
    This booklet contains the proceedings of the Eighth Workshop on Practical Use of Coloured Petri Nets and the CPN Tools, October 22-24, 2007. The workshop is organised by the CPN group at the Department of Computer Science, University of Aarhus, Denmark. The papers are also available in electronic form via the web pages: http://www.daimi.au.dk/CPnets/workshop0

    Tenth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools Aarhus, Denmark, October 19-21, 2009

    Get PDF
    This booklet contains the proceedings of the Tenth Workshop on Practical Use of Coloured Petri Nets and the CPN Tools, October 19-21, 2009. The workshop is organised by the CPN group at the Department of Computer Science, University of Aarhus, Denmark. The papers are also available in electronic form via the web pages: http://www.cs.au.dk/CPnets/events/workshop0

    Arquitectura asimétrica multicore con procesador de Petri

    Get PDF
    Se ha determinado, en una arquitectura multi-Core SMP, el lugar donde incorporar el PP o el HPP sin alterar el ISA del resto de los core. Se ha obtenido una familia de procesadores que ejecutan los algoritmos de Petri para dar solución a sistemas reactivos y concurrentes, con una sólida verificación formal que permite la programación directa de los procesadores. Para esto, se ha construido el hardware de un PP y un HPP, con un IP-Core en una FPGA, integrado a un sistema multi-Core SMP, que ejecuta distintos tipo de RdP. Esta familia de procesadores es configurable en distintos aspectos: - Tamaño del procesador (cantidad de plazas y transiciones). - Procesadores con tiempo y procesadores temporales. - Arquitectura heterogénea, que permite distribuir los recursos empleados para instanciar el procesador según se requiera, y obtener un ahorro sustancial. - La posibilidad de configurar el procesador en pos de obtener los requerimientos y minimizar los recursos. Muy valorado en la construcción de sistemas embebidos. En los sistemas con alta necesidad de concurrencia y sincronización, donde se ha evaluado este procesador, las prestaciones han mostrado una importante mejora en el desempeño. El procesador tiene la capacidad de resolver simultáneamente, por conjuntos múltiples disparos, lo que disminuye los tiempos de consulta y decisión, además los programas ejecutados cumplen con los formalismos de las RdP extendidas y sincronizadas, y los resultados de su ejecución son determinísticos. Los tiempos de respuesta para determinar una sincronización son de dos ciclos por consulta (entre la solicitud de un disparo y la respuesta).Facultad de Informátic
    corecore