Motivation FACE architecture encourages modularity of components on data boundaries Transport Services Segment interface is centered on sending and receiving.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

A component- and message-based architectural style for GUI software
Why to learn OSI reference Model? The answer is too simple that It tells us that how communication takes place between computers on internet but how??
OSI Model OSI MODEL.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
1 SWE Introduction to Software Engineering Lecture 21 – Architectural Design (Chapter 13)
Application architectures
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
TECH CH03 System Buses Computer Components Computer Function
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 10: Architectural Design
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
NETWORK MODELS T.Najah Al_Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
OIS Model TCP/IP Model.
CS-334: Computer Architecture
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Network Architecture and Protocol Concepts. Network Architectures (1) The network provides one or more communication services to applications –A service.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
The Design Discipline.
Presentation on Osi & TCP/IP MODEL
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
The University of New Hampshire InterOperability Laboratory Introduction To PCIe Express © 2011 University of New Hampshire.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
An Introduction to Software Architecture
LWIP TCP/IP Stack 김백규.
Top Level View of Computer Function and Interconnection.
SOFTWARE DESIGN.
(Business) Process Centric Exchanges
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
EEE440 Computer Architecture
ECEG-3202 Computer Architecture and Organization Chapter 3 Top Level View of Computer Function and Interconnection.
Software Design: Principles, Process, and Concepts Getting Started with Design.
The concept of RAID in Databases By Junaid Ali Siddiqui.
© 2005 Prentice Hall1-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
1 Chap. 2 Protocol. 2 Communication model Simplified communication model  source node  gather data from sensor or switch using ADC (analog-to-digital.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
COMPUTER NETWORK AND DESIGN CSCI 3385K. Host-to-Host Communications Model Older model Proprietary Application and combinations software controlled by.
CS223: Software Engineering Lecture 19: Unit Testing.
TCP/IP Protocol Suite Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Computer Engineering and Networks, College of Engineering, Majmaah University Protocols OSI reference MODEL TCp /ip model Mohammed Saleem Bhat
Design Concepts ch-8
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
The OSI Model Prof. Choong Seon HONG.
Lecturer, Department of Computer Application
Software Quality Engineering
DEPARTMENT OF COMPUTER SCIENCE
Chapter 3 Top Level View of Computer Function and Interconnection
Chapter 3: Open Systems Interconnection (OSI) Model
Network Layer The network layer is responsible for the source-to-destination delivery of a packet, possibly across multiple networks (links). Whereas the.
OSI Model OSI MODEL.
Design Yaodong Bi.
Presentation transcript:

Motivation FACE architecture encourages modularity of components on data boundaries Transport Services Segment interface is centered on sending and receiving typed data Naturally fits with ‘dataflow-oriented’ software design

Motivation Much of implementing a FACE architecture is data movement Transport Services Segment data is described by a data model I/O Services Segment can share some transport mechanisms with Transport Services What are some ways we can apply software engineering to make the architecture implementation robust?

Dataflow Abstractions Minimal aspects of a dataflow : Allow configuration of source/destination Support opening/closing Provide capability to read/write Abstract this idea as a class which can be implemented in many ways

Channel Channel class Implemented by specific transport mechanisms Can be used in Transport Services, I/O Services, or within a component

Transport Services Segment Transport Services Segment is intended to be configurable at initialization (change transport mechanisms) Each TSS Connection uses a configured channel Sending/receiving data can be separated from other logic using a Channel At initialization, the correct channels are created based on configuration

I/O Services Segment I/O Services Segment (IOSS) also lends itself to using Channels to handle different data flows I/O Services can be implemented as direct or distributed Direct I/O services are accessed directly via the I/O Services API in the same address space as the component Distributed I/O services are accessed via inter-process communication and allows a service to exist as a process used by multiple components

I/O Services Segment Direct and distributed I/O interfaces can be abstracted as Channels in the implementation Devices can be configured as using direct or distributed I/O without rebuilding the component

Channels I/O Services Segment and Transport Services Segment can use shared channel code for some types of data transport Channels can also be used by components to access the FACE APIs Problem: Accessing the I/O Services Segment requires construction of I/O message headers and bus-specific headers

Refinements Refinement Abstraction Alter the behavior of a channel to provide it with new functionality Example: Delay Refinement causes a channel to wait before performing a read/write

I/O Access Channel Component reads/writes to an IOS Access Channel which uses refinements to prepend the appropriate headers and call the I/O API Simplifies using the IOSS and enables code reuse

TSS Access Channel Similarly, the TSS API can be called via a Channel to further separate business logic from data movement concerns Allows combining TSS data with other dataflow like logic

Another Abstraction Treating dataflows using a generator pattern (source of iterable data) can simplify processing and separate error handling from other logic Error handling is encapsulated in an ErrorStrategy Generator uses a Channel combined with an ErrorStrategy as its data source ErrorStrategy determines message validity and it can be sent on to a data sink if appropriate

Another Abstraction Two ‘generators’ can be combined into a Transformer An input generator is used to get data, the Transformer modifies that data and returns it with next()

Example Use Getting waypoints from the TSS, checking constraints, and sending it to a destination in a Flight Plan Separates business logic (constraint checking), data error handling logic, dataflow to and from TSS

Summary The FACE architecture is data-centric Implementing the architecture and component can be greatly simplified by embracing this Utilizing and configuring FACE architecture is also simplified with the dataflow approach...This does not fit everywhere though!

Thank You Thank you for this event! AMRDEC The Open Group NAVAIR PMA 209 FACE Consortium