Embedded Real-Time Systems (TI-IRTS) GoF State Pattern a Behavioral Pattern
|
|
|
- Priscilla Blankenship
- 10 years ago
- Views:
Transcription
1 Embedded Real-Time Systems (TI-IRTS) GoF State Pattern a Behavioral Pattern Version:
2 State Pattern Behavioral Intent: Allow an object to alter its behavior when its internal state changes. The object will appear to change its class (its state). An implementation technique for realizing a state machine described by a UML State Chart. Each state is implemented as a class with the events as operations. Slide 2
3 TCP State Chart Example TCPClosed ActiveOpen PassiveOpen Close Transmit TCPEstablished Close Send TCPListen Slide 3
4 Client State Pattern Class Diagram * TCPConnection +ActiveOpen() +PassiveOpen() +Close() +Acknowledge() +Synchronize() +Send() +Transmit() _state 1 TCPState +ActiveOpen() +PassiveOpen() +Close() +Acknowledge() +Synchronize() +Send() +Transmit() _state->activeopen() TCPEstablished TCPListen TCPClosed Close() Transmit() Close() Send() ActiveOpen () PassiveOpen() Slide 4
5 State Pattern - GoF Structure Client * Context +Request() _state 1 State +Handle() _state->handle(); ConcreteStateA +Handle() ConcreteStateB +Handle() Slide 5
6 State Pattern C++ Example (1) TCPConnection ActiveOpen () PassiveOpen() Close() Acknowledge() Synchronize() Send() Transmit() -ChangeState() «friend» _state TCPState ActiveOpen () PassiveOpen() Close() Acknowledge() Synchronize() Send() Transmit() -ChangeState() class TCPConnection public: TCPConnection(); void ActiveOpen(); void PassiveOpen(); void Close(); void Acknowledge(); void Synchronize(); void Send(); void Transmit(); void ProcessOctet(TCPOctetStream*); private: friend class TCPState; void ChangeState(TCPState*); TCPState* _state; ; Slide 6
7 State Pattern C++ Example (2) TCPConnection::TCPConnection () _state = TCPClosed::Instance(); void TCPConnection::ActiveOpen () _state->activeopen(this); void TCPConnection::PassiveOpen () _state->passiveopen(this); void TCPConnection::Close () _state->close(this); void TCPConnection::Acknowledge () _state->acknowledge(this); void TCPConnection::Synchronize () _state->synchronize(this); void TCPConnection::ChangeState (TCPState* s) _state = s; Slide 7
8 State Pattern C++ Example (3) class TCPState public: virtual void ActiveOpen(TCPConnection*); virtual void PassiveOpen(TCPConnection*); virtual void Close(TCPConnection*); virtual void Acknowledge(TCPConnection*); virtual void Synchronize(TCPConnection*); virtual void Send(TCPConnection*); virtual void Transmit(TCPConnection*, TCPOctetStream*); protected: TCPState() void ChangeState(TCPConnection*, TCPState*); ; Slide 8
9 State Pattern C++ Example (4) Implementation of TCPState with default code: void TCPState::ActiveOpen (TCPConnection*) default(); void TCPState::PassiveOpen (TCPConnection*) default(); void TCPState::Close (TCPConnection*) default(); void TCPState::Acknowledge (TCPConnection*) default(); void TCPState::Synchronize (TCPConnection*) default(); void TCPState::Send (TCPConnection*) default(); void TCPState::Transmit (TCPConnection*, TCPOctetStream*) default(); void TCPState::ChangeState (TCPConnection* t, TCPState* s) t->changestate(s); Slide 9
10 State Pattern C++ Example (5) TCPConnection::TCPConnection () _state = TCPClosed::Instance(); // start state TCPClosed state object create :TCPConnection :TCPClosed Slide 10
11 State Pattern C++ Example (6) 1 ActiveOpen 1.1 ActiveOpen :TCPConnection ChangeState :TCPClosed ChangeState Instance void TCPConnection::ActiveOpen () _state->activeopen(this); TCPEstablished void TCPClosed::ActiveOpen (TCPConnection* t) // send SYN, receive SYN, ACK, etc. ChangeState(t, TCPEstablished::Instance()); // state shift Slide 11
12 State Pattern C++ Example (7) void TCPClosed::PassiveOpen (TCPConnection* t) ChangeState(t, TCPListen::Instance()); void TCPEstablished::Transmit (TCPConnection* t, TCPOctetStream* o) t->processoctet(o); // no state change void TCPEstablished::Close (TCPConnection* t) // send FIN, receive ACK of FIN ChangeState(t, TCPListen::Instance()); Slide 12
13 State Pattern C++ Example (8) Singleton pattern class Singleton public: static Singleton* Instance(); protected: Singleton(); private: static Singleton* _instance; ; Singleton* Singleton::_instance = 0; Singleton* Singleton::Instance () if (_instance == 0) _instance = new Singleton; return _instance; Slide 13
14 State Pattern C++ Example (9) Singleton pattern used on TCPClosed class class TCPClosed : public TCPState public: static TCPState* Instance(); virtual void ActiveOpen(TCPConnection*); virtual void PassiveOpen(TCPConnection*); protected: TCPClosed(); private: static TCPState* _instance; TCPState* TCPClosed::_instance = 0; TCPState* TCPClosed::Instance() if (_instance = = 0) _instance = new TCPClosed; return _instance; Slide 14
15 State Pattern Implementation Details (1) TCPState ActiveOpen () PassiveOpen() Close() Acknowledge() Synchronize() Send() Transmit() 1. Design choice 1. All event operations specified as pure virtual (C++) Requires that all operations are defined in the subclasses (forced by the compiler) 2. Design choice 2. All event operations have default implementation in superclass Only necessary to implement event operations for the actual state Slide 15
16 State Pattern Implementation Details (2) Event parameters, guard, entry and exit actions void TCPClosed::event1(TCPConnection* t,type parameter1) if ( t->guard1() ) exit(); // explicit call of exit action t->action_1(); ChangeState(t,TCPListen::Instance()); void TCPConnection::ChangeState(State* ps) _state= ps; _state->entry(); // call entry in new state Slide 16
17 Three Solutions for Event Handling Class_X +event1() +event2() +event3() _state->event1(); StatePattern Class_X +handleevent(eventno) StatePattern 3. Class_X +handlecommand(command* pc) switch (eventno) case START: _state->start(); StatePattern pc->execute(_state); Slide 17
18 Event Handling - Solution 1. Class_X +event1() +event2() +event3() _state->event1(); StatePattern Each event modeled as an operation in the Context class TCPConnection ActiveOpen () PassiveOpen() Close() Acknowledge() Synchronize() Send() Transmit() _state TCPState ActiveOpen () PassiveOpen() Close() Acknowledge() Synchronize() Send() Transmit() _state->activeopen() Slide 18
19 Event Handling - Solution 2. Class_X +handleevent(eventno) Only one operation in the Context class switch based StatePattern switch (eventno) case START: _state->start(); TCPConnection TCPState +handleevent(eventno) switch (eventno) case ACTIVE_OPEN: _state->activeopen(); break; Slide 19 _state ActiveOpen () PassiveOpen() Close() Acknowledge() Synchronize() Send() Transmit()
20 Event Handling - Solution 3. Class_X +handlecommand(command* pc) StatePattern pc->execute(_state); Only one operation in the Context class polymorphic based An example of the Command Pattern used in concert with the State Pattern Slide 20
21 Command (GoF) & State Pattern (C++) Command +excecute() TCPConnection handlecommand() _state TCPState ActiveOpen () PassiveOpen() Close() Acknowledge() Synchronize() Send() Transmit() ActiveOpen PassiveOpen Close excecute() excecute() excecute() TCPEstablished TCPListen TCPClosed Close() Transmit() Close() Send() ActiveOpen () PassiveOpen() excecute(tcpstate* pstate) pstate->activeopen(); handlecommand(command* pcommand) pcommand->excecute(_state); Slide 21
22 State Pattern Infusion Pump Example InfusionPump Control «friend» +start() +stop() +alarmacknowledged() +alarmdetected() +dooropened() +clear() -startalarm() -stopalarm() -startinfusion() -stopinfusion() -cleartotal() currentstate STATE abstract +start() +stop() +alarmacknowledged() +alarmdetected() +dooropened() +clear() ALARM +alarmacknowledged() INFUSION_INACTIVE +start() +clear() INFUSION_ACTIVE +stop() +alarmdetected() +dooropened() Slide 22
23 Example with Hierarchic State Machine (1) Infusion Pump Operating state setin Maintenance Infusion Pump Maintenance state setinoperation /start_alarm Alarm alarmacknowledged / stopalarm stop / stopinfusio n Infusion Inactive clear / cleartotal start[ door_closed ] / startinfusion /stopinfusion; startalarm Infusion Active alarmdetected dooropened Slide 23
24 Hierarchic State Pattern Example STATE InfusionPump Control currentstate start() stop() alarmacknowledged() alarmdetecteded() dooropened() clear() setinmaintenance() setinoperation() abstract classes Operation setinmaintenance() Maintenance setinoperation() ALARM alarmacknowledged() INFUSION_INACTIVE start() clear() INFUSION_ACTIVE stop() alarmdetected() dooropened() Slide 24
25 Definition of Interface IPump Client «interface» InfusionPump Control-IF +start() +stop() +alarmacknowledged() +alarmdetected() +dooropened() +clear() +setinoperation() +setinmaintenance() action op. only called from state machine Slide 25 InfusionPump Control +start() +stop() +alarmacknowledged() +alarmdetected() +dooropened() +clear() +setinoperation() +setinmaintenance() +startalarm() +stopalarm() +startinfusion() +stopinfusion() +cleartotal()
26 Discussion of State Pattern Implementation Disadvantages Results in many small classes Breaks encapsulation (of the state machine class) Advantages Easy to implement most UML state chart notations (guards, event parameters, entry, exit) State Pattern can be reverse engineered from code All state handling logic in separate state classes Easy to extend with new states Recommendation: Very useful for nontrivial flat and hierarchical state machines Slide 26
27 Pacemaker Class Diagram Classes with state machines abstract class Slide 27
28 Pacemaker State Chart for Class Coil Driver Slide 28
29 Step 1: Construct Class Hierarchy CoilDriver CoilDriver State Disabled Enabled Idle Receiving Bit Waiting ForBit WaitingTo Transmit Transmitting Bit WaitingTo Pulse Pulsing Slide 29
30 Step 2: Add Event Operations CoilDriver EnableComm() DisableComm() Outgoing(Byte) Pulse() mystate CoilDriver State EnableComm() DisableComm() Outgoing(Byte) Pulse() abstract class with abstract operations Disabled EnableComm() Enabled DisableComm() Add operations for outgoing arrows on state chart Idle Receiving Bit Waiting ForBit WaitingTo Transmit Transmitting Bit Outgoing(Byte) Pulse() WaitingTo Pulse Pulsing Slide 30
31 Summary State extremely useful Slide 31
Embedded Real-Time Systems (TI-IRTS) State Machine Implementation
Embedded Real-Time Systems (TI-IRTS) State Machine Implementation Version: 5-2-2010 Agenda STM notation and example Five state machine implementation techniques: 1. Switch based 2. Table driven implementation
This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio).
Client App Network Server App 25-May-13 15:32 (Page 1) This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). TCP is an end to end protocol which
UML By Examples. 0. Introduction. 2. Unified Modeling Language. Home UML. Resources
1 of 7 09/01/2008 7:57 UML By Examples Home UML Resources Table of Contents 1 Elevator Problem 2 Unified Modeling Language 3 Analysis 3.1 Use Case Dagram 3.2 Class Diagram 3.3 State Diagram 4 Design 4.1
Lab Manual: Using Rational Rose
Lab Manual: Using Rational Rose 1. Use Case Diagram Creating actors 1. Right-click on the Use Case View package in the browser to make the shortcut menu visible. 2. Select the New:Actor menu option. A
How To Design Software
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies
Testing high-power hydraulic pumps with NI LabVIEW (RT) and the StateChart module. Jeffrey Habets & Roger Custers www.vi-tech.nl
Testing high-power hydraulic pumps with NI LabVIEW (RT) and the StateChart module Jeffrey Habets & Roger Custers www.vi-tech.nl Agenda Introduction to the teststand The challenge New setup system overview
Life of a Packet CS 640, 2015-01-22
Life of a Packet CS 640, 2015-01-22 Outline Recap: building blocks Application to application communication Process to process communication Host to host communication Announcements Syllabus Should have
point to point and point to multi point calls over IP
Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to point and point to multi point calls over IP Helsinki 27.11.2001 Supervisor: Instructor:
Object Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Chapter 1 Fundamentals of Java Programming
Chapter 1 Fundamentals of Java Programming Computers and Computer Programming Writing and Executing a Java Program Elements of a Java Program Features of Java Accessing the Classes and Class Members The
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
KCU-02 Monitor. Software Installation User Manual. For Windows XP and Windows 7
KCU-02 Monitor Software Installation User Manual For Windows XP and Windows 7 Headquarters : No.3, Lane 201, Chien Fu ST., Chyan Jenn Dist., Kaohsiung, TAIWAN Tel : + 886-7-8121771 Fax : + 886-7-8121775
History OOP languages Year Language 1967 Simula-67 1983 Smalltalk
History OOP languages Intro 1 Year Language reported dates vary for some languages... design Vs delievered 1957 Fortran High level programming language 1958 Lisp 1959 Cobol 1960 Algol Structured Programming
Types of UML Diagram. UML Diagrams 140703-OOAD. Computer Engineering Sem -IV
140703-OOAD Computer Engineering Sem -IV Introduction to UML - UML Unified Modeling Language diagram is designed to let developers and customers view a software system from a different perspective and
Transport Layer. Chapter 3.4. Think about
Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is
Design Document For Insulin Pump (Version 1.1)
For Insulin Pump (Version 1.1) Written by: Morteza Yousef-Sanati Hamid Mohammad-Gholizadeh Assignment 2 Course: 703 Software Design Professor: Dr. Tom Maibaum March 2011 Table of Contents I INSULIN PUMP
Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:
Data Transfer Consider transferring an enormous file of L bytes from Host A to B using a MSS of 1460 bytes and a 66 byte header. What is the maximum value of L such that TCP sequence numbers are not exhausted?
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Old Company Name in Catalogs and Other Documents
To our customers, Old Company Name in Catalogs and Other Documents On April 1 st, 2010, NEC Electronics Corporation merged with Renesas Technology Corporation, and Renesas Electronics Corporation took
CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship.
CSCI 253 Object Oriented Design: Java Review OOP George Blankenship George Blankenship 1 Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation Abstract Data Type (ADT) Implementation
A UML Documentation for an Elevator System. Distributed Embedded Systems, Fall 2000 PhD Project Report
A UML Documentation for an Elevator System Distributed Embedded Systems, Fall 2000 PhD Project Report December 2000 A UML documentation for an elevator system. Introduction This paper is a PhD project
Ethernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
Chapter 46 Terminal Server
Chapter 46 Terminal Server Introduction... 46-2 TTY Devices... 46-2 Multiple Sessions... 46-4 Accessing Telnet Hosts... 46-5 Command Reference... 46-7 connect... 46-7 disable telnet server... 46-7 disconnect...
Software Engineering. System Modeling
Software Engineering System Modeling 1 System modeling System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system.
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
Firewall Port Handling in TENA Applications
Firewall Port Handling in TENA Applications The purpose of this report is to describe the manner in which TENA applications handle communications using TCP. This report will also present some insight for
Object Oriented Software Models
Software Engineering CSC 342/ Dr Ghazy Assassa Page 1 Object Oriented Software Models Use case diagram and use case description 1. Draw a use case diagram for a student-course-registration system. Show
Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:
PS-2 Mouse: The Protocol: For out mini project we designed a serial port transmitter receiver, which uses the Baud rate protocol. The PS-2 port is similar to the serial port (performs the function of transmitting
DUAL PUMPS COMMUNICATIONS CABLE
DUAL PUMPS COMMUNICATIONS CABLE Part # Description Contents CBL-DUAL-3 RS-232 Dual pumps communications cable (3 ). RJ-11 Connector Synchronizes the operation of two pumps in one of the special communications
INDUSTRIAL AUTOMATION Interactive Graphical SCADA System INSIGHT AND OVERVIEW. IGSS Online Training. Exercise 8: Creating Templates
INDUSTRIAL AUTOMATION Interactive Graphical SCADA System INSIGHT AND OVERVIEW IGSS Online Training Exercise 8: Creating Templates Exercise: Create Templates and Template Based Objects Purpose Learn how
Special Note Ethernet Connection Problems and Handling Methods (CS203 / CS468 / CS469)
Special Note Connection Problems and Handling Methods (CS203 / CS468 / CS469) Sometimes user cannot find the RFID device after installing the CSL Demo App and the RFID reader is connected. If user cannot
Wharf T&T Limited DDoS Mitigation Service Customer Portal User Guide
Table of Content I. Note... 1 II. Login... 1 III. Real-time, Daily and Monthly Report... 3 Part A: Real-time Report... 3 Part 1: Traffic Details... 4 Part 2: Protocol Details... 5 Part B: Daily Report...
Computer Networks. Chapter 5 Transport Protocols
Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data
NMS300 Network Management System
NMS300 Network Management System User Manual June 2013 202-11289-01 350 East Plumeria Drive San Jose, CA 95134 USA Support Thank you for purchasing this NETGEAR product. After installing your device, locate
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
PK5500 v1.1 Installation Instructions
PK5500 v1.1 Installation Instructions 1 2 3 4 5 6 7 8 9 * 0 # WARNING: Please refer to the System Installation Manual for information on limitations regarding product use and function and information on
Changing Your Cameleon Server IP
1.1 Overview Technical Note Cameleon requires that you have a static IP address defined for the server PC the Cameleon server application runs on. Even if the server PC has a static IP address, you may
How do I get to www.randomsite.com?
Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local
Communication Diagrams
Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes
Software engineering for real-time systems
Introduction Software engineering for real-time systems Objectives To: Section 1 Introduction to real-time systems Outline the differences between general-purpose applications and real-time systems. Give
Chapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
Assignment # 2: Design Patterns and GUIs
CSUS COLLEGE OF ENGINEERING AND COMPUTER SCIENCE Department of Computer Science CSc 133 Object-Oriented Computer Graphics Programming Spring 2014 John Clevenger Assignment # 2: Design Patterns and GUIs
IP Subnetting and Addressing
Indian Institute of Technology Kharagpur IP Subnetting and Addressing Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Kharagpur Lecture 6: IP Subnetting and Addressing
CS330 Design Patterns - Midterm 1 - Fall 2015
Name: Please read all instructions carefully. The exam is closed book & no laptops / phones / computers shall be present nor be used. Please write your answers in the space provided. You may use the backs
New York University Computer Science Department Courant Institute of Mathematical Sciences
New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communications & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:
From Control Loops to Software
CNRS-VERIMAG Grenoble, France October 2006 Executive Summary Embedded systems realization of control systems by computers Computers are the major medium for realizing controllers There is a gap between
Global Monitoring + Support
Use HyperTerminal to access your Global Monitoring Units View and edit configuration settings View live data Download recorded data for use in Excel and other applications HyperTerminal is one of many
Checking Access to Protected Members in the Java Virtual Machine
Checking Access to Protected Members in the Java Virtual Machine Alessandro Coglio Kestrel Institute 3260 Hillview Avenue, Palo Alto, CA 94304, USA Ph. +1-650-493-6871 Fax +1-650-424-1807 http://www.kestrel.edu/
TDDC88 Lab 2 Unified Modeling Language (UML)
TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used
8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15
8-ch RAID0 Design by using SATA Host IP Manual Rev1.0 9-Jun-15 1 Overview RAID0 system uses multiple storages to extend total storage capacity and increase write/read performance to be N times. Assumed
Backup Server DOC-OEMSPP-S/6-BUS-EN-21062011
Backup Server DOC-OEMSPP-S/6-BUS-EN-21062011 The information contained in this guide is not of a contractual nature and may be subject to change without prior notice. The software described in this guide
Trends in Embedded Software Development in Europe. Dr. Dirk Muthig [email protected]
Trends in Embedded Software Development in Europe Dr. Dirk Muthig [email protected] Problems A software project exceeds the budget by 90% and the project time by 120% in average Project Management
Routing concepts in Cyberoam
Routing concepts in Cyberoam Article explains routing concepts implemented in Cyberoam, how to define static routes and route policies. It includes following sections: Static route Firewall based routes
Java (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
Case Study: F5 Load Balancer and TCP Idle Timer / fastl4 Profile
Case Study: F5 Load Balancer and TCP Idle Timer / fastl4 Profile This describes a problem whereby a client connects to a server then waits for a report to complete before retrieving it. The report took
Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks
Designing a Home Alarm using the UML And implementing it using C++ and VxWorks M.W.Richardson I-Logix UK Ltd. [email protected] This article describes how a simple home alarm can be designed using the UML
Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester
Leonardo Journal of Sciences ISSN 1583-0233 Issue 20, January-June 2012 p. 31-36 Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester Ganesh Sunil NHIVEKAR *, and Ravidra Ramchandra MUDHOLKAR
Configuring Static and Dynamic NAT Translation
This chapter contains the following sections: Network Address Translation Overview, page 1 Information About Static NAT, page 2 Dynamic NAT Overview, page 3 Timeout Mechanisms, page 4 NAT Inside and Outside
MS Project Tutorial for Senior Design Using Microsoft Project to manage projects
MS Project Tutorial for Senior Design Using Microsoft Project to manage projects Overview: Project management is an important part of the senior design process. For the most part, teams manage projects
This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio).
This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). Here we explore the sequence of interactions in a typical FTP (File Transfer Protocol) session.
SE 360 Advances in Software Development Object Oriented Development in Java. Polymorphism. Dr. Senem Kumova Metin
SE 360 Advances in Software Development Object Oriented Development in Java Polymorphism Dr. Senem Kumova Metin Modified lecture notes of Dr. Hüseyin Akcan Inheritance Object oriented programming languages
How To Understand The Dependency Inversion Principle (Dip)
Embedded Real-Time Systems (TI-IRTS) General Design Principles 1 DIP The Dependency Inversion Principle Version: 22-2-2010 Dependency Inversion principle (DIP) DIP: A. High level modules should not depend
UML for the C programming language.
Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development
Interaction Diagrams. Use Cases and Actors INTERACTION MODELING
Karlstad University Department of Information Systems Adapted for a textbook by Blaha M. and Rumbaugh J. Object Oriented Modeling and Design Pearson Prentice Hall, 2005 INTERACTION MODELING Remigijus GUSTAS
Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe
Secure Network Access System (SNAS) Indigenous Next Generation Network Security Solutions
Secure Network Access System (SNAS) Indigenous Next Generation Network Security Solutions Gigi Joseph, Computer Division,BARC. [email protected] Intranet Security Components Network Admission Control (NAC)
Umbrello UML Modeller Handbook
2 Contents 1 Introduction 7 2 UML Basics 8 2.1 About UML......................................... 8 2.2 UML Elements........................................ 9 2.2.1 Use Case Diagram.................................
1 An application in BPC: a Web-Server
1 An application in BPC: a Web-Server We briefly describe our web-server case-study, dwelling in particular on some of the more advanced features of the BPC framework, such as timeouts, parametrized events,
UML FOR OBJECTIVE-C. Excel Software www.excelsoftware.com
UML FOR OBJECTIVE-C Excel Software www.excelsoftware.com Objective-C is a popular programming language for Mac OS X computers. The Unified Modeling Language (UML) is the industry standard notation for
Integration, testing and debugging of C code together with UML-generated sources
Integration, testing and debugging of C code together with UML-generated sources Old C code Fig. 1: Adding tram traffic lights to a traffic intersection Introduction It will soon no longer be possible
ivms-4200 Client Software Quick Start Guide V1.02
ivms-4200 Client Software Quick Start Guide V1.02 Contents 1 Description... 2 1.1 Running Environment... 2 1.2 Surveillance System Architecture with an Performance of ivms-4200... 3 2 Starting ivms-4200...
Design by Contract beyond class modelling
Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable
PT Activity: Configure Cisco Routers for Syslog, NTP, and SSH Operations
PT Activity: Configure Cisco Routers for Syslog, NTP, and SSH Operations Instructor Version Topology Diagram Addressing Table Device Interface IP Address Subnet Mask Default Gateway Switch Port R1 FA0/1
Bitter, Rick et al "Object-Oriented Programming in LabVIEW" LabVIEW Advanced Programming Techinques Boca Raton: CRC Press LLC,2001
Bitter, Rick et al "Object-Oriented Programming in LabVIEW" LabVIEW Advanced Programming Techinques Boca Raton: CRC Press LLC,2001 10 Object-Oriented Programming in LabVIEW This chapter applies a different
Getting Started - SINAMICS Startdrive. Startdrive. SINAMICS Getting Started - SINAMICS Startdrive. Introduction 1
Introduction 1 Connecting the drive unit to the PC 2 Startdrive SINAMICS Getting Started - SINAMICS Startdrive Getting Started Creating a project 3 Going online and incorporating devices 4 Commissioning
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
What is a Firewall? A choke point of control and monitoring Interconnects networks with differing trust Imposes restrictions on network services
Firewalls What is a Firewall? A choke point of control and monitoring Interconnects networks with differing trust Imposes restrictions on network services only authorized traffic is allowed Auditing and
Architecture & Design of Embedded Real-Time Systems (TI-AREM)
Architecture & Design of Embedded Real-Time Systems (TI-AREM) Architectural Design Patterns 2. Components & Connectors and Component Architecture Patterns and UML 2.0 Ports (BPD. Chapter 4. p. 184-201)
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems
USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area 398 / SE05117 Advanced Cover software lifecycle: waterfall model, V model, spiral model, RUP and
UML Activities & Actions. Charles ANDRE - UNSA
UML Activities & Actions Action & Object Nodes Accept inputs, start behaviors, provide outputs Object/Data flow Control flow Send Envoice Invoice Make Payment Accept Payment Invoice1234: Invoice Invoice1234:
Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP
Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2
Kepware Technologies Optimizing KEPServerEX V5 Projects
Kepware Technologies Optimizing KEPServerEX V5 Projects September, 2010 Ref. 50.16 Kepware Technologies Table of Contents 1. Overview... 1 2. Factors that Affect Communication Speed... 1 2.1 Defining Bandwidth...
How To Set Up A Modbus Cda On A Pc Or Maca (Powerline) With A Powerline (Powergen) And A Powergen (Powerbee) (Powernet) (Operating System) (Control Microsci
Firmware Loader User Manual CONTROL MICROSYSTEMS SCADA products... for the distance 48 Steacie Drive Telephone: 613-591-1943 Kanata, Ontario Facsimile: 613-591-1022 K2K 2A9 Technical Support: 888-226-6876
PROGRAMMABLE LOGIC CONTROL
PROGRAMMABLE LOGIC CONTROL James Vernon: control systems principles.co.uk ABSTRACT: This is one of a series of white papers on systems modelling, analysis and control, prepared by Control Systems Principles.co.uk
FILE TRANSFER PROTOCOL INTRODUCTION TO FTP, THE INTERNET'S STANDARD FILE TRANSFER PROTOCOL
FTP FILE TRANSFER PROTOCOL INTRODUCTION TO FTP, THE INTERNET'S STANDARD FILE TRANSFER PROTOCOL Peter R. Egli INDIGOO.COM 1/22 Contents 1. FTP versus TFTP 2. FTP principle of operation 3. FTP trace analysis
Application of UML in Real-Time Embedded Systems
Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: [email protected] Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,
Port Scanning. Objectives. Introduction: Port Scanning. 1. Introduce the techniques of port scanning. 2. Use port scanning audit tools such as Nmap.
Port Scanning Objectives 1. Introduce the techniques of port scanning. 2. Use port scanning audit tools such as Nmap. Introduction: All machines connected to a LAN or connected to Internet via a modem
THE STEP7 PROGRAMMING LANGUAGE
THE STEP7 PROGRAMMING LANGUAGE STEP 7 is the standard software package used for configuring and programming SIMATIC programmable logic controllers. It is part of the SIMATIC industry software. Basic algorithm
The first program: Little Crab
CHAPTER 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,
Cyclic Architectures in UML
Cyclic Architectures in UML Techletter Nr. 2 What is a Techletter? Well actually nothing more than a newsletter, just that the content mainly focusses on technical items in the UML and in embedded systems
4D v11 SQL Release 6 (11.6) ADDENDUM
ADDENDUM Welcome to release 6 of 4D v11 SQL. This document presents the new features and modifications of this new version of the program. Increased ciphering capacities Release 6 of 4D v11 SQL extends
Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business
Software Engineering Design Theory and Practice Carlos E. Otero CRC Press Taylor & Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business AN
SNMP Manager User s Manual
SNMP Manager User s Manual Table of Contents 1. Introduction...2 2. SNMP Manager Install, Quick Start and Uninstall...2 2.1. Software Installation...2 2.2. Software Quick Start...2 2.3. Software Uninstall...2
Business Vehicle Tracking USER MANUAL
Business Vehicle Tracking USER MANUAL Logging On To start using Fonix Swift, navigate to www.businessvehicletracking.co.uk You will be presented with the following login screen: To log in, enter your Username
