Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation,...

11
Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 06/16/22 1 Lockheed Martin Simulation, Training, & Support [email protected]

Transcript of Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation,...

Page 1: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Polymorphic System Architecture

By Jeff BrysonSoftware Engineer Staff

Lockheed Martin Simulation, Training, & Support

04/10/23 1Lockheed Martin Simulation, Training, & [email protected]

Page 2: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Polymorphic System Architecture

• Definitions• Polymorphic Requirements• Polymorphic Measurements• Polymorphic System Architecture– Strategy Design Pattern– Composite Design Pattern

• Value added• How do you know when to apply

04/10/23 2Lockheed Martin Simulation, Training, & Support [email protected]

Page 3: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

PSA Definitions

04/10/23 3Lockheed Martin Simulation, Training, & Support [email protected]

• Containment• Encapsulation• Type• Class• Object• Memory Pointer (GOTO)• Object Reference• Aggregation and Composition• Inheritance• Polymorphism• Abstraction

– Polymorphic Servers– Polymorphic Clients

Page 4: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Polymorphic Requirements• Dynamic Reconfiguration of System

Functionality• Plug-N-Fight• Extendibility• System Redundancy• System Reuse– While encapsulation and inheritance give you

behavior (code) reuse, abstraction gives you control (code) reuse.

• Systems of Systems04/10/23 4Lockheed Martin Simulation, Training, & Support

[email protected]

Page 5: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Polymorphic Mediator

• Software Middleware– CORBA– Web Services

• Non-Software behavior– Call Center– Still requires a well defined abstract interface.

04/10/23 Lockheed Martin Simulation, Training, & Support [email protected] 5

Page 6: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Polymorphic Measurements

• The # of components (or objects) that will contain references to abstract interfaces in the system (Aggregations).– This will identify how many objects that will be

polymorphic clients (or controllers of the building blocks).

• The # of components (or objects) that are derived (or instantiated) based on an abstract interface.– This will identify how many objects will be

polymorphic servers (or building blocks)

04/10/23 6Lockheed Martin Simulation, Training, & Support [email protected]

Page 7: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Strategy Design Pattern• In software, Run-Time Polymorphism is

dependent on creating ‘Abstract’ interfaces• Both the classes/types and

objects/components need to be illustrated

04/10/23 7Lockheed Martin Simulation, Training, & Support [email protected]

Page 8: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Composite Design Pattern• The strategy pattern does have one drawback. It

defines a single point of control• The Composite pattern extends the Strategy

pattern by defining the “StrategyUser” as one of the strategy behaviors

04/10/23 8Lockheed Martin Simulation, Training, & Support

[email protected]

Page 9: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Value Added• Reusable System Designs– As problems get more complex not only is there a

need to reuse software but there is a need to reuse SE artifacts.

• Extendibility– Abstraction allows new building blocks to be

added to the system.• Dynamic reconfiguration• Satisfy Requirements with the System

Architecture

04/10/23 9Lockheed Martin Simulation, Training, & Support [email protected]

Page 10: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

How do we apply polymorphic behavior

• Polymorphic LogicanObject = valueEach enum = a derived

classanObject.doSomething();

04/10/23 Lockheed Martin Simulation, Training, & Support [email protected] 10

• Structured LogicCase value is when red => doSomething();when blue => doSomethingElse();when green => doAnotherthing();end case;

Page 11: Polymorphic System Architecture By Jeff Bryson Software Engineer Staff Lockheed Martin Simulation, Training, & Support 2/7/20141 Lockheed Martin Simulation,

Questions

• ?

04/10/23 Lockheed Martin Simulation, Training, & Support [email protected] 11