Download
nato armaments support services user training n.
Skip this Video
Loading SlideShow in 5 Seconds..
NATO Armaments Support Services User Training PowerPoint Presentation
Download Presentation
NATO Armaments Support Services User Training

NATO Armaments Support Services User Training

211 Views Download Presentation
Download Presentation

NATO Armaments Support Services User Training

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. NATO Armaments Support ServicesUser Training NASS Packages Release 4.0 September 2008 NATO/PfP UNCLASSIFIED

  2. Agenda • Introduction • Overview • Development Environment • SCPP • Configuration • Packages • Autotest • Closing NATO/PfP UNCLASSIFIED

  3. Packages (1) NATO/PfP UNCLASSIFIED

  4. Packages (2) NATO/PfP UNCLASSIFIED

  5. Packages (3) NATO/PfP UNCLASSIFIED

  6. Packages (4) NATO/PfP UNCLASSIFIED

  7. NASS.Base_Types (1) • Base Types • Define various numbers types • Has several child packages • Base_Types.Coordinate_Systems • Geography related types, such as • Azimuth, Distance, Easting, Northing, Altitude, etc. • Datum_Codes, Ellipsoids • Geography related functions, such as • Normalize_Azimuth • Get_Ellipsoid_Data • Semi_Major_Axis NATO/PfP UNCLASSIFIED

  8. NASS.Base_Types (2) • Base_Types.FCI • Type definitions used for Fire Control Inputs, such as: • String types (e.g. Fuze_Model_String) • Numeric (e.g. Fork) • Constants (e.g. Max_Number_of_Phases) • Enumerations (e.g. Safety_Type) • Base_Types.FCI.CPH • FCI types related to Copperhead projectiles • E.g. Glide_Angle_Type NATO/PfP UNCLASSIFIED

  9. NASS.Base_Types (3) • Base_Types.Fire_Mission • Defines types related to fire mission • Used mainly by NABK Fire Mission Layer, but potentially useful to other S4 products • Defines types such as: • Arrays (e.g. Integer_Config_Item) • Enumeration (e.g. Projectile_Mode) • Numeric (e.g. FF_Clear_Type) NATO/PfP UNCLASSIFIED

  10. NASS.Base_Types (4) • Base_Types.Met • Type Definitions for Meteorological Data, such as: • Numeric types (e.g. Air_Pressure, Wind_Speed) • Constants (e.g. Standard_Air_Temperature) • Base_Types.Met.CPH • Types for Met Data related to Copperhead Projectiles • e.g. Cloud_Ceiling_Type NATO/PfP UNCLASSIFIED

  11. NASS.Basic_Pool • Manages data records in a static storage pool generic Size : in Integer;type Concrete_Type istaggedprivate; type Concrete_Access_Type isaccessall Concrete_Type'Class; package NASS.Basic_Pool is NATO/PfP UNCLASSIFIED

  12. NASS.Pool • Derived from Basic_Pool – same set of services • Instead of dealing with the concrete type, it deals with the ancestor type of the concrete type genericSize: in Integer;type Root_Type isabstracttaggedprivate;type Concrete_Type isnew Root_Type withprivate;type Root_Access_Type isaccessall Root_Type'Class; Package NASS.Pool is NATO/PfP UNCLASSIFIED

  13. NASS.Bounded_LengthN • A set of .ads files that define bounded string types of various constant lengths: • 4, 6, 8, 16, 32, 64, 128, 256, 512 characters • NASS.Bounded_Length_Large is configurable • Configured by constant NASS.Config_Pkg. Large_Bounded_String_Size • Default length is 1024 characters NATO/PfP UNCLASSIFIED

  14. NASS.CLI_Pkg (1) • CLI = Command Line Interface • Package to process command line arguments and to return information associated with such arguments to calling applications. • Applications can use standard CLI Argument types defined in CLI_Pkg or can extend the basic type to add fields or functionality. • Currently located in Non-Core portion of NASS NATO/PfP UNCLASSIFIED

  15. NASS.CLI_Pkg (2) • Capabilities: • Define the command line arguments • Classify an argument as mandatory / optional • Define upper and lower bounds of argument values • Define subarguments • Validate command line parameters NATO/PfP UNCLASSIFIED

  16. NASS.Config_Pkg (1) Debugging constants for static storage pools • Trace_Pool_Size - Flag indicates whether “pool size” events should be logged • False – not logged • True – logged • Trace_Allocate_Deallocate_Pools - Flag indicates whether pool allocation/de-allocation events should be logged • False – not logged • True – logged NATO/PfP UNCLASSIFIED

  17. NASS.Config_Pkg (2) Constants related to the Flight_Path object • Trajectory_Extra_Data - flag used to determine if the extra trajectory data is to be logged • FALSE => only Time and Position are logged • TRUE => extra data is logged • Trajectory_List_Size – number of integration points stored in a flight path object. • A list size of 600 is usually adequate NATO/PfP UNCLASSIFIED

  18. NASS.Config_Pkg (3) • config_pkg\nass-config_pkg.ads NATO/PfP UNCLASSIFIED

  19. NASS.Constants • Contains constants such as: • Math constants (e.g. PI) • Conversion constants (e.g. Cvt_Rad_To_Mils) • Scientific constants (e.g. P0 (standard air pressure)) NATO/PfP UNCLASSIFIED

  20. NASS.Containers.Bounded.Bounded_Ordered_Maps • Generic package to create ordered maps associated with objects of a type which has an underlying partial order • Implements the Ada2005 functionality for ordered maps • Can be instantiated using constrained types or access types • If the underlying object is unconstrained or class-wide, then Bounded_Ordered_Maps must be instantiated with access types and it is the responsibility of the application to predefine the objects which will be used to prevent dynamic memory issues. NATO/PfP UNCLASSIFIED

  21. NASS.Crest_Violations • Defines various types related to crest violations (e.g. Crest_Results_Type) • Defines a Violation Check Record • Defines status messages related to crest violations (e.g. “Far_Crest_Impact”) NATO/PfP UNCLASSIFIED

  22. NASS.Flight_Path (1) • Represents a trajectory as a series of points • Instantiation of NASS.List_Pkg with a record of data: • Time and Position (Cartesian coordinates)OR • Time, Position, Velocity, Spin,Yaw, Met Data etc. • Content of record is affected by configuration parameter Log_Trajectory_Extra_Data NATO/PfP UNCLASSIFIED

  23. NASS.Flight_Path (2) • Other flight path variants: • NASS.Geo_Flight_Path – position stored as Latitude, Longitude and Altitude • NASS.TM_Flight_Path – position stored as TM Easting, Northing and Altitude NATO/PfP UNCLASSIFIED

  24. NASS.Generic_Buffer • Performs low level actions to read data from a text file • These services include the services to: • load a specified text file to a buffer in memory, parse the contents and access it. • Structurally each Buffer contains an array of lines. • Each Line consists of one or more bounded string(s) NATO/PfP UNCLASSIFIED

  25. NASS.Generic_Location_Pkg (1) • Extends the NASS.Geographic_Location_Pkg • Provides services for creation and manipulation of UTM or BNG locations • Compute_Distance • Compute_Azimuth • Etc. • Instantiated to create NASS.Location and NASS.Unconstrained_Location • As an example, NASS.Location is extended by NABK to create NABK.FMNL.Location NATO/PfP UNCLASSIFIED

  26. NASS.Generic_Location_Pkg (2) • Coding examples from NASS unit test • Package spec: • generic_location\nass-generic_location_pkg.ads • Test code: • generic_location\nass-test_frame-generic_location_pkg.ads • generic_location\nass-generic_location_pkg-unit_test.adb NATO/PfP UNCLASSIFIED

  27. NASS.Generic_Real_Arrays • Defines Real Matrix and Real Vector types • Provides operations (+, -, *) for these types • NASS.Real64_Arrays is a NASS.Base_Types.Real64 instance of NASS.Generic_Real_Arrays NATO/PfP UNCLASSIFIED

  28. NASS.Generic_TM • Transformations/conversions for TM locations • Zone_to_Zone • Grid_Declination • TM_To_Geographic • Etc. NATO/PfP UNCLASSIFIED

  29. NASS.Geographic_Location_Pkg(1) • This package provides services for creation and use of geographic (i.e. latitude / longitude) locations. Services include • Compute_Distance • Compute_Azimuth • Compute_Location • Child package Datum_Trans converts location between WGS84 and any Datum • Child package Data holds data for datum transforms. Possible to define own datum and ellipsoid here. • Child package Datum_Text provides Name and Region of any Datum NATO/PfP UNCLASSIFIED

  30. NASS.Geographic_Location_Pkg(2) • Coding examples from NASS unit test • Package spec: • geographic_location\nass-geographic_location_pkg.ads • Test Code: • geographic_location\nass-geographic_location_pkg-unit_test.adb NATO/PfP UNCLASSIFIED

  31. NASS.Geo_Flight_Path • Extension of List_Pkg • Position stored as Latitude, Longitude, Altitude, Range and Time • Extended for TEDM to include Ground_Altitude and Safety_Clearance NATO/PfP UNCLASSIFIED

  32. NASS.Geo_Utility_Pkg • Provides additional utility services for Lat/Long positions • Defines DMS Type and services on this such as: • Convert_to_Decimal_Degrees • “+”, “-”, “=” • Etc… NATO/PfP UNCLASSIFIED

  33. NASS.Location_Pkg • UTM Instantiation of Generic_Location_Pkg NATO/PfP UNCLASSIFIED

  34. NASS.Integration • Generic package to perform numerical integration using a first order Predictor-Corrector method • Integration64: real64 Instance of Integration NATO/PfP UNCLASSIFIED

  35. NASS.Keyed_DB_Fixed • Services on a keyed database of fixed size • Services use record ID, record primary key or both primary and secondary key NATO/PfP UNCLASSIFIED

  36. NASS.Hashed_Array_Fixed • Contains the definition of a generic storage pool management facility with a fixed size. • Storage within the pool can be allocated and freed. • Used by NASS.Keyed_Db_Fixed NATO/PfP UNCLASSIFIED

  37. NASS.List_Pkg & NASS.Linked_List(1) • List_Pkg • Manages data records in an array list • Array size is determined at instantiation • Linked_List • Manages data records in a double linked list NATO/PfP UNCLASSIFIED

  38. NASS.List_Pkg & NASS.Linked_List(2) • Coding examples from NASS unit test • Package spec: • list_pkg\nass-list_pkg.ads • Test code: • list_pkg\nass-test_frame-list_pkg.ads • list_pkg\nass-list_pkg-unit_test.adb NATO/PfP UNCLASSIFIED

  39. NASS.MAC • Implementation of a variant of the RSA MD5 message digest algorithm NATO/PfP UNCLASSIFIED

  40. NASS.MAC.IO • Used by the NABK to ‘authenticate’ data files to determine if a files has been changed since is was originally ‘fingerprinted’. • When a file is ‘fingerprinted’, a 128 bit number is computed and stored in the file. • When a file is ‘authenticated’ the fingerprint is recomputed and compared to the fingerprint stored in the file. NATO/PfP UNCLASSIFIED

  41. NASS.Math • Provides math functions. • This package is a rename of the standard Ada package Ada.Numerics.Generic_Elementary_Functions. • NASS.Math32 and NASS.Math64 are NASS.Base_Types.Real32 and 64 instances of NASS.Math NATO/PfP UNCLASSIFIED

  42. NASS.Status(1) • Defines Status types • Severity, Kind_Type, etc. • Provides services for Status messages • Image, Sort, etc. • Defines NASS status messages • SUCCESS, UNDEFINED, etc. NATO/PfP UNCLASSIFIED

  43. NASS.Status(2) • Coding examples from NASS unit test • Package spec: • status\nass-status.ads • Test code: • status\nass-status-unit_test.adb NATO/PfP UNCLASSIFIED

  44. NASS.String16_List • Instance of List_Pkg to hold list of Bounded_Length16.Bounded_String:s • List size: Config_Pkg.String16_Maximum_List_Size (default to 200) NATO/PfP UNCLASSIFIED

  45. NASS.String_Test • Provides functions to test if a given String contains a real or integer number. Leading and trailing blanks or tabs are ignored. • Additionally also converts string to real64 NATO/PfP UNCLASSIFIED

  46. NASS.String_Utilities • Provides a collection of functions on strings that are commonly performed: • Upper_Case_Trim for all Bounded_Length strings NATO/PfP UNCLASSIFIED

  47. NASS.Text_Io • Rename of Ada.Text_Io NATO/PfP UNCLASSIFIED

  48. NASS.Unconstrained_Location_Pkg • Instance of Generic_Location_Pkg constrained by the safe range of real64 NATO/PfP UNCLASSIFIED

  49. NASS.Unconstrained_Location_Pkg_Datum_Trans • Instance of NASS.Unconstrained_Location_Pkg.Datum_Trans constrained by the safe range of real64 NATO/PfP UNCLASSIFIED

  50. NASS.Vectors • Provides basic mathematic operations on 3-dimension (x, y, z) vectors • Vectors64: real64 instance of Vectors NATO/PfP UNCLASSIFIED