@article {Sandoval:2017:TTS:3092956.3047498, title = {Task Transition Scheduling for Data-Adaptable Systems}, journal = {ACM Transactions on Embedded Computing Systems (TECS)}, volume = {16}, year = {2017}, pages = {105:1{\textendash}105:28}, abstract = {

Data-adaptable embedded systems operate on a variety of data streams, which requires a large degree of configurability and adaptability to support runtime changes in data stream inputs. Data-adaptable reconfigurable embedded systems, when decomposed into a series of tasks, enable a flexible runtime implementation in which a system can transition the execution of certain tasks between hardware and software while simultaneously continuing to process data during the transition. Efficient runtime scheduling of task transitions is needed to optimize system throughput and latency of the reconfiguration and transition periods. In this article, we provide an overview of a runtime framework enabling the efficient transition of tasks between software and hardware in response to changes in system inputs. We further present and analyze several runtime transition scheduling algorithms and highlight the latency and throughput tradeoffs for two data-adaptable systems. To evaluate the task transition selection algorithms, a case study was performed on an adaptable JPEG2000 implementation as well as three other synchronous dataflow systems characterized by transition latency and communication load.

}, keywords = {Data adaptability, hardware/software codesign, model-based design, runtime transition scheduling}, issn = {1539-9087}, doi = {10.1145/3047498}, url = {http://doi.acm.org/10.1145/3047498}, author = {Nathan Sandoval and Casey Mackin and Sean Whitsitt and Gopinath, Vijay Shankar and Sachidanand Mahadevan and Milakovich, Andrew and Merry, Kyle and Jonathan Sprinkle and Roman Lysecky} } @conference {whitsitt2014cps, title = {Automatic Verification of Dynamic Constraints in LTI Control Systems Through Model Transformations}, booktitle = {NSF Young Professionals Workshop on Exploring New Frontiers in Cyber-Physical Systems}, year = {2014}, month = {03/2014}, publisher = {NSF}, organization = {NSF}, address = {Washington, DC}, keywords = {Controls, Dynamic Constraints, Model Transformations}, author = {Sean Whitsitt} } @conference {sprinkle249, title = {Generating Model Transformations for Mending Dynamic Constraint Violations in Cyber Physical Systems}, booktitle = {The 14th Workshop on Domain-Specific Modeling}, year = {2014}, month = {2014}, pages = {35-40}, abstract = {

Cyber physical systems by definition involve design constraints addressing the computation and communication necessary to control physical systems. These systems have been modeled using domain specific modeling languages, but some limitations exist in the continued application of such a modeling approach to more complex, or safety-critical, systems. Specifically, it is well known how to formulate constraints in a domain-specific modeling language in order to prevent users from building invalid structures, but existing constraint-based techniques do not take into consideration design requirements that may require analysis in the physical domain (i.e. dynamic constraints). Those analysis results, when interpreted by a domain expert, can inform changes to the model: unfortunately, this process does not scale. This paper presents an approach to integrating dynamic constraints that cannot be enforced using structural model constraints. The technique uses expert blocks to analyze systems and generates model transformations specific to the system using the results of those analyses to fix constraint violations. The paper describes a Dynamic Constraint Feedback (DCF) methodology for integrating this technique into existing systems from a generic perspective. Specific examples in this paper are derived from the domain of data adaptable reconfigurable embedded systems (DARES).

}, doi = {10.1145/2688447.2688454}, url = {http://dx.doi.org/10.1145/2688447.2688454}, author = {Sean Whitsitt and Jonathan Sprinkle and Roman Lysecky} } @conference {219, title = {A Hybrid Controller for Autonomous Vehicle Lane Changing with Epsilon Dragging}, booktitle = {American Control Conference}, year = {2014}, month = {06/2014}, pages = {5307-5312}, publisher = {IEEE}, organization = {IEEE}, address = {Portland, Oregon}, abstract = {

Trajectory control for a ground vehicle typically utilizes the error from the desired path or trajectory (i.e., crosstrack error) to produce velocity and steering commands. If an obstacle is in the path, previous techniques have synthesized a new trajectory that avoids the obstacles, and the vehicle directly follows this new path. This approach has drawbacks at high velocity, because the synthesized trajectory must satisfy the stability criteria of the vehicle. This paper introduces a technique which we call epsilon dragging The approach modifies the existing trajectory by some value ε in order to avoid an obstacle at high speeds, while preserving the original trajectory as the desired path. Epsilon dragging is performed by inducing an additional error to the crosstrack error of the vehicle; this induced error can be bounded in order to stay within the velocity/turnrate profile that governs safe behavior at high speeds. The paper provides a method to construct epsilon such that a vehicle can avoid an obstacle at high speeds without the need to verify the trajectory{\textquoteright}s curvature before it is synthesized. The technique is demonstrated in completing a lane-change maneuver at different velocities, and verifying that the velocity/turnrate profiles are not exceeded.

}, doi = {10.1109/ACC.2014.6859450}, url = {http://dx.doi.org/10.1109/ACC.2014.6859450}, author = {Sean Whitsitt and Jonathan Sprinkle} } @mastersthesis { d:whitsitt-phd, title = {A Methodology for Mending Dynamic Constraint Violations in Cyber Physical Systems By Generating Model Transformations}, volume = {PhD}, year = {2014}, month = {12/2014}, school = {University of Arizona}, type = {mastersPhD Dissertation}, address = {Tucson, AZ}, author = {Sean Whitsitt} } @conference {240, title = {Efficient Reconfiguration Methods to Enable Rapid Deployment of Runtime Reconfigurable Systems}, booktitle = {Asilomar Conference on Signals, Systems and Computers}, year = {2013}, month = {11/2013}, publisher = {IEEE}, organization = {IEEE}, address = {Pacific Grove, CA}, doi = {10.1109/ACSSC.2013.6810401}, url = {http://dx.doi.org/10.1109/ACSSC.2013.6810401}, author = {Roman Lysecky and Nathan Sandoval and Sean Whitsitt and Casey Mackin and Jonathan Sprinkle} } @conference {211, title = {Generating a {ROS/JAUS} Bridge for an Autonomous Ground Vehicle}, booktitle = {Proceedings of the 2013 ACM workshop on Domain-specific modeling (DSM {\textquoteright}13)}, year = {2013}, pages = {13-18}, publisher = {ACM}, organization = {ACM}, address = {Indianapolis, IN}, abstract = {

Robotic systems have truly benefitted from standardized middleware that can componentize the development of new capabilities for a robot. The popularity of these robotic middleware systems has resulted in sizable libraries of components that are now available to roboticists. However, many robotic systems (such as autonomous vehicles) must adhere to externally defined standards that are not blessed with such a large repository of components. Due to the real-time and safety concerns that accompany the domain of unmanned systems, it is not trivial to interface these middleware systems, and previous attempts to do so have succeeded at the cost of ad hoc design and implementation. This paper describes a domain-specific approach to the synthesis of a bridge between the popular Robotic Operating System (ROS) and the Joint Architecture for Unmanned Systems (JAUS). The domain-specific nature of the approach permits the bridge to be limited in scope by the application{\textquoteright}s specific messages (and their attribute mappings between JAUS/ROS), resulting in smaller code size and overhead than would be incurred by a generic solution. Our approach is validated by tests performed on an unmanned vehicle with and without the JAUS/ROS bridge.

}, keywords = {autonomous vehicles, Code Generation}, doi = {10.1145/2541928.2541931}, url = {http://dx.doi.org/10.1145/2541928.2541931}, author = {Patrick Morley and Alex Warren and Ethan Rabb and Matthew Bunting and Sean Whitsitt and Jonathan Sprinkle} } @conference {235, title = {Model Based Development with the Skeleton Design Method}, booktitle = {20th IEEE International Conference and Workshops on the Engineering of Computer Based Systems}, year = {2013}, pages = {12-19}, doi = {10.1109/ECBS.2013.16}, url = {http://dx.doi.org/10.1109/ECBS.2013.16}, author = {Sean Whitsitt and Jonathan Sprinkle and Roman Lysecky} } @article {j:whitsitt2012jacic, title = {Modeling Autonomous Systems}, journal = {AIAA Journal of Aerospace Information Systems}, volume = {10}, year = {2013}, pages = {396-413}, doi = {10.2514/1.I010039}, url = {http://dx.doi.org/10.2514/1.I010039}, author = {Sean Whitsitt and Jonathan Sprinkle} } @conference {241, title = {Runtime Hardware/Software Task Transition Scheduling for Runtime-Adaptable Embedded Systems}, booktitle = {International Conference on Field-Programmable Technology (ICFPT)}, year = {2013}, pages = {342-345}, doi = {10.1109/FPT.2013.6718382}, url = {http://dx.doi.org/10.1109/FPT.2013.6718382}, author = {Nathan Sandoval and Casey Mackin and Sean Whitsitt and Roman Lysecky and Jonathan Sprinkle} } @conference {232, title = {System Throughput Optimization and Runtime Communication Middleware Supporting Dynamic Software-Hardware Task Migration in Data Adaptable Embedded Systems}, booktitle = {Engineering of Computer Based Systems (ECBS), 2013 20th IEEE International Conference and Workshops on the}, year = {2013}, month = {April}, pages = {59-68}, keywords = {combinatorial explosion, Data adaptability, data adaptable design methodology, data adaptable embedded systems, data configurations, data handling, Data models, data profile correlation, design time optimization, dynamic software-hardware task migration, embedded systems, Field programmable gate arrays, FIFO queues, Firing, Hardware, hardware accelerators, hardware-software codesign, hardware-software communication wrapper, hardware/software codesign, hardware/software communication middleware, heuristic programming, heuristic search methodology, middleware, model-based design, Pareto optimal configurations, Pareto optimisation, Runtime, runtime communication middleware, search problems, simulation-based methodology, system throughput optimization}, doi = {10.1109/ECBS.2013.25}, author = {Nathan Sandoval and Casey Mackin and Sean Whitsitt and Roman Lysecky and Jonathan Sprinkle} } @conference { c:whitsitt-ecbs-2012, title = {On the Extraction and Analysis of a Social Network with Partial Organizational Observation}, booktitle = {Proceedings of the 19th IEEE International Conference and Workshops on Engineering of Computer-Based Systems}, year = {2012}, pages = {249-256}, abstract = {

The behavior of an organization may be inferred based on the behavior of its members, their contacts, and their connectivity. One approach to organizational analysis is the construction and interpretation of a social network graph, where entities of an organization (persons, vehicles, locations, events, etc.) are nodes, and edges represent varying kinds of connectivity between entities. This paper describes a transformation based approach to the extraction of a social network graph, where the original data comprising (partial) observation of the organization are embedded on a graph with a different ontology, and with many entities and edges that are unrelated to the organization of interest. Social network extraction allows the inference of implied relationships, and the selection of relationships relevant for intended analysis techniques. The analysis of the resulting social network graph is based on organizational and individual analysis, in order to permit an advanced user to draw conclusions regarding the behavior of the organization, based on established social network graph metrics. The results of the paper include a discussion of the complexity of analysis, and how the observation data graph is pruned in order to scale the application of analysis algorithms.

}, doi = {10.1109/ECBS.2012.33}, url = {http://dx.doi.org/10.1109/ECBS.2012.33}, author = {Sean Whitsitt and Abishek Gopalan and Sangman Cho and Jonathan Sprinkle and Srinivasan Ramasubramanian and Liana Suantak and Jerzy Rozenblit} } @conference {237, title = {Modeling and Code Generation with Autonomous Vehicles}, booktitle = {ACM/IEEE 15th International Conference on Model Driven Engineering Languages and Systems Doctoral Symposium}, year = {2012}, address = {Innsbruck Austria}, author = {Sean Whitsitt} } @conference {239, title = {An Overseer Control Methodology for Data Adaptable Embedded Systems}, booktitle = {International Workshop on Multi-Paradigm Modeling (MPM)}, year = {2012}, month = {08/2012}, pages = {1-6}, doi = {10.1145/2508443.2508448}, url = {http://dx.doi.org/10.1145/2508443.2508448}, author = {Sean Whitsitt and Jonathan Sprinkle and Roman Lysecky} } @conference { c:whitsitt2012cdc, title = {A Passenger Comfort Controller for an Autonomous Ground Vehicle}, booktitle = {51st IEEE Conference on Decision and Control}, year = {2012}, pages = {3380-3385}, doi = {10.1109/CDC.2012.6426049}, url = {http://dx.doi.org/10.1109/CDC.2012.6426049}, author = {Sean Whitsitt and Jonathan Sprinkle} } @conference { w:whitsitt-neat-2011, title = {Constrained data acquisition for mobile citizen science applications}, booktitle = {Proceedings of the compilation of the co-located workshops on DSM{\textquoteright}11, TMC{\textquoteright}11, AGERE!{\textquoteright}11, AOOPES{\textquoteright}11, NEAT{\textquoteright}11, \& VMIL{\textquoteright}11}, series = {SPLASH {\textquoteright}11 Workshops}, year = {2011}, pages = {267{\textendash}272}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, abstract = {

The popularity and ubiquity of personal mobile computing devices{\textendash}-coupled with their powerful sensing capabilities{\textendash}-allow their application in the structured collection of data for societal benefit and science applications. Citizen scientists are willing users and active contributors to scientific research and applications, but if they gather data in an unconstrained or ad hoc manner, their efforts may be of little scientific value. In this paper, we present a user interface for a mobile device which is properly constrained to permit the gathering of valid scientific data. This helps to achieve the goal that any individual with a basic familiarity of the device (but not of the science) should be able to obtain useful data with little learning required. As a use case for this concept, we present a mobile application that allows users to collect location-stamped images to supplement satellite data for climate change research.

}, keywords = {citizen scientist, domain-specific modeling, iphone, mobile phone programming}, isbn = {978-1-4503-1183-0}, doi = {10.1145/2095050.2095095}, url = {http://dx.doi.org/10.1145/2095050.2095095}, author = {Sean Whitsitt and Armando Barreto and Maribel Hudson and Hussain Al-Helal and Diyang Chu and Kamel Didan and Jonathan Sprinkle} } @conference { w:whitsitt-ecbs-mbd-2011, title = {Message Modeling for the Joint Architecture for Unmanned Systems (JAUS)}, booktitle = {Proceedings of the 8th IEEE Workshop on Model-Based Development for Computer-Based Systems}, year = {2011}, month = {April}, pages = {251{\textendash}259}, abstract = {The Joint Architecture for Unmanned Systems (JAUS) is a standard for sensing, control, and computational communication of components for unmanned systems. This paper presents a modeling environment capable of producing a domain-specific prototype of the software necessary for inter-computer communications. A metamodel is used to provide the domain-specific modeling language to model both the messages used in JAUS, and the shell interfaces for components that transmit and receive those messages. The produced artifacts are C and C++ code that can be used in unmanned systems and simulations of such systems, including tests that validate the structure and behavior of the generated code. The generated code is compatible with standard JAUS implementations, and is validated using the OpenJAUS open source API and framework. Future work describes the second spiral of features and behaviors (currently in the design phase). The case study and test environment for the software generated by this project is an autonomous ground vehicle, modeled on a Ford Escape Hybrid that is used in laboratory experiments.}, doi = {10.1109/ECBS.2011.17}, url = {http://dx.doi.org/10.1109/ECBS.2011.17}, author = {Sean Whitsitt and Jonathan Sprinkle} } @mastersthesis { a:whitsitt-ms, title = {Modeling the Messaging and Component Interfaces of Autonomous Systems}, year = {2011}, month = {August}, school = {University of Arizona}, type = {mastersmasters}, url = {http://bracton.ece.arizona.edu/svn/jmsgroup/trunk/public/whitsitt-thesis.pdf}, author = {Sean Whitsitt} } @conference {c:whitsitt-prose-2010, title = {Citizen Science in Support of Vegetation Index and Phenology Research}, booktitle = {Phenology Research and Observations of Southwest Ecosystems Symposium (PROSE)}, year = {2010}, month = {October}, abstract = {

Vegetation indices (VIs) are simple transformations of images into proxy measures of greenness and vegetation health and change over time. They are also used to derive information about the land surface phenology status, providing extensive spatial coverage and direct support for global ecosystem models. These measurements however contain large uncertainties and errors. A new suite of mobile devices, equipped with geo-location, image capture, and transmission capabilities could aid with vegetation phenology observations and documentation. The iPhone, with its wide distribution and array of sensors, can contribute significantly to the field of citizen science. In this project we are developing an end-to-end system for the collection, processing, and visualization of land surface vegetation phenology. The system consists of a client-server application and a Google Earth based visualization model. The client side (an iPhone app) intuitively guides the observer to capture up to three images per location: a close-up image of leaves, flowers, or fruits, an individual plant image, and a panoramic landscape image. The iPhone automatically embeds location, orientation, date/time, and other metadata with the images and allows the observer to add text comments. The images are then transmitted to the server, where they are validated, post-processed, archived, and made available to the interactive visualization system. The images are separated into primary colors and processed into a greenness index comparable to the classical VI. These measurements are then plotted against satellite based VI time series to aid in their validation and the characterization of the location phenology. With this effort we hope to recruit global observers into contributing to the field of land surface vegetation change detection and characterization.

}, author = {Sean Whitsitt and Armando Barreto and Sundaresh Ram and Hussain Al-Helal and Maribel Hudson and Diyang Chu and Jonathan Sprinkle and Kamel Didan} }