A Case-Based Behavior Design Aid for OneSAF

Similar documents
Integrating Soar into the OneSAF Models Framework. Dr. Doug Reece

24 February Dr. Harold Hawkins Program Officer Office of Naval Research Ballston Tower One 800 North Quincy Street Arlington, VA

The Modeling and Simulation Catalog for Discovery, Knowledge, and Reuse

An Open Source MSDL/C-BML Interface to VR-Forces

Using Coalition Battle Management Language DS RT 11 Briefing

SATURN Update. DAML PI Meeting Dr. A. Joseph Rockmore 25 May 2004

Client Perspective: Implementing C2SIM in a Client Dr. Robert Wittman APPROVED FOR PUBLIC RELEASE

ACCELERATING ROUTE PLANNING AND COLLISION DETECTION FOR COMPUTER GENERATED FORCES USING GPUS

EXPANDED ACCOMMODATION ANALYSIS AND RAPID PROTOTYPING TECHNIQUE FOR THE DESIGN OF A CREW STATION COCKPIT

Toward a Standard Rule Language for Semantic Integration of the DoD Enterprise

The Literature: Self-Synchronization and Shared Awareness

Composable Code Generation Applied to MDA

Programming Languages 2nd edition Tucker and Noonan"

Managing Application Configuration Data with CIM

Analysis and Modeling of Evolving Database-centric Web Applications

A Mashup-Based Strategy for Migration to Web 2.0

Software Engineering

WHAT IS SOFTWARE ARCHITECTURE?

Generalized Document Data Model for Integrating Autonomous Applications

Implementing GUI context-sensitive help... ECE450 Software Engineering II. Implementing GUI context-sensitive help... Context-sensitive help

EntireX Highlights of new Features

Verfying the SSH TLP with ProVerif

The course introduces many of the techniques and technologies employed by modern desktop and enterprise applications, including:

RIEDP (Reuse and Interoperation of Environmental Data and Processes) A SISO Standard for Environmental Data sharing

A Content Based Image Retrieval System Based on Color Features

Course Description. Audience. Module Title : 20483B: Programming in C# Duration : 5 days. Course Outline :: 20483B ::

Programming in C#

Enabling Automated AAR Development by Abstracting Data Collection from Analysis

Military Modeling & Simulation Systems Oriented Architecture Concepts Pilot

TERRA VISTA CONTENT CREATION

Semantic agents for location-aware service provisioning in mobile networks

Minsoo Ryu. College of Information and Communications Hanyang University.

General Overview of Mozart/Oz

Warfare and business applications

Live, Virtual, Constructive Architecture Roadmap Implementation (LVCAR-I) - Improved Interconnectivity Using Gateways/Bridges

Multi-Schema and Multi-Server Advances for C2-Simulation Interoperation in MSG-085

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright

Teiid Designer User Guide 7.5.0

Test Resource Management Center Directed Energy T&E Conference A Joint DEPS ITEA Event

When Communities of Interest Collide: Harmonizing Vocabularies Across Operational Areas C. L. Connors, The MITRE Corporation

OO Project Management

An Experimental Command and Control Information System based on Enterprise Java Bean Technology

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002

Repository In a Box (RIB)

H2 2/3/2006. (c) (5 points) Name the three main primitive patterns of interoperability among workflows.

Parley: Federated Virtual Machines

1. CONCEPTUAL MODEL 1.1 DOMAIN MODEL 1.2 UML DIAGRAM

<Insert Picture Here> Oracle SQL Developer Data Modeler 3.0: Technical Overview

"Charting the Course to Your Success!" MOC B Programming in C# Course Summary

RESTful Web service composition with BPEL for REST

Web Services. Chirag Mehta

Web Ontology Language for Service (OWL-S) The idea of Integration of web services and semantic web

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Software Reuse and Component-Based Software Engineering

Introduction to Parsing. Lecture 5

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

Course 7. Reusability, interoperability. S. Motogna - Software Quality

How to make an AES70 controller

Microsoft Programming in C#

Open Message Queue mq.dev.java.net. Alexis Moussine-Pouchkine GlassFish Evangelist

Building a missing item in INSPIRE: The Re3gistry

6.001 Notes: Section 6.1

Domain-Specific Languages for Composable Editor Plugins

Programming in C# for Experienced Programmers

JTRS Network Emulator (JNE): Overview and Use Cases

Quick and Practical Web Accessibility Testing for First Impressions

JOINT MISSION ENVIRONMENT TEST CAPABILITY (JMETC)

Modeling Asynchronous Circuits in ACL2 Using the Link-Joint Interface

APM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski

Next Steps in MSDL and C-BML Alignment for Convergence

Diseño y Evaluación de Arquitecturas de Software. Architecture Based Design Method

Object-Oriented Technology. Rick Mercer

A Design Method for Composition and Reuse Oriented Weaponry Model Architecture Meng Zhang1, a, Hong Wang1, Yiping Yao1, 2

Applying Experiences with Declarative Codifications of Software Architectures on COD

Raytheon Mission Architecture Program (RayMAP) Topic 1: C2 Concepts, Theory, and Policy Paper #40

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

PDSOE Workspace Management and Organisation. Marko Rüterbories Senior Consultant

Data Verification and Validation (V&V) for New Simulations

CISC 323 Intro to Software Engineering

TERRA VISTA CONTENT CREATION MAP. ROUTE. GENERATE

Simplifying Information Integration: Object-Based Flow-of-Mappings Framework for Integration

A joint approach to tactical data links The Swedish way

Tools to Develop New Linux Applications

Lecturer 2: Spatial Concepts and Data Models

Asynchronous OSGi: Promises for the masses. Tim Ward.

Transforming Ada Serving Tasks Into Protected Objects

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Verification, Validation, and Accreditation of Army Models and Simulations

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

Innovations in Business Solutions. SAP Analytics, Data Modeling and Reporting Course

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES

Patterns. Giovanni Sakti. in Software Engineering. Starqle

Interface Technology (MUSCIT) Program

Presentation Outline. JOEF Prototype Development Team JOEF Focus Areas and Concept JOEF Prototype Development Process COCOM/User Visits Summary

These are exciting times for Macintosh users. When Apple unleashed Mac

Information Retrieval

Arguments for Open Structure Execution Services

Learn to create Window applications using the C# language with Visual Studio 2012.

and the bringing cabig cancer data to the.net Developer and Microsoft Office User Communities

JVA-103. Java Programming

Transcription:

A Case-Based Behavior Design Aid for OneSAF Douglas Reece Jenifer McCormack Jackie Zhang Science Applications International Corporation

Outline Problem expense of CGF behavior building Solution approach software reuse OneSAF behavior design complexity A behavior design process and design aid Conclusion

Problem Building CGF Behavior is Expensive Operators need new behaviors to support different units, equipment, and tactics Current CGF systems like OneSAF need 100 s of behaviors Has required Software Engineer in addition to operator or SME Significant cost in Knowledge Engineering step Observations about several CGF systems: There is often a lot of existing behavior Programmers try to use code they know about as an example when writing new behavior But knowledge of existing code may be limited Knowledge of behavior code isn t common across many programmers

A Solution Approach Reuse Behavior Software Develop behavior component representation that supports reuse Library of primitives with metadata descriptions Grammar for composing complex behaviors Save compositions in a repository Reuse compositions as well as primitives Use a graphical, interactive tool to make composition easier Expected benefits: Avoidance of unnecessary behavior development Less redundancy in repository Faster behavior development Non-programmers can compose behaviors (If the grammar is easier than programming language) Behaviors have common design Easier for operators to find behaviors

Behavior Software Reuse Challenges Finding behaviors relevant to target behavior Primitives and composites Characterizing target and existing behavior Searching repository Understanding how behaviors work Exactly what it does Interfaces Adapting (more easily than rewriting) Adapting target task to existing primitives Adapting existing composites to target task Extending existing primitives

Remember Composite Behavior Solutions as Cases Reuse of compositions is a Case-Based Design (CBD) problem. Case Based Design: Repository of design solutions Solutions partly graphical, spatial, geometric may not easily accommodate text-based matching or computed indices CBD systems provide some matching, plus browsing for solutions for user evaluation Our objective: Develop a tool to provide user with examples of relevant, working behavior solutions and help in understanding how to modify them

OneSAF A composable, next generation CGF Represent a full range of operations, systems, and control processes (TTP) Entity up to brigade level Variable level of fidelity Supports multiple Army M&S domain (ACR, RDA, TEMO) applications. Software only Automated Composable Extensible Interoperable Platform Independent Field to: RDECs / Battle Labs Capable of replacing legacy entitynational Guard Armories based simulations: BBS, Reserve Training Centers OTB/ModSAF, CCTT/AVCATT All Active Duty Brigades th BRIMS Conference 14 SAF, Janus, JCATS MOUT and Battalions

Becoming a de facto Joint Model USMC (PM TRASYS) invested FY04 and FY05 dollars to build Marine entities, units, and behaviors in OOS. OOS drives USMC CACCTUS training system. Coordination ongoing with Air Force SIMAF office to use OOS as the ground maneuver driver in EAAGLES. USAF planning to build behaviors for OOS as well. JFCOM J-9 plans to use OOS in JUO Experiments in FY05 and 06 Part of 2004 J-7 Joint interoperability demo at I/ITSEC OOS will be under the hood in a variety of virtual simulators, including AVCATT, CCTT, the Common Gunnery Architecture, and the Common Driver Trainer Embedded training on all FCS platforms Signed Project Agreement with the UK to build their behaviors for OOS 14th up BRIMS Conference Several countries are preparing to stand their own IDE

OneSAF Behavior Vision Millions of dollars, hundreds of behaviors (and units, physical models, entity types, etc.) Composition descriptions available in repository Behaviors are composable with graphical tool A promising setup for reuse!

OOS Spiral Development: Evolving Capabilities with User Feedback FY2003 FY2004 FY2005 You are here. Increasing functionality FOC FY2006 Fielding P3I Block A Block B Block C Block D

OneSAF Behavior Architecture Behavior is procedural Grammar: Behavior element = Primitive behavior Conditional branch on predicate function value Composite behavior Order sender Communication sender Conditional repeat of element (do-loop) Sequence of elements Parallel set of elements GUI to compose behaviors XML Java

OneSAF Behavior Design Steps 1. Compose timeline (procedure) Select new elements from repository Or, create new primitives or composites Place elements in sequential and parallel blocks Connect conditional branch paths Create behavior inputs and constants 2. Connect data paths Connect element inputs and outputs to behavior and element inputs and outputs 3. Set semantics of primitives Extend I/O of primitive behaviors Modify Java code of primitives or add new primitive Modify or add predicate functions 4. Other Rule sets Facts Data tables Behavior agent capabilities Fairly complex a lot to get right

Searching for Behaviors in OneSAF* *Approximately the Block C version of OneSAF

A Structured Design Process for Reuse Look for behaviors that seem similar to the target behavior Figure out what the behaviors do Whether and how they match target Select one behavior and modify it as needed Or combine parts of multiple behaviors Modification of components makes process recursive If reusing sub-behaviors, maybe modify top behavior to accommodate them A top-down approach with bottom-up feedback

Design Process Task description Search for existing behavior(s) Analyze behavior(s) Select and adapt a behavior Review descriptions Analyze I/O Analyze control flow Analyze subs Change control flow Combine behaviors Add, delete, substitute, or invent sub-behaviors Modify subs Task description Search for existing behavior(s) Analyze behavior(s) Select and adapt a behavior

Search for Behaviors Similarity may be in Unit type, task type, environment, or other domain categories Define indices with continuous match values Score behaviors by weighted combination of indices Structure of control flow Parallel blocks Repeated elements Behavior used for unit and individual entity Etc. [See Reece, McCormack and Zhang, BRIMS 2004 ]

Behavior Design Aid GUI Indices to set All composites in the Repository All primitives in the Repository

Searching/Browsing by Domain Info Domain indices specified Select promising composite to examine Composites listed according to their matching scores

Searching/Browsing by Structure Behavior pattern specified (Conditional Loop) Selected behavior with loop structure

Analyzing What Behaviors Do Examine input variables Examine input constants Especially, selector values Examine data connections between primitives Determine branch and loop conditions Determine what behavior does Primitive examine Java code Composite open in window Explore how a primitive is used in other behaviors

Examining Behavior Input Connections Sub-behaviors in behavior Behavior input constants and variables Connection to sub-behavior input

Primitive Behavior Analysis GUI highlights key primitives for this composite have selector input GUI highlights other composites that use the selected primitive

Primitive Input/Output Connections Table shows enumeration inputs (also constant and variable inputs, outputs)

OneSAF Primitive Design Common Themes Common theme goal for primitive behaviors: Avoid having many similar primitives Combine actions using common core algorithms Combine actions related by a theme Use selector inputs to select specific primitive function Ramification: New primitive function often involves adding to an existing primitive User must examine selector input to see what all a primitive can do

Select and Open Sub-Behavior

Select and Open Sub-Behavior

Modify Behavior Copy behavior to composer, then: Change control flow Add or delete sub behaviors Modify sub behaviors Composite: open in composer Primitive (!): add Java (no tool support yet) Invent new sub-behaviors Recursively apply design process

OneSAF Primitive Design Level of Detail Level-of-detail goal for primitive behaviors: Avoid requiring user to program data types, structures, simulation data accesses, complex behavior synchronization, etc. Ramification: User can t program data types, structures, simulation data accesses, complex behavior synchronization, etc. Most new entity behaviors require new primitive code

Copy Behavior to Composer to Edit

Experiments Early experiments with test subjects Task: design new behavior from informal task description Subjects: programmers with some behavior programming experience (OneSAF, or other SAF) Very positive feedback about search and browse feature Examination of inputs very common step; I/O tables speed this step Structural behavior matching is less common but found example of use even with experienced subject

Future Work More one-click sub-behavior info displays Auto presentation of Java code for Primitive Auto generation of some Java code Primitive declarations Enumerated type extensions User testing and evaluation of effectiveness

Conclusions CGF behavior is complex hard to get around difficulty in defining (programming) it for simulation Reuse potential is there Avoiding unnecessary behavior building Providing examples of working complex behavior OneSAF provides a good framework for reuse Behavior language Repository Primitives GUI for composition A Case-Based Design tool has the potential for overcoming challenges of behavior reuse