Communication Model MSE Presentation II Acharaporn Pattaravanichanon.

Slides:



Advertisements
Similar presentations
FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!
Advertisements

Airline Reservation System
CRMS CUSTOMER RELATIONSHIP MANAGEMENT SYSTEM GRADUATE COMMITTEE DR. DANIEL ANDRESEN (MAJOR PROFESSOR) DR. TORBEN AMTOFT DR. MITCHELL L. NEILSEN MSE Project.
Requirements Specification and Management
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.
Final Project Document Presentation Integrated Chat System Team # 4 December 2, 2003 Professor Peter Clarke Phase 1 Melissa Betancourt: Programmer Eric.
Online Hotel Reservation System
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Software Project Transition Planning
City of LA Personnel Department Mobile Application Team 02 1.
System Implementation
Chapter 12 MRP and ERP.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE 2 PRESENTATION Bakor Kamal CIS 895.
Introduction to Information System Development.
BRUE Behavioral Reverse Engineering in UML as Eclipse Plugin MSE Presentation 1 Sri Raguraman.
PHASE 4 SYSTEMS IMPLEMENTATION Application Development SYSTEMS ANALYSIS & DESIGN.
Bogor-Java Environment for Eclipse MSE Presentation II Yong Peng.
AgentTool (III) Dynamic MSE Presentation 1 Binti Sepaha.
ELP Helper MSE Project Presentation I Aghsan Ahmad Major Professor: Dr. Bill Hankley.
Sequence Diagram Generator Presentation II MSE Project / Fall, 2005 Samer AliSaleh Major Advisor: Bill Hankley.
CIS 895 – MSE Project KDD-Research Entity Search Tool (KREST) Presentation 2 Eric Davis
Multi-agent Research Tool (MART) A proposal for MSE project Madhukar Kumar.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Using a Project Model for Assessment of CDIO skills Tomas Svensson, Svante Gunnarsson Linköping University Sweden June
4/16/2004MSE Presentation II1 ESTMD System -- A Web-based EST Model Database System Yinghua Dong.
T Project Review X-tremeIT I1 Iteration
T Final demonstration Tetrastone-group [RosettaNet End-user Interface]
MSE Presentation 2 Lakshmikanth Ganti
Mastergoal Machine Learning Environment Phase III Presentation Alejandro Alliana CIS895 MSE Project – KSU.
Student Curriculum Planning System MSE Project Presentation I Kevin Sung.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Proposal Presentation Prepared by: Condor Technology Solutions, Inc. August 24, 2000.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Purchasing Contracts Management System MSE Project Presentation II By: Arthi Subramanian.
Environment Model Building Tool MSE Presentation 1 Esteban Guillen.
Student Curriculum Planning System MSE Project Presentation III Kevin Sung.
MSE Presentation 1 By Padmaja Havaldar- Graduate Student Under the guidance of Dr. Daniel Andresen – Major Advisor Dr. Scott Deloach-Committee Member Dr.
Self-assembling Agent System Presentation 1 Donald Lee.
Construction 2 BTNC-ILA ISDM Group 3. Agenda Diagram Risk Testing Progress Next Plan Demo.
Chapter 3: Software Project Management Metrics
Project Portfolio Management Business Priorities Presentation.
PRJ566 Project Planning & Management Software Architecture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Packets.
Lab Results Interface Validation Suite WG July 28, 2011.
MSE Portfolio Presentation 1 Doug Smith November 13, 2008
Performance Study of Message Passing in an Event Service: Java RMI vs. TCP Sockets Laxminarayan Muktinutalapati (Lux) Department of Computing and Information.
MSE Presentation 1 Lakshmikanth Ganti
SOLUTION What kind of plan do we need? How will we know if the work is on track to be done? How quickly can we get this done? How long will this work take.
Project Management Organization Scheduling 31 January.
Communication Model for Cooperative Robotics Simulator MSE Presentation 1 Acharaporn Pattaravanichanon.
An Internet Voting System Manager Yonghua Li Kansas State University March 28, 2002 MSE Project - Phase 2.
UML - Development Process 1 Software Development Process Using UML.
AgentTool (III) Dynamic MSE Presentation 2 Binti Sepaha.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
MSE Presentation 3 By Lakshmikanth Ganti Under the Guidance of Dr. Virgil Wallentine – Major Professor Dr. Paul Smith – Committee Member Dr. Mitch Neilsen.
Bogor-Java Environment for Eclipse MSE Presentation III Yong Peng.
How Software Projects Start SW projects start with a need. We need to keep better data on the students in the CSCE Dept. I heard that one of our competitors.
ECE 544 Group Project : Routing KC Huang. Objective Application: message multicast. A message is sent from one sender to 1~3 recipients. Reach a protocol.
1 slc5 TTYP – C++ revisited 1 Which of the following statements are reasonable after the following statement: char* fred = new char[5]; a. fred = bill;
Online MusicCD Store MSE Project Presentation II Presented by: Reshma Sawant Major Professor: Dr. Daniel Andresen.
T Project Review X-tremeIT I1 Iteration
Bogor-Java Environment for Eclipse
CSE784 – Software Studio Jim Fawcett Fall 2006.
Recall The Team Skills Analyzing the Problem (with 5 steps)
Software Design Lecture : 15.
SYSTEMS ANALYSIS & DESIGN
Our Process CMSC 345, Version 1/04.
Presentation transcript:

Communication Model MSE Presentation II Acharaporn Pattaravanichanon

Overview Updated Document Implementation Plan Project Overview Architecture Design Formal Requirement Specification Test Plan Formal Inspection Demo

Updated Document Software Requirement Specification Project Plan

Use Case Diagram

Critical Requirement support the ability to register robot to the system support the ability to send and receive broadcast message Only simulated robot that has broadcast capability shall send or receive broadcast message support the ability to send and receive point-to-point message Only simulated robot that has point-to-point capability shall send or receive point-to-point message. Only simulated robot with active receive link shall receive message. Only simulated robot with active send link shall send message. support the ability to start up or shutdown all the communication links or for each robot.

Project Plan Phase III Construction Phase June 23 – August 19 Modify Phase II document June 23 – June 29 Create component diagram June 29 – July 7 Coding July 8 – July 13 TestingJuly 14 – July 28 User manualJuly 29 – July 30 Project evaluationAugust 2 – August 6 Final presentation slidesAugust 9 – August 10 Prepare final documentationAugust 11 – August 12 Final presentationAugust 19

Implementation Plan TaskDays Revise Document Component Design Coding Testing User Manual Assessment Evaluation Project Evaluation Final Document Total37

Cost Estimation From COCOMO I model estimated time to complete this project = 3.74 months = 568 hours The implementation phase needs 37 days * 7 = 259 hours So far, this project spent time less than 250 hours. This project will spend time less than the estimation.

Project Overview Communication Model registerRobot(name,commType) Robot Environment Control Panel sendMessage(msg,timeStep) getMessage(name,timeStep) Message[] connectToEnv() sendMessages() recvAllMessages() Message Environment setParameter(p)

Architecture Design Class diagram Sequence diagram State diagram

Class diagram

Sequence diagram-register robot

Sequence diagram - send message (Broadcast)

Sequence diagram - send message (Point-to-Point)

Sequence diagram - get message

State Diagram

Formal Requirement Specification (UML/OCL) Invariant 1.Robot has unique name. context RobotCommRecord inv UniqueName: RobotCommRecord.allInstances->forAll(p1,p2| p1 <> p2 implies p1.name <> p2.name)

2. Only robot with broadcast ability can send and receive broadcast message. context RobotCommRecord inv BroadcastAbility1: RobotCommRecord.allInstances.hasQueue.hasMessages ->select(receiver='broadcast' and sender=self.name) ->notEmpty implies self.isBroadcastEnabled = true context r:RobotCommRecord inv BroadcastAbility2: r.hasQueue.hasMessages ->select(receiver='broadcast')->notEmpty implies r.isBroadcastEnabled = true

3.Only robot with point-to-point ability can send and receive point-to-point message. context RobotCommRecord inv P2PAbility1: RobotCommRecord.allInstances.hasQueue.hasMessages ->select(receiver <> 'broadcast' and sender=self.name) ->notEmpty implies self.isP2PEnabled = true context r:RobotCommRecord inv P2PAbility2: r.hasQueue.hasMessages ->select(receiver <> 'broadcast')->notEmpty implies r.isP2PEnabled = true

4. Only robot with active send link can send message. context RobotCommRecord inv sendAbility: RobotCommRecord.allInstances.hasQueue.hasMessages ->select(sender=self.name)->notEmpty implies self.isSendLinkEnabled = true 5. Robot with active receive link can receive messages from other robots context r:RobotCommRecord inv receiveAbility: r.hasQueue.hasMessages->notEmpty implies r.isReceiveLinkEnabled = true

6. Messages are distributed to the right robot queue context RobotCommRecord inv rightQueue: hasQueue.hasMessages->forAll((receiver=self.name) or (receiver='broadcast')) 7. The messages in priorityQueue are ordered by received time context p:PriorityQueue inv priorityQueue: Sequence{1..(p.hasMessages->size-1)}-> forAll(i | p.hasMessages->at(i).receivedTime <= p.hasMessages->at(i+1).receivedTime)

8.If received time is defined, then received time is equal or greater than sent time context m:Message inv rightTime: m.receivedTime.isDefined implies m.receivedTime >= m.sentTime 9.Robots cannot send or receive any messages if all the links are shutdown context c:CommunicationsSystem inv allLinkShutdown: RobotCommRecord.allInstances.hasQueue.hasMessages ->notEmpty implies c.isLinkEnabled = true

10.Robots cannot get the messages which are sent by themselves. context r:RobotCommRecord inv sendToYourself: r.hasQueue.hasMessages->forAll(sender <> r.name)

registerRobot(n:String,c:Integer) –Precondition n.isDefined c.isDefined (c=1 or c=2 or c=3) robots->select(name=n)->isEmpty –Post condition robots->exists(r | r.oclIsNew and r.name = n) robots->select(name=n)->size = 1 (c=1)implies robots->select(name=n and isBroadcastEnabled=true and isP2PEnabled=false)->notEmpty (c=2) implies robots->select(name=n and isP2PEnabled=true and isBroadcastEnabled=false )->notEmpty (c=3) implies robots->select(name=n and isBroadcastEnabled=true and isP2PEnabled=true)->notEmpty

sendMessage(msg:Message,timeStep:Integer) –Precondition isLinkEnabled = true robots->select(name=msg.sender)->forAll(isSendLinkEnabled = true) msg.receiver = 'broadcast' implies robots->select(name=msg.sender) ->forAll(isBroadcastEnabled = true) msg.receiver <> 'broadcast' implies robots->select(name=msg.sender)-> forAll(isP2PEnabled = true) – Post condition msg.sentTime = timeStep msg.receivedTime = timeStep msg.receiver = 'broadcast' implies robots->select(name <> msg.sender and isReceiveLinkEnabled = true and isBroadcastEnabled = true) ->forAll(r| r.hasQueue.hasMessages->asSet = msg.receiver <> 'broadcast' implies robots->select(name = msg.receiver and isReceiveLinkEnabled = true and isP2PEnabled = true) ->forAll(r| r.hasQueue.hasMessages->asSet =

getMessage(n:String,timeStep:Integer) :Set(Message) –Precondition n.isDefined robots.exists(r| r.name=n) timeStep.isDefined timeStep > 0 –Post condition robots->select(name = n) ->forAll(r | r.hasQueue.hasMessages->asSet = - ->select(receivedTime = timeStep)->asSet) robots->select(name=n) ->forAll(r| result = ->select(receivedTime = timeStep)->asSet)

Test Plan – Features to be tested Register robot. Sending broadcast message Sending point-to-point message Receiving broadcast message Receiving point-to-point message Start up all links Shutdown all links Set system range Set system delay Set system delivery probability Enable broadcast capability Disable broadcast capability Enable point-to-point capability Disable point-to-point capability Start up robot’s send link Shutdown robot’s send link Start up robot’s receive link Shutdown robot’s receive link Set robot range Set robot delay Set robot deliver probability

Test Plan Unit testing Integration testing System testing

Formal Inspection 1. The symbols using in use case diagram conform to UML diagram. 2. The symbols using in class diagram conform to UML diagram. 3. The symbols using in sequence diagram conform to UML diagram. 4. Use case diagram and descriptions are clear and well organized. 5. Class diagram and descriptions are clear and well organized. 6. Each message passing in sequence diagram is the method in class diagram. 7. Each message passing in sequence diagram must be defined as public method. 8. Class names are well defined and indicate their meaning 9. The architecture design covers the entire requirement defined in Software Requirement Specification.

Demo Start Communication System Register 3 robots –Robot “A” has only broadcast ability –Robot “B” has only P2P ability –Robot “C” has both broadcast and P2P Send and receive message Disable incoming link Disable outgoing link