Abstract: When we want to understand someone’s behavior, or a company wants to advertise their product’s behavior, we watch a video. This holds true for teams developing complex systems – users, buyers, management, and engineers all understand the system better when they watch it in action. Of course, the problem for developers is our system does not exist yet. So, how do we capture and share the desired behavior for a system in a formal way? Traditionally, we had a text specifications document with many “shalls” that often failed with missing shalls, incorrect shalls, too many shalls, and poorly worded or misunderstood shalls. More recently, development teams have used tools like SysML and AADL to put the shalls in pictoral form. There is value in this approach since “a picture is worth a thousand words”, but, one picture still has trouble conveying behavior. A few development teams have used “moving” or executable models to present behavior, but the shalls may not be clear amongst how the model is presented or displayed. This presentation will cover a few personal lessons-learned / caveats for using models, both static and executable, as specifications.
Bio: Duke Buster is a Staff Systems Engineer with Honeywell Aerospace – Advanced Technology. He was the Systems Lead and R&D Lead for the SMARTlab simulation / modeling group within Advanced Tech. In that role, Duke has defined and prototyped many systems, ranging from UAVs, to airborne sensors, control stations for commanders / leaders in the field, systems on canines, and site security systems. The specifications for these systems has ranged from text lists through pictorals to “live” interactive models. Before working at SMARTlab, Duke’s experience includes developing decision aids in Texas Instruments’ Artificial Intelligence Lab (a long time ago), developing targeting systems for Raytheon, building training systems for Hughes Aircraft, and starting a small software company in Texas. Throughout this work, Duke has used modeling and simulation in all 7 basic stages of system development.