Software Communications Architecture and Related Specifications Overview Kevin

  • Slides: 37
Download presentation
Software Communications Architecture and Related Specifications Overview Kevin Richardson 09 April 2006 1

Software Communications Architecture and Related Specifications Overview Kevin Richardson 09 April 2006 1

What is An Architecture? It is an Enabler • Definition of Software Architecture: A

What is An Architecture? It is an Enabler • Definition of Software Architecture: A software architecture is characterized by a particular combination of software components and connections. The SCA provides a framework, not functionality. • The JTRS Software Communications Architecture(SCA) Enables: – – – porting of “waveforms” reuse of software (largely internal to development organization) extensibility of hardware and software (emphasis on modeling) interoperability between platforms use of commercial product lines (as it gains commercial acceptance) 2

What is the SCA? • The JTRS SCA specifies an open, non-proprietary architectural framework

What is the SCA? • The JTRS SCA specifies an open, non-proprietary architectural framework – Independent of waveform functionality – “Component oriented” – profiles describe HW / SW components RF D o m a i n M g r – Defines SW Interfaces for data connection and management control – Defines a common management framework • to configure, connect and tear-down distributed applications POSIX CORBA GPP FPGA GPP DSP GPP Devices 3

How can the SCA Benefit Do. D? To Applications ADC pi lat m co

How can the SCA Benefit Do. D? To Applications ADC pi lat m co Re n tio la pi D o m a i n m co R F Re “same” waveform software runs on different hardware sets ion RF Analog R F D o m a i n M g r POSIX CORBA GPP FPGA DSP GPP POSIX CORBA GPP FPGA DSP Devices GPP Devices 4

Criteria for the SCA – Based on Open, Commercial Standards • OMG, IEEE, IETF

Criteria for the SCA – Based on Open, Commercial Standards • OMG, IEEE, IETF – Supports a Family of Radios • Interoperable, • Programmable • Scaleable (handheld to fixed-station), – Maximizes Platform Independence of Software from Hardware • Application and Device Portability & Reuse • Rapid Technology Insertion Over Time – Extendible to New Waveforms and/or Hardware Components 5

SCA Software Structure Applications Operating Environment (OE) Non-CORBA Modem Components RF Core Framework (CF)

SCA Software Structure Applications Operating Environment (OE) Non-CORBA Modem Components RF Core Framework (CF) Commercial Off-the-Shelf (COTS) Non-CORBA Security Components Non-CORBA I/O Components Physical API Modem Components Adapter MAC API Link, Network Components Security Adapter Components Adapter LLC/Network API Security API Core Framework IDL CORBA ORB & Services (Middleware) CF Services & Applications Operating System Network Stacks & Serial Interface Services Board Support Package (Bus Layer) Black Hardware Bus Link, Network Components I/O Adapter Components LLC/Network API I/O API (“Logical Software Bus” via CORBA) CORBA ORB & Services (Middleware) CF Services & Applications Operating System Network Stacks & Serial Interface Services Board Support Package (Bus Layer) Red Hardware Bus 6

The SCA “Model” • Software – Operating Environment • POSIX-based operating system (OS) •

The SCA “Model” • Software – Operating Environment • POSIX-based operating system (OS) • CORBA / Interface Definition Language (IDL) • JTRS Core Framework (CF) • Domain Profile (XML-based) • Hardware – Classes (Operations and Interfaces) • Rules for Implementation – How the Architecture is applied to products • The SCA does not … – specify implementation-level details – define all the elements or interfaces for a SDR – guarantee portability 7

SCA Core Framework Definition • The SCA CF is a “core” set of interfaces

SCA Core Framework Definition • The SCA CF is a “core” set of interfaces that provide an abstraction of the underlying software and hardware layers for software application designers • CF Interfaces (defined in IDL) consist of: - Base Application Interfaces (Port, Life. Cycle, Testable. Object, Port. Supplier, Property. Set, Resource. Factory, and Resource) that can be used by all software applications - Framework Control Interfaces (Application, Application. Factory, Domain. Manager, Device, Loadable. Device, Executable. Device, Aggregate. Device, and Device. Manager) that provide control of the system - Framework Service Interfaces (File, File. System, and File. Manager) that provide interfaces for distributed file access services to software application components - Domain Profile that describes the properties of hardware devices and software components in the system and enables application deployment 8

Platform Mangement Power activates: OS ORB Device Managers 1 Domain Manager 1 Domain Mgr

Platform Mangement Power activates: OS ORB Device Managers 1 Domain Manager 1 Domain Mgr 1 Device Mgr per CORBA-capable processor All Dev Mgrs report to Dom Mgr Each Device Manager responsible for booting its Devices and Services DCD tells Dev Mgr what HW devices exist C O R B A CORBA-capable processor Domain Manager Device Manager Hardware Devices • 1 Domain Mgr per JTR Set • 1 Device Mgr per CORBA Capable processor • Device Mgr starts up its device (in parallel) • Primarily works at “power on” 9

Domain Mgr Knows Devices, Applications, & Resources DCD defines characteristics of devices to be

Domain Mgr Knows Devices, Applications, & Resources DCD defines characteristics of devices to be loaded One Dev Mgr per CORBAcapable processor Domain Manager Devices DCD • • An App Fac is created for each installapplication, i. e. SAD Application Factory Application Hardware Devices SAD describes the components that comprise an application SAD Resources HMI access uses Dom Mgr On starting Application XML Profiles provide application Metadata “resource” + Software Profile Descriptor = a “component” “install” creates an Application Factory An Application Factory starts up an Application instance 10

Resource Start Stop Control Data Initialize Release Collection of Functionality Programmer-Defined Run Test User-Defined

Resource Start Stop Control Data Initialize Release Collection of Functionality Programmer-Defined Run Test User-Defined Interfaces Get Port • A resource “packages” together object code that runs within a processor • Provides set of “control” operations (primarily used by Core Framework) • Functionality and Interfaces (ports) are supplied by programmer 11

Device Start Stop Collection of Functionality Programmer-Defined Load Execute Run Test Initialize Release Control

Device Start Stop Collection of Functionality Programmer-Defined Load Execute Run Test Initialize Release Control Data User-Defined Interfaces Get Port State Aggregate Hardware • A Device IS a resource that provides a HW abstraction • State reflects state of the hardware: Usage, Admin, Operational 12

Core Framework IDL Relationships Base Application Interfac Framework Control Interf Framework Services Interfa 13

Core Framework IDL Relationships Base Application Interfac Framework Control Interf Framework Services Interfa 13

SCA Base Application Interfaces • Port – used to connect Resource Components • Life.

SCA Base Application Interfaces • Port – used to connect Resource Components • Life. Cycle – used to initialize or release Resources • Testable. Object – used to test a Resource • Port Supplier – used to obtain a specific port • Property. Set – provides operations to access Resource properties • Resource. Factory – Used to create / tear down Resources • Resource – provides common interface for Resource control and configuration 14

SCA Framework Control Interfaces • Application – CF provided container for Resources that make

SCA Framework Control Interfaces • Application – CF provided container for Resources that make up application • provides interfaces for control, configuration, status and tear-down • Application. Factory – used to create application (waveform) instances – based on Domain Profile • allocates SW (Resources) to HW (Devices) - allocates capacities • connects Resources that make up application • performs initial configuration • Domain. Manager – Provides interface for Device. Manager, Device and Application registration – Provides access to registered Device. Managers, installed and Running applications, the platform’s File. Manager – Provides interface to HCI to access the domain and its capabilities (Devices and Applications) 15

SCA Framework Control Interfaces (cont. ) • Device – A software proxy for a

SCA Framework Control Interfaces (cont. ) • Device – A software proxy for a physical hardware device – Represents CF interface between applications and devices – Typically one Device per HW device – Loadable, Executable, and Aggregate Devices extend behavior of the Device Class • Device. Manager – Manages a set of logical Devices and services 16

SCA Framework Services Interfaces • File – Provides access to files within the radio

SCA Framework Services Interfaces • File – Provides access to files within the radio – Allows access across processor boundaries (distributed file systems) • File. System – Enable remote access to physical file systems – Allows creation, deletion, copying, etc of files • File. Manager – Manages multiple distributed File. Systems – Looks like a File. System to client 17

SCA Domain Profile • A set of files that describe HW and SW components

SCA Domain Profile • A set of files that describe HW and SW components making up an SCA system domain • e. Xtensible Markup Language (XML) format • Document Type Definitions (DTDs) describe the files [Customized to better address Software Radio Needs] 18

SCA Status • SCA is being accepted by Industry – An “SCA equivalent” exists

SCA Status • SCA is being accepted by Industry – An “SCA equivalent” exists within the family of OMG Standards – Commercial tool vendors and industry have provided some SCA tools • Prism. Tech, Zeligsoft and CRC • The SCA has undergone three phases of architectural validation and provides the backbone for JTRS Cluster 1 • The SCA and its underlying technologies target a GPP based platform however many of the abstractions are applicable to other processing environments • The JTRS program office has a plan in place to continue to evolve the SCA 19

Software Communications Architecture Dep Schedule for standardization of SCA related specifications at the Object

Software Communications Architecture Dep Schedule for standardization of SCA related specifications at the Object Management Group (OMG) loym Li PIM ent ghtwe and Lig & C ight h PSM t h wei t L onf ght igu og Se weigh for Ser t. C rati rvic SW CM vice on es Rad s io Specification Adoption Nov 03 July 03 Feb 04 June 04 Nov 03 Finalization Jul 04 Formal spec Adopted spec Nov 04 l ma d r Fo dar an St Sep 05 April 05 Finalized spec Note: All dates represent estimated OMG schedules 20

SWRadio MDA Principles • UML Profile for SWRadio extends UML for SWRadio tool support:

SWRadio MDA Principles • UML Profile for SWRadio extends UML for SWRadio tool support: validation, system engineering, and SWRadio component development • PIM has been primarily structured as a set of facilities each addressing a key aspect of SWRadio • Well-defined set of modeling conventions – – Naming conventions Modeling conventions Subset of UML notation Specific semantics of this notation in the context of this PIM • Conforms to MDA – PIM can be transformed to different component platforms • CORBA-PSM, Java-PSM, etc. • Compatible with existing OMG standards – – MOF UML 21

SWRadio MDA Principles, cont’d Meta-Model Layer (M 3) Meta Object Facility (MOF) Domain &

SWRadio MDA Principles, cont’d Meta-Model Layer (M 3) Meta Object Facility (MOF) Domain & Platform Technology profiles «instance. Of» Meta-Model Layer (M 2) Profiles M 1 Data PIM & PSM Layer (M 1) OMG UML «instance. Of» Waveform, Device, Radio Infrastructure & Service Components PIMs UML Profiles for SWRadio, CORBA, Java, C++, XML Schema «extends» «instance. Of» «refine» Waveform, Device, Radio Infrastructure & Service Components PSMs, CF Interfaces, XML Descriptors «instance. Of» Runtime or Deployed Artifacts Layer (M 0) Waveform, Device, Radio Infrastructure & Service PSM Components & Artifacts (XML Descriptors, Executables) 22

SWRadio Development Viewpoints • To address the issues of the different actors involved in

SWRadio Development Viewpoints • To address the issues of the different actors involved in SWRadio product developments, the current profile was developed with three main viewpoints in mind: – the viewpoint of application and device developers, – the viewpoint of infrastructure/middleware providers, and – the viewpoint of SWRadio platforms providers. • These three viewpoints define distinct sets of concepts (and stereotypes) that are required in different contexts. 23

SWRadio Development Viewpoints, cont’d 24

SWRadio Development Viewpoints, cont’d 24

UML Profile for SWRadio • To be consistent with the three development viewpoints, the

UML Profile for SWRadio • To be consistent with the three development viewpoints, the UML Profile for SWRadio is partitioned in three main packages: – the Applications and Devices Components, – the Infrastructure, and – the Communication Equipment package. • Each package defines the set of concepts and UML stereotypes required to perform a specific role in the development of an SWRadio product. 25

UML Profile for SWRadio Application & Device Components • Application Components – Contains the

UML Profile for SWRadio Application & Device Components • Application Components – Contains the component stereotypes for application developers – Application, Application. Resource. Component, Layer. Resource (Data Link, MAC, Physical) • Base Types – Contains the common types for defining SWRadio components. • Interface & Port Types – Contains the port and interface stereotypes for SWRadio interfaces and components • Device Components – Contains the component stereotypes for device developers – Logical Device, Loadable and Executable • Properties – Contains property stereotypes for SWRadio components – Configure, Query, Characteristic, Capacity • Resource Components – Contains the interface and component stereotypes for waveform and device developers – Controllable. Component, Life. Cycle, Property. Set, Resource. Component, etc. 26

UML Profile for SWRadio Resource Components 27

UML Profile for SWRadio Resource Components 27

UML Profile for SWRadio Infrastructure • Radio Services – Common services within the radio

UML Profile for SWRadio Infrastructure • Radio Services – Common services within the radio platform that are utilized by applications – Managed component service • Radio Management – Radio. Set, Radio. System, and Device Management • Communication Channel – Physical, IO, Security, and Processing Channel – Captures the relationships between channels and SWRadio devices • Application Deployment – Components and Artifacts stereotypes for the deployment of: • Waveforms on communication channel’s distributed devices • Radio Services within the Radio Set 28

UML Profile for SWRadio Infrastructure, cont’d 29

UML Profile for SWRadio Infrastructure, cont’d 29

UML Profile for SWRadio Communication Equipment • Stereotypes for SWRadio devices • Communication Equipment

UML Profile for SWRadio Communication Equipment • Stereotypes for SWRadio devices • Communication Equipment describes the relationships and attributes that are appropriate for radio devices. – Crypto Device - performs encryption and decryption on asset of data. – I/O Device - describes the relationships and attributes that are appropriate for I/O devices • Antenna, Amplifier, Filter, Frequency Converter, audio, serial, etc. – Power Supply - provides electrical power to other devices. – Processor Device - processes digital or analog data. • Port Types – Analog & Digital • Property Types – Characteristic & Configure 30

UML Profile for SWRadio Communication Equipment, cont’d 31

UML Profile for SWRadio Communication Equipment, cont’d 31

SWRadio PIM Facilities • Common Radio Facilities – Provides common service definitions that are

SWRadio PIM Facilities • Common Radio Facilities – Provides common service definitions that are applicable for all applications (waveforms or radio control) – File Services, OMG Lightweight Services (log, event, naming, etc. ) • Common Layer Facilities – Provides interfaces that cross cut through facilities that correlate to layers. These interfaces can be viewed as building blocks for SWRadio components that realize multiple interfaces. – Protocol Data Unit, Error Control, Flow Control, Measurement, Quality of Service, and Stream Facilities 32

SWRadio PIM Facilities, cont’d • Data Link Facilities – Link Layer Control (LLC) facilities.

SWRadio PIM Facilities, cont’d • Data Link Facilities – Link Layer Control (LLC) facilities. LLC layer provides facilities to upper layers, for management of communication links between two or more radio sets. – Data Link Layer (Connectionless, Connection. Less Ack, Connection), and Medium Access Control Facilities • I/O Facilities – Defines the configuration properties for Audio and Serial Facilities 33

SWRadio PIM Facilities, cont’d • Physical Layer Facilities – Modem Facilities • The modem

SWRadio PIM Facilities, cont’d • Physical Layer Facilities – Modem Facilities • The modem facilities include all digital signal processing elements required to convert bits into symbols and vice versa. – RF/IF Facilities • The RF/IF Facilities is used to configure and control the basic devices of the physical channel. The granularity at which these interfaces are implemented is not specified. • Radio Control Facilities – Provides for interfaces for radio and channel management. 34

SWRadio PSM • Automatic PSM generation from PIM and profile definitions – Transformation rule

SWRadio PSM • Automatic PSM generation from PIM and profile definitions – Transformation rule set specified in the specification • Platform Specific Model – CORBA Modules • CF – Standard. Event, Port. Types • Df. SWRadio – Common. Layer, Data. Link. Layer, Common. Radio, Physical. Layer, Radio. Control • DSFile. Services – XML Schema • Properties • Communication Channel • Physical Layer Properties – POSIX • Other PSMs could be defined 35

SWRadio Lessons Learned • Benefits – Promotes separation of design / development concerns •

SWRadio Lessons Learned • Benefits – Promotes separation of design / development concerns • Nothing new (good SW Engineering principles) – MDA approach requires more formal/complete models • Enables artifact generation • Impediments to adoption – Lack of tools (transformation, generation, UML extension, MOF infrastructure) – Programmatic conflicts exist regarding integrating new specs into an existing product family 36

Summary • The SCA provides a platform and development language independent architectural framework upon

Summary • The SCA provides a platform and development language independent architectural framework upon which SDR (and other distributed, component based) applications can be built. • The underlying platform independent SCA model has been emphasized in areas such as the OMG family of specifications • The SCA “works” however there areas for evolution – Resource Constrained processing environments – Extendiblity into other platform specific middlewares and OEs 37