Explore Patterns in Context-Aware Applications --Using Reactor Pattern to Develop In/Out Board Fall 2002 Yu Du.

Slides:



Advertisements
Similar presentations
Design Patterns.
Advertisements

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
March Ron McFadyen1 Design Patterns In software engineering, a design pattern is a generally repeatable solution to a commonly-occurring problem.
What is Design Design is the process of transforming requirements specifications for software into an architectural structure of software components.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Distributed Systems Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
March Ron McFadyen1 Design Patterns In software engineering, a design pattern is a generally repeatable solution to a commonly-occurring problem.
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
Software Engineering I Object-Oriented Design Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Understanding and Managing WebSphere V5
UNIT-V The MVC architecture and Struts Framework.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
Web-based design Flávio Rech Wagner UFRGS, Porto Alegre, Brazil SBCCI, Manaus, 24/09/00 Informática UFRGS.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 11 Reality Check: Java Programming in the Real World.
MVC and MVP. References enter.html enter.html
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
An Introduction to Software Architecture
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Case study concerning architecture development Emil Doychev, Georgi Cholakov, University of.
Errors Part I Error Messaging Error Handling Conclusion Questions What is an Error What is VBA Types of Errors Error Commands Error Flow Error Trapping.
DaveAndAl.net Do Application Design Patterns Make Sense in ASP.NET? Alex Homer You may like to write these down now...
Patterns in programming 1. What are patterns? “A design pattern is a general, reusable solution to a commonly occurring problem in software. A design.
Observer Behavioral Pattern. Intent Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified.
Software Dynamics: A New Method of Evaluating Real-Time Performance of Distributed Systems Janusz Zalewski Computer Science Florida Gulf Coast University.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Guandong Wang, Zhenning Hu, Zhenghui Xie Department of.
Proactor Pattern Venkita Subramonian & Christopher Gill
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
© ABB University - 1 Revision C E x t e n d e d A u t o m a t i o n S y s t e m x A Chapter 4 Engineering Workplace Course T314.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Database Server Concepts and Possibilities Lee Lueking D0 Data Browser Workshop April 8, 2002.
Architectural pattern: Reactor Source: POSA II pp 179 – 214POSA II Environment: an application that receives multiple requests simultaneously but may process.
CS616: Software Engineering Spring 2009 Design Patterns Sami Taha.
Markus Hjort Reaktor Innovations Java Web Development T WWW-palvelun HUT
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
CS212: Object Oriented Analysis and Design Lecture 38: Design Pattern-II.
Page 1 R MVC Design Pattern Definition Properties Describing MVC design patterns.
UOFS Information System Version 0.9 Yaodong Bi Copyright 2009, Yaodong Bi.
Interceptor CS562 Spring 2002 Jan Anand Krishnan Morgan Deters Venkita Subramonian.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Benefits & Limitations of Patterns & Frameworks: Part 1 Douglas C. Schmidt Professor of Computer.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Software Design Refinement Using Design Patterns
Instructor: Dr. Hany H. Ammar
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Patterns.
An Introduction to Software Architecture
New Tools In Education Minjun Wang
Presentation transcript:

Explore Patterns in Context-Aware Applications --Using Reactor Pattern to Develop In/Out Board Fall 2002 Yu Du

Outline Motivation Pattern definition In / Out Board using Reactor Pattern – Requirements – Design – Reactor Pattern – Screen shots Conclusions

Motivation Context-aware applications is complex. Patterns are a recent software engineering problem-solving discipline. An attempt to describe good designs, and capture experience for reuse. “The long term goal is to develop handbooks for software engineers.”  Explore patterns in context-aware applications development.

What is pattern A pattern is a reusable solution to a recurring problem. Context Program structure Participants Consequences: both positive and negative Examples!

Pattern example class Singleton { public: static Singleton* Instance(); // gives back a real object! proof(void); // proof that the object was made protected: Singleton(); // constructor private: static Singleton* _singleton; };

In/Out Board Displays the in/out status of users Displays the day and time when the users last entered/left the room Web-based application User-defined services will be triggered upon user’s entering / leaving. – Turn on / off the lights – Pull out the seat – Turn on and log in the user’s computer – Coffee will be served

Architecture Design Client (Web Browser) User Info DB (MS Access) In/Out Event Simulator HTTP RMI Main Server (Java programs) Web Server (Tomcat, JSP) JDBC RMI

Main Server Design -- Reactor Pattern For demultiplexing and dispatching handles for synchronous events. Also known as dispatcher, notifier. Used in – CORBA ORBs – InterViews – Ericsson EOS Call Center Management System – ACE Framework

Main Server Design -- Reactor Pattern

Reactor Pattern Handles: identify resources Synchronous Event Demultiplexer: blocks awaiting events to occur on a set of Handles. Initiation Dispatcher: an interface for registering, removing, and dispatching Event Handlers. Event Handler: specifies hook methods Concrete Event Handler: implements the hook method, as well as the methods to process these events

Reactor Pattern – General Collaborations

Pro’s & Con’s Separation of concerns Improve modularity, reusability Improve application portability Provides coarse-grained concurrency control Non-preemptive Hard to debug

User Interface

User Interface -- Event Simulator

Conclusions Patterns are useful for developing and documenting software. Patterns repositories have been set up for – Distributed systems – Database systems – Fault tolerant systems… More exploration on context-aware applications

Questions?