Small Spacecraft Software Modeling: a Petri Net-Based Approach

Small Spacecraft Software Modeling: a Petri Net-Based Approach

SSC13-VIII-3 Small Spacecraft Software Modeling: A Petri Net-Based Approach Levi Malott, Pasha Palangpour Missouri University of Science and Technology 400 West 13th Street, Rolla, MO 65409-0050; 573-341-7280 [email protected] Faculty Advisor: Hank Pernicka Missouri University of Science and Technology ABSTRACT Software design and development often presents a high-risk element during the execution of engineering projects due to devaluation of possible conflicts or identifying defects during late stages of development. Many defects identified during the late stages of small spacecraft development can be avoided by constructing interactive, dynamic models. This process is often followed for hardware fabrication/test, but often not to the same extent for software. An alternative process to the typical software development is needed that enables modeling and simulation feedback at early design stages. Petri nets allow for software visualization, simulation and verification in a cost-effective way. An alternative software modeling approach using Petri nets is presented to rapidly design, develop and verify/validate small spacecraft software. Using the presented techniques, the Missouri University of Science and Technology Satellite Research Team successfully demonstrated core functionality of their software system at the Final Concept Review (FCR) of AFRL’s University Nanosat Program’s Nanosat-7 Competition. INTRODUCTION Model-driven software engineering methods in space- The key attributes differentiating hardware and software craft applications have recently emerged to solve these development include identifying defects, visualizing problems. Using this methodology, software models are software achitecture, and testing. Identifying software built and subsequently autocoded or act as a blueprint defects usually occurs during the implementation phases for manual implementation. Most notably, the SPIN of development causing large budget and schedule model [1], Simulink [2], and UML Statecharts [3] are overruns. Defective hardware designs are prevented used in industry to create model diagrams and perform and identified during design phases by evaluating com- model-checking. SPIN models are specified using patibility of integrated components and the designer’s Promela [4], which natively lacks basic constructs like comprehension of the implications of connecting com- floating-point data types. Simulink models are nonfor- ponents. Visualizing software architecture is normally mal, synchronous representations that cannot simulate realized by creating functional block, timing, class, and the nondeterminism inherent in concurrent systems. numerous other diagrams. This process attempts to cap- Statecharts create formal models, but place restrictions ture the structure and interactions of a dynamic system on the designs and cannot fully represent real software through static methods, analogous to analyzing a three- concurrency. Additional tools have been developed to dimensional structure CAD model via two-dimensional augment the downsides of the aforementioned tools, but printouts. Additionally, understanding the meaning of involve converting models to different specifications, these diagrams requires previous software modeling are tool specific, and requires management of more experience that is not typically found in those individuals artifacts. In this paper, a new method for modeling small with technical management positions. Software testing spacecraft software using the expressive power of Petri is approached by attempting to identify and test all nets to accurately design software is presented. The failure cases, subsequently rectifying found defects. diagrams produced during this process provide explicit Hardware testing involves the creation of virtual model definitions of software interfaces and interactions, while simulations that are used to identify design flaws and the formal mathematic definition verifies software subsequently improve designs prior to fabrication and correctness. physical tests. Similar models should be incorporated in software development to identify and remove defects, Motivation provide useful graphical realizations, and encourage The Missouri University of Science and Technology interactive design. Satellite Research Team (M-SAT) has participated in Malott 1 27th Annual AIAA/USU Palangpour Conference on Small Satellites four of the eight UNP Nanosat competitions, most re- consider the use of Petri net-based software models as cently placing second in Nanosat-7. The spacecraft an integral role of development. mission proposed and developed consisted of one mi- crosatellite and one smaller microsatellite in a mated SOFTWARE MODELING configuration, as shown in Figure 1. The larger satellite, Decomposing the high-level descriptions of small space- MR SAT, possesses two visual imaging cameras that pro- craft software functionality should start during the con- vide the capability to perform stereoscopic imaging. In ceptual and requirement analysis phases. The Concept orbit, the mated spacecrafts separate with the intention of Operations (CONOPS) [5] defines the Modes of Op- of MR SAT tracking the smaller satellite, called MRS eration of the system, often executed in a sequential or- SAT. MR SAT uses stereoscopic imaging to determine der. Each mode is further divided into ordered or cyclic the relative position vector to MRS SAT, and nominally execution of specific tasks. The structural and tempo- maintains a ten meter separation. ral organization of these tasks guarantee objectives are achieved. The organizational constraints of tasks are typically stated during the design phase where timing and performance requirements are defined. This leads to a clear separation of system responsibilities and un- derstanding of modeled software. Petri nets provide an intuitive, graphical representation that enables modeling of complex systems. Presented below is a simple, but ef- fective, modeling architecture that was used to create the core functionality of the Command and Data Handling (C&DH) software implemented in the M-SAT research team’s spacecraft. Figure 1: Mated (left) and Deployed (right) Configu- rations PETRI NETS Petri nets (PN) are directed state-transition graphs based The development of MR SAT and MRS SAT has on traditional automata theory. Petri nets are often used required the involvement of many students from diverse to verify system properties, simulate concurrent sys- academic backgrounds. Introducing concepts such as tems, and analyze temporal attributes of systems. Many software architecture and development can prove to extensions have been created to enhance the expressive be a nontrivial task, as students tend to avoid areas modeling capabilities for use in many engineering prob- with which they are not familiar. Along with the lems. Colored Petri nets (CPN) are extensions of Petri high-turnover rate of student researchers, various aspects nets that allow the assignment of data types to nodes of of the spacecraft development progress more quickly the modeled system. CPNs are referred to throughout than others. This also makes effective, interdisciplinary this document as the ability to assign data types allows communication both stressful and critically important. software systems to be realized more effectively. Specifically regarding software, diagrams are much easier to understand than reading source code, while Two types of nodes exist: places and transitions, repre- animations have proven to be highly effective communi- sented by an oval and rectangle respectively. Places de- cation and explanatory tools for transitioning members note the various software states, while transitions deter- into software development roles. mine a change of states. Places and transitions are con- nected through arcs (edges), which represent data trans- The aim of the authors of this article is to not only fer. Places can only connect to transitions and are the present a decompositional method of software system input places of those transitions. Transitions connect modeling for small spacecraft, but also to encourage to places and are the output places of those transitions. small satellite developers to consider adopting descrip- Places can contain tokens that represent data in the sys- tive software architecture visualization. Advanced tem. Tokens belong to color sets that associate data types graphics and animations are instructive and foster to tokens. Places can only contain tokens of a specific interdisciplinary communication, which begins with the type, denoted by a label located to the bottom left of a ability to present the material. With the high-turnover place, shown in Figure 2 on the following page. The to- rate of students intimatly tied with university research kens in a CPN can represent any data type one would use teams, quickly educating younger team members is in implementation, whether it be a Boolean value or an imperative for success. It is hoped that this paper will object structure. The combination of tokens distributed encourage other small spacecraft development teams to over the net’s places represent a configuration of the soft- Malott 2 27th Annual AIAA/USU Palangpour Conference on Small Satellites ware, called a marking. The initial marking is defined from the reachability graph’s properties. Such properties by the system modelers and represents configuring the include minimum/maximum amount of tokens on a system to a known state. Transitions optionally contain place, termination states, timing of transition

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us