Development Introduction

Slides:



Advertisements
Similar presentations
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
Advertisements

VLANs Semester 3, Chapter 3 Allan Johnson Website:
Learningcomputer.com SQL Server 2008 Configuration Manager.
ALAA M. ALSALEHI SOFTWARE ENGINEER AT IUG Multithreading in Android.
Java Thread and Memory Model
Critical Thinking Thinking and Planning Tool (Save this file to your desktop before use) Use the tools on the next slides to create your own Mind Maps.
PowerPoint vs Classroom Presenter. PowerPoint and Tablet PCs You can ink on slides in or out of a presentation You can save the ink.
USING ANDROID WITH THE INTERNET. Slide 2 Lecture Summary Getting network permissions Working with the HTTP protocol Sending HTTP requests Getting results.
RUM Security FAQ “Can RUM meet PCI DSS requirements?” − PCI: Do not use vendor-supplied defaults for system passwords and other security parameter Change.
Core LIMS Training: Entering Experimental Data – Simple Data Entry.
Avaya Aura Core Components Support Exam 7220X Exam Dumps Download PDF File From Dumps4download.
Instructor Materials Chapter 8 Configuring Cisco Devices
Segments Introduction: slides minutes
Core ELN Training: Office Web Apps (OWA)
Configuring DHCP Relay Configuration Example
Network Designs.
Using “So what is the Truth” Template
Managing Windows Devices
Based on Eric Dashofy’s slides for
Chapter 14: System Protection
WORKSHOP 14 EXPLORING AND COMPLETING TEMPLATES
.NET Remoting Priyanka Bharatula.
Partner Smart Assist Service
Instructor: Mazhar Hussain
Tirgul 13 Exceptions 1.
CSC Multiprocessor Programming, Spring, 2012
EE2E1. JAVA Programming Revision Lecture.
Router Startup and Setup
Java Beans Sagun Dhakhwa.
Introduction to Triggers
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
What is RMI? Remote Method Invocation
Welcome! Thank you for joining us. We’ll get started in a few minutes.
                                      Practical Examples Synchronisation Pitfalls Keith Merrington APP01.
Jickler Presented To: Core Presented By: Baiju Chandran T
Chapter 6: Network Layer
Introduction to Networking
ALEPH Version 22 Beginning Cataloging
Programmable Logic Controllers (PLCs) An Overview.
Planning a Group Policy Management and Implementation Strategy
Partnership.
The University of Adelaide, School of Computer Science
Topics Introduction to File Input and Output
Chapter 14: Protection.
Online Testing System Assessment Viewing Application (AVA)
Finalization 17: Finalization
I/O Systems I/O Hardware Application I/O Interface
Mastering Autodesk Revit MEP 2016 CHAPTER 3: Worksets and Worksharing
JAsCo an Aspect-Oriented approach tailored for
Using “So what is the Truth” Template
An Introduction to Software Architecture
Chapter 11 Supporting Printers and Scanners
Chapter 14: Protection.
Router Startup and Setup
WebDAV Design Overview
GT Portal v. 2.0 Data Delivery
The University of Adelaide, School of Computer Science
Lecture 17 Multiprocessors and Thread-Level Parallelism
АВЛИГАТАЙ ТЭМЦЭХ ҮНДЭСНИЙ ХӨТӨЛБӨР /танилцуулга/
ONLINE TOURISM MARKETING- Introduction
Lecture 17 Multiprocessors and Thread-Level Parallelism
Topics Introduction to File Input and Output
Technician License Course.
The University of Adelaide, School of Computer Science
CMSC 202 Exceptions 2nd Lecture.
Exception Handling.
More concurrency issues
Lecture 17 Multiprocessors and Thread-Level Parallelism
Presentation transcript:

Development Introduction Classroom Presenter 3.0

“Model” Keeps all of the application’s global state. Forms a hierarchy of classes and components. Allows UI and back-end to listen for changes via PropertyPublisher interface. Enforces thread safety.

Model UML

Thread Safety Model objects each have their own ReaderWriterLock. Exceptions thrown if caller does not obtain a lock — forces developer to think about threading issues. model.RWL.AquireReaderLock(Timeout.Infinite); try { // Perform operations requiring read access to model. } finally { model.RWL.ReleaseReaderLock(); }

Locking Model “Fine-grained”. A design decision: We can always make locking “coarser” if necessary. This has already been done with the TableOfContents model. The reverse is not possible. ReaderWriterLocks may not benefit performance, but allow safety enforcement.

Back-End Development Back-end components will access model No direct access to UI components. UI displays state by hooking into model’s event listeners. someModel.Changed[“PublishedProperty"].Add(new PropertyEventHandler(this.HandlePublishedPropertyChanged); Only issue is removing event listeners when components are Disposed to prevent memory leaks.

DeckBuilder Back-End Serialization and deserialization of CSD ↔ DeckModel Invoked directly by UI during file Open or Save command. Invoked by Networking back-end for broadcast?

Networking Back-End Different Back-Ends for each supported protocol (RTP, ConferenceXP Capability). Each back-end accessed via its ProtocolModel object. Back-end is responsible for populating list of “classrooms” (venues). Listens to events coming from the ClassroomModel objects. When the classroom’s Connected property is set to true by the UI, the back-end connects and populates the list of available presentations. Generates and listens to events from all aspects the model regarding decks, slides, sheets, ink, navigation, etc. and automatically broadcasts changes to students.

UI UML