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

Slides:



Advertisements
Similar presentations
SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.
Advertisements

1/15/ A car starts from rest and travel 10s with uniform acceleration 5m/s 2. Find out its final velocity. Here, u=0 m/s t=10s a= 5m/s 2 v=? We.
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Module 2 – Monitoring and Evaluation Definitions.
Oracle Rally Applications Modernization. 4 June About the Company Founded in 2002 Unites high-level information technology and organization architecture.
6/10/20141 Top-Down Clustering Method Based On TV-Tree Zbigniew W. Ras.
Intersection Schemas as a Dataspace Integration Technique 8/21/20141 Richard BrownlowAlex Poulovassilis.
Sybase PowerBuilder Applications Modernization. 11 October About the Company Founded in 2002 Unites high-level information technology and organization.
10/22/20141 Consumers, Producers, and the Efficiency of Markets Chapter 7.
COM vs. CORBA.
Software Architectural Design Software Components Instructor Dr. Lawrence Chung.
Unified Modeling Language
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Object-oriented Programming Concepts
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Themes and Variations abstraction -- the object metaphor modeling -- understanding.
Reuse Activities Selecting Design Patterns and Components
Design Patterns Ric Holt & Sarah Nadi U Waterloo, March 2010.
2.5 OOP Principles Part 1 academy.zariba.com 1. Lecture Content 1.Fundamental Principles of OOP 2.Inheritance 3.Abstraction 4.Encapsulation 2.
Behavioral Patterns  Behavioral patterns are patterns whose purpose is to facilitate the work of algorithmic calculations and communication between classes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 1: Introduction to Design Patterns. SimUDuck Example.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Case Studies on Design Patterns Design Refinements Examples.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Method-Oriented B2B Application Integration Chapter 4 Sungchul Hong.
Objected Oriented Programming & Design JAVA Shishir Gupta (704) (704)
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
Abstraction CMPS Abstraction Abstraction mechanisms are techniques to deal with creating, understanding and managing complex systems Abstraction.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Inspired by the Oulipu. The 3 Tenets of OO Encapsulation Polymorphism Inheritance.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Strategy Design Pattern
Introduction to Design Patterns
CSE687 - Object Oriented Design class notes Survey of the C++ Programming Language Jim Fawcett Spring 2004.
OOP What is problem? Solution? OOP
SOFTWARE DESIGN AND ARCHITECTURE
Presented by Igor Ivković
Object Oriented Analysis and Design
Chapter 10 Thinking in Objects
Chapter 19: Interfaces and Components
Advanced Programming Behnam Hatami Fall 2017.
CSC 480 Software Engineering
lecture 08, OO Design Principle
Frameworks And Patterns
Object Oriented Programming
Software Design Lecture : 14.
Chapter 19: Interfaces and Components
CIS601: Object-Oriented Programming in C++
Chapter 19: Interfaces and Components
Introduction to SOA and Web Services
Object Oriented Analysis and Design
Presented by Igor Ivković
Object Oriented Design & Analysis
Interfaces and Components
Chapter 8 - Design Strategies
The Object Paradigm Classes – Templates for creating objects
Chapter 19: Interfaces and Components
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Presentation transcript:

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

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 2/7/20142 Lockheed Martin Simulation, Training, & Support

PSA Definitions 2/7/20143 Lockheed Martin Simulation, Training, & Support Containment Encapsulation Type Class Object Memory Pointer (GOTO) Object Reference Aggregation and Composition Inheritance Polymorphism Abstraction – Polymorphic Servers – Polymorphic Clients

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 Systems 2/7/20144 Lockheed Martin Simulation, Training, & Support

Polymorphic Mediator Software Middleware – CORBA – Web Services Non-Software behavior – Call Center – Still requires a well defined abstract interface. 2/7/2014 Lockheed Martin Simulation, Training, & Support 5

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) 2/7/20146 Lockheed Martin Simulation, Training, & Support

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 2/7/20147 Lockheed Martin Simulation, Training, & Support

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 2/7/20148 Lockheed Martin Simulation, Training, & Support

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 2/7/20149 Lockheed Martin Simulation, Training, & Support

How do we apply polymorphic behavior Polymorphic Logic anObject = value Each enum = a derived class anObject.doSomething(); 2/7/2014 Lockheed Martin Simulation, Training, & Support 10 Structured Logic Case value is when red => doSomething(); when blue => doSomethingElse(); when green => doAnotherthing(); end case;

Questions ? 2/7/2014 Lockheed Martin Simulation, Training, & Support 11