1. !
!"#$%"&#'(')"#"(%&&
*$+%,'!"&'!-./%"-%0!"&
1"!*/$(&232&
2011
!"#$%&'()%*+(,%+-%"( !"#$%&'(&#*&.(
& (
&
Lan Sun (lansun@kth.se), 15 ECTS (((((/#*&.(*01(2"#$%&'(#30%"(
Hervé Ntareme
Qing An (qinga@kth.se), 15 ECTS
/#4&#*&.(
Michel Hognerud
Jun Gao (jungao@kth.se), 15 ECTS
/.*+25#0(
Laili Aidi (aidi@kth.se), 18 ECTS
Björn Pehrson!
Yasir Ali (yasireal@kth.se), 15 ECTS
SUMMER CSD
2. Remote Management Software Architecture V1.1
!
Revision History
Version Date Responsible Change
V1.0 2011-09-02 Jun Gao Initial version of the document
Cover, Abbreviation, Introduction, Reference,
V1.1 2011-10-07 Laili Aidi
section’s content and format
2
4. Remote Management Software Architecture V1.1
!
Summary
This document describes the detail of the ConDroid Remote Management software design
4
5. Remote Management Software Architecture V1.1
!
Abbreviation
Abbreviations used in this document:
Abbreviation Description
UML Unified Modeling Language
GUI Graphical User Interface
UART Universal asynchronous receiver/transmitter
IOIO A USB I/O breakout board for Android
SMS Short Message Service
5
6. Remote Management Software Architecture V1.1
!
1. Introduction
In this document, we give the whole conception of Condroid Remote Management application through the
software architecture diagram, UML Class diagram and its detail. This document is mainly linked with the
descriptions that have been mentioned in Condroid Remote Management System Architecture & Requirement
[1], and Condroid Remote Management Feature and GUI design [2].
6
7. Remote Management Software Architecture V1.1
!
2. Software Architecture
Figure 1. Software Architecture diagram
The GUI feature is used for local control and software settings. The software is required to be locally started as
user cannot start the software remotely. The software can run as a daemon in the background and wait for any
remote control instruction after it is started locally. Daemon thread cooperates with SMS, calling and Internet
communication module. The Command committer is used to issue the command for GUI or daemon thread.
Moreover, it will use command parser to parse the command. The IOIO thread aims to establish and keep the
connection with IOIO board and create UART channels according to the requirement. The 2 threads, UART
Tx and Rx, will be used for sending command to device and receiving the reply respectively.
7
9. Remote Management Software Architecture V1.1
!
The Condroid Remote Management application will be developed using 21 classes, which are described as
below:
• The CondroidProjectActivity and AboutActivity are used for software introduction.
• The 3 classes in red color (MainActivity, CDDaemon, IOIOThread ) are core modules of the software.
The MainActivity is the portal of this software and it provides console like interface for local control. The
CDDaemon is the daemon thread for remote access and control. The IOIOThread is the instant of IOIO
board.
• The 2 classes of ConsoleView and ConsoleOutputView are the components of Minicom-console like
interface. The ConsoleView is extended for ScrollView for scrolling purpose, while the
ConsoleOutputView is used for output purpose.
• The 3 classes of SettingsActivity, ShtcutActivity and StdbyActivity are the user interface for different
settings. The ShtcutActivity and StdbyActivity classes have their own help topic activities for usage
introduction.
• The Settings, ShtcutSettings and StdbySettings classes are three setting classes and used to generate, read,
write and modify relevant settings configure files.
• The two classes in yellow (CmdCmit, CmdParser) are used for command issuing and command parsing
respectively. CmdCmit will not only issue the command to devices but also commit inner command to
generate, read, write or modify local setting files by using three setting classes.
• The 3 classes in light blue (SmsThread, CallThread and InternetThread) will be generated by daemon to
deal with SMS; dialing and Internet connect control respectively.
• The OutUartThread is going to detect reply from device and return to these replies to relative classes for
display.
9
10. Remote Management Software Architecture V1.1
!
4. References
[1] Condroid System Architecture and Requirement http://csd.xen.ssvl.kth.se/csdlive/content/system-
architecture-requirement Last visited: August, 2011
[2] Condroid Feature & GUI design http://csd.xen.ssvl.kth.se/csdlive/content/remote-management-
system-analysis-design Last visited: October, 2011
10