1,376 research outputs found

    Dependability Analysis of Control Systems using SystemC and Statistical Model Checking

    Get PDF
    Stochastic Petri nets are commonly used for modeling distributed systems in order to study their performance and dependability. This paper proposes a realization of stochastic Petri nets in SystemC for modeling large embedded control systems. Then statistical model checking is used to analyze the dependability of the constructed model. Our verification framework allows users to express a wide range of useful properties to be verified which is illustrated through a case study

    Modeling and Validation of the Dynamic Host Configuration Protocol with Colored Petri Nets

    Get PDF
    Petri Networks with a graphical language are based on mathematical logic which have many uses and have capability for modeling and validation of distributed systems and concurrent applications. Colored Petri Networks (CPNs) are a type of Petri Network models that are used in modeling of systems which contain discrete and scattered events. In general, CPNs are used to evaluate system performance and demonstrate the correctness of systems. Dynamic Host Configuration Protocol (DHCP) is one of the main systems of protocols special for servers that are used for dynamic allocation of IP to the network computers (clients). In this paper, we highlight to analyze the correctness and authenticity of DHCPs with the use of CPNs with using the CPN Tools and to prove the accuracy of our protocol's performance.DOI:http://dx.doi.org/10.11591/ijece.v2i3.48

    A Case Study on Coloured Petri Nets in object-oriented analysis and design

    Get PDF
    Selected Papers of the Second International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES'05), June 6, 2005, Rennes, France.In 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

    Neighborhood Detection in Mobile Ad-Hoc Network Using Colored Petri Net

    Get PDF
    Colored Petri Nets (CPNs) [2] is a language for the modeling and validation of systems in which concurrency, communication [6], and synchronization play a major role. Colored Petri Nets is a discrete-event modeling language combining Petri nets with the functional programming language Standard ML. Petri nets provide the foundation of the graphical notation and the basic primitives for modeling concurrency, communication, and synchronization. Standard ML provides the primitives for the definition of data types, describing data manipulation, and for creating compact and parameterizable models. A CPN model of a system is an executable model representing the states of the system and the events (transitions) that can cause the system to change state [4]. The CPN language makes it possible to organize a model as a set of modules, and it includes a time concept for representing the time taken to execute events in the modeled system. In a mobile ad-hoc network(MANET) mobile nodes directly send messages to each other via wireless transmission. A node can send a message to another node beyond its transmission range by using other nodes as relay points, and thus a node can function as a router [1]. Typical applications of MANETS include defense systems such as battlefield survivability and disaster recovery. The research on MANETs originates from part of the Advanced Research Projects Agency(ARPA) project in the 1970s [1]. With the explosive growth of the Internet and mobile communication networks, challenging requirements have been introduced into MANETs and designing routing protocols has become more complex. One approach for ensuring correctness of an existing routing protocol is to create a formal model for the protocol and analyze the model to determine if indeed the protocol provides the defined service correctly. Colored Petri Nets are a suitable modeling language for this purpose as it can conveniently express non-determinism, concurrency and different levels of abstraction that are inherent in routing protocols. However, it is not easy to build a CPN model of a MANET because a node can move in and out of its transmission range and thus the MANET‟s topology dynamically changes. In this paper we propose an algorithm for addressing such mobility problem of a MANET [1]. Using this algorithm a node can find its neighbors ,which are dynamically changing, at any instant of time

    A Compiler and Runtime Environment for Execution of Coloured Petri Net Models

    Get PDF
    Reliance on software systems is ever increasing in our world. Alongside the application of concurrent software systems that embody communication, syn- chronization and resource sharing. Many problems in software engineering have strict requirements regarding concurrency and correctness. Designing correct concurrent software is challenging, and a range of formalisms and tools exists that can help the development process. Coloured Petri nets are an extension of the mathematical concept of Petri nets and a widely used language for spec- ification and modelling concurrent systems. CPN Tools is a tool for editing, simulating, and analyzing Coloured Petri nets models. A need has been iden- tified to develop new software tools to execute Coloured Petri net models to facilitate further development and increase portability. This thesis proposes a compiler and a runtime environment for Coloured Petri nets using the F# pro- gramming language and the .NET platform. The result is a CPN simulation system consisting of a compiler that can parse a .cpn file and generate code and a simulator that can use the code generated and execute the model. A state-space exploration strongly supports the functional correctness of the system.Masteroppgave i Programutvikling samarbeid med HVLPROG399MAMN-PRO

    Software Design Modelling with Functional Petri Nets

    Get PDF
    Petri Nets use two basic primitives: events and conditions to view or model a system. Events are the actions that take place in the system. The occurrence of events is controlled by the "state" of the system, which can be described as a set of conditions. An immediate application of such a model is in the control structures of conventional programming languages. Control structures are the backbone of every programming language. In this paper, an equivalent functional Petri Net (FPN) model is developed for each of the three constructs of structured programs and a FPN Software prototype proposed for the conventional programming construct: if-then-else statement. The motivating idea is essentially to show that FPNs could be used as an alternative approach for program design

    Model Driven Development and Maintenance of Business Logic for Information Systems

    Get PDF
    Since information systems become more and more important in today\''s society, business firms, organizations, and individuals rely on these systems to manage their daily business and social activities. The dependency of possibly critical business processes on complex IT systems requires a strategy that supports IT departments in reducing the time needed to implement changed or new domain requirements of functional departments. In this context, software models help to manage system\''s complexity and provide a tool for communication and documentation purposes. Moreover, software engineers tend to use automated software model processing such as code generation to improve development and maintenance processes. Particularly in the context of web-based information systems, a number of model driven approaches were developed. However, we believe that compared to the user interface layer and the persistency layer, there could be a better support of consistent approaches providing a suitable architecture for the consistent model driven development of business logic. To ameliorate this situation, we developed an architectural blueprint consisting of meta models, tools, and a method support for model driven development and maintenance of business logic from analysis until system maintenance. This blueprint, which we call Amabulo infrastructure, consists of five layers and provides concepts and tools to set up and apply concrete infrastructures for model driven development projects. Modeling languages can be applied as needed. In this thesis we focus on business logic layers of J2EE applications. However, concrete code generation rules can be adapted easily for different target platforms. After providing a high-level overview of our Amabulo infrastructure, we describe its layers in detail: The Visual Model Layer is responsible for all visual modeling tasks. For this purpose, we discuss requirements for visual software models for business logic, analyze several visual modeling languages concerning their usefulness, and provide an UML profile for business logic models. The Abstract Model Layer provides an abstract view on the business logic model in the form of a domain specific model, which we call Amabulo model. An Amabulo model is reduced to pure logical information concerning business logic aspects. It focuses on information that is relevant for the code generation. For this purpose, an Amabulo model integrates model elements for process modeling, state modeling, and structural modeling. It is used as a common interface between visual modeling languages and code generators. Visual models of the Visual Model Layer are automatically transformed into an Amabulo model. The Abstract System Layer provides a formal view onto the system in the form of a Coloured Petri Net (CPN). A Coloured Petri Net representation of the modeled business logic is a formal structure and independent of the actual business logic implementation. After an Amabulo model is automatically transformed into a CPN, it can be analyzed and simulated before any line of code is generated. The Code Generation Layer is responsible for code generation. To support the design and implementation of project-specific code generators, we discuss several aspects of code integration issues and provide object-oriented design approaches to tackle the issues. Then, we provide a conceptual mapping of Amabulo model elements into architectural elements of a J2EE infrastructure. This mapping explicitly considers robustness features, which support a later manual integration of generated critical code artifacts and external systems. The Application Layer is the target layer of an Amabulo infrastructure and comprises generated code artifacts. These artifacts are instances of a specific target platform specification, and they can be modified for integration purposes with development tools. Through the contributions in this thesis, we aim to provide an integrated set of solutions to support an efficient model driven development and maintenance process for the business logic of information systems. Therefore, we provide a consistent infrastructure blueprint that considers modeling tasks, model analysis tasks, and code generation tasks. As a result, we see potential for reducing the development and maintenance efforts for changed domain requirements and simultaneously guaranteeing robustness and maintainability even after several changes

    Teaching Coloured Petri Nets - a Gentle Introduction to Formal Methods in a Distributed Systems Course

    Get PDF
    This paper is about the two compulsory project assignments set to the students in an undergraduate course on distributed systems. In the first assignment the students design and validate a non-trivial layered protocol by means of Coloured Petri Nets, and in the second they implement the designed protocol in an object-oriented language. From the two assignments the students experience that Coloured Petri Nets, as a formal method, are useful for designing and analysing distributed systems. In the course students are introduced to basic concepts and techniques for distributed systems, and it is explained that such systems are often too complex to manage without using formal methods. In this paper we also report on our experience with teaching the course and describe the didactic methods applied. Based on the obtained experience we conclude that the combination of distributed systems and Coloured Petri Nets is fruitful --- the two areas complement each other. Although our experiences origin in Coloured Petri Nets, we believe that many of our observations hold for other formal methods as well.Topics. Education issues related to nets; Coloured Petri Nets; distributed systems; experience with using nets,case studies; applications of nets to protocols
    corecore