The main purpose of this report is to provide information on Petri nets, including their, design, semantics, properties, and uses. The problem addressed is how to model and analyze systems that may be susceptible to unknown issues. By visualizing these issues, we can improve or modify the system. Petri nets are highly powerful tools that can solve several problems, including issues with workflow management, deadlock, data transmission in communication systems, manufacturing and production, software systems, and more. These things are widely used in different work fields such as engineering, project management, and computer science. It is important to solve these problems for maintaining system reliability, and optimal performance. Exploring all the uses and techniques of a Petri net, beginning with the basics and advancing to the more complex ideas, demonstrates just how effective they are. The results confirm that Petri nets are important for identifying systems that need improvement within their performance and components across multiple fields.
more »
« less
ADLP: Accountable Data Logging Protocol for Publish-Subscribe Communication Systems
Reasoning about the decision-making process of modern autonomous systems becomes increasingly challenging as their software systems become more inexplicable due to complex data-driven processes. Yet, logs of data production and consumption among the software components can provide useful run-time evidence to analyze and diagnose faulty op- erations. Particularly when the system is run by a number of software components that were individually developed by different parties (e.g., open source, third-party vendor), it is imperative to find out where the problems originated and thus who should be responsible for the problems. However, software components may act unfaithfully or non-cooperatively to make the run-time evidence refutable or unusable. Hence, this paper presents Accountable Data Logging Protocol (ADLP), a mechanism to build accountability into data distribution among software components that are not necessarily cooperative or faithful in reporting the logs of their data production and consumption. We demonstrate an application of ADLP to a miniaturized self-driving car and show that it can be used in practice with at a moderate performance cost.
more »
« less
- PAR ID:
- 10109072
- Date Published:
- Journal Name:
- IEEE 39th International Conference on Distributed Computing Systems
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
The recent application of neural network algorithms to problems in gravitational-wave physics invites the study of how best to build production-ready applications on top of them. By viewing neural networks not as standalone models, but as components or functions in larger data processing pipelines, we can apply lessons learned from both traditional software development practices as well as successful deep learning applications from the private sector. This paper highlights challenges presented by straightforward but naïve deployment strategies for deep learning models, and identifies solutions to them gleaned from these sources. It then presents HERMES, a library of tools for implementing these solutions, and describes how HERMES is being used to develop a particular deep learning application which will be deployed during the next data collection run of the International Gravitational-Wave Observatories.more » « less
-
null (Ed.)In modern Machine Learning, model training is an iterative, experimental process that can consume enormous computation resources and developer time. To aid in that process, experienced model developers log and visualize program variables during training runs. Exhaustive logging of all variables is infeasible, so developers are left to choose between slowing down training via extensive conservative logging, or letting training run fast via minimalist optimistic logging that may omit key information. As a compromise, optimistic logging can be accompanied by program checkpoints; this allows developers to add log statements post-hoc, and "replay" desired log statements from checkpoint---a process we refer to as hindsight logging. Unfortunately, hindsight logging raises tricky problems in data management and software engineering. Done poorly, hindsight logging can waste resources and generate technical debt embodied in multiple variants of training code. In this paper, we present methodologies for efficient and effective logging practices for model training, with a focus on techniques for hindsight logging. Our goal is for experienced model developers to learn and adopt these practices. To make this easier, we provide an open-source suite of tools for Fast Low-Overhead Recovery (flor) that embodies our design across three tasks: (i) efficient background logging in Python, (ii) adaptive periodic checkpointing, and (iii) an instrumentation library that codifies hindsight logging for efficient and automatic record-replay of model-training. Model developers can use each flor tool separately as they see fit, or they can use flor in hands-free mode, entrusting it to instrument their code end-to-end for efficient record-replay. Our solutions leverage techniques from physiological transaction logs and recovery in database systems. Evaluations on modern ML benchmarks demonstrate that flor can produce fast checkpointing with small user-specifiable overheads (e.g. 7%), and still provide hindsight log replay times orders of magnitude faster than restarting training from scratch.more » « less
-
A key challenge faced by small and medium-sized business entities is securely managing software updates and changes. Specifically, with rapidly evolving cybersecurity threats, changes/updates/patches to software systems are necessary to stay ahead of emerging threats and are often mandated by regulators or statutory authorities to counter these. However, security patches/updates require stress testing before they can be released in the production system. Stress testing in production environments is risky and poses security threats. Large businesses usually have a non-production environment where such changes can be made and tested before being released into production. Smaller businesses do not have such facilities. In this work, we show how “digital twins”, especially for a mix of IT and IoT environments, can be created on the cloud. These digital twins act as a non-production environment where changes can be applied, and the system can be securely tested before patch release. Additionally, the non-production digital twin can be used to collect system data and run stress tests on the environment, both manually and automatically. In this paper, we show how using a small sample of real data/interactions, Generative Artificial Intelligence (AI) models can be used to generate testing scenarios to check for points of failure.more » « less
-
Environmental scientists, land managers, and policy actors are increasingly presented with high-stakes high-uncertainty problems stemming from human-ecosystem interactions. These interactions exacerbate already challenging issues associated with environmental policy and natural resource management. To address these problems, scientists and managers frequently use models that produce enormous geospatial and temporal datasets that are constantly modified. To help make sense of this complex and changing data, we are immersed in a co-production effort where software engineers and environmental scientists collaborate on the development of visualization software. We report on this on-going research, and find that visualization is critical not only for communicating science, but integral to many aspects of the science production pipeline and evolving data science field. We also find evidence among our collaborators that this software co-production process helps build legitimacy for the information it produces, with potential implications for generating actionable science for policy and governance.more » « less
An official website of the United States government

