Title: Student presentations, so far
1Student presentations, so far
- GPSPC
- Tommi Arola, Paula Ylönen, Suvi Mikkola
- Handheld GPS
- Antti Castrén
- Car navigation hardware
- Topi Suomalainen, Markus Kuusela
- Scanners
- Mika Lenjas, Juha Kareinen, Jonne Davidsson
- (Large) displays
- Pyry Kettunen
- Small Displays
- Antti Veijalainen
- Memory sticks (1.3.)
- Bernhard Kraker, Jaakko Järvinen
- Virtual reality (15.2)
- Terhi Ahola
- Plotters (5.4)
- Jari Korpi
2Assignment for 1.2. Software architectures
- how a software system is structured and how that
system's elements are meant to interact - Software Architecture in Practice, 2nd Edition,
by Len Bass, Paul Clements, and Rick Kazman. - draw an architecture for a GIS
- what are the elements in your architecture?
- what and how do elements of your architecture
interact?
3Software architecture
- Computer programs are complex
- Information systems usually consist of more than
one computer program - Information systems are really complex
- Typically humans can think about 7 ? 2 things at
the same time
4object of interest currently considering three
things about it, neighbors add 2241 things to
the thought 12 things to think about too
much!
2
2
3
1
4
5object of interest currently considering three
things about it, neighbors add 2211 things to
the thought 9 maybe ok but
assuming the yellow objects do not have an effect!
2
2
3
1
1
6Architecture is the solution to the complexity
problem
- Limit the number of linkages from one element to
another element - i.e. limit the complexity of the network
- Limit the number of ways a neighbor of an element
may affect it - i.e. limit the complexity of the communication
7Different architectures, star
8Example of a star-like architecture
data import
query system
analysis system
glue
data storage
visualization
9GIS with star-like architecture
- What is in the connections?
- data transfer
- commands
- What is in the glue?
- mechanism for temporarily connect two (perhaps
three) elements - one or more workpieces
- What is in the elements?
- hardware and software
10Another example of a star-like architecture
format B
format F
format C
Designating format A as universal we need
much fewer converters
format A
format E
format D
11Different architectures, chain
12Example of a chain-like architecture
Data model
Hardware
DB
Filesystem
Semantics
UI
this kind of chain is often visualized as layers
13chainstar
graphics subsystem
graphics primitives
rendering hardware
Data model
Storage Hardware
DB
Filesystem
Semantics
UI
14Another example of a chain-like architecture
graphics pipeline
rendering -colors -fonts -line widths
geodata -rasters -objects
display buffer
overlay process -coordinates -order -opacity
window on screen
15Yet another example of a chain-like architecture
image processing pipeline
raw image
radiometric correction
atmospheric correction
geometric correction
classifi- cation
16Elements
- Have an internal architecture of their own
- May be general purpose or specific
- for example a workstation, server
- An element is often a domain
- domain is the difficult concept which you may
remember from GIS Design - To understand an element think about its
characteristics
17Domain analysis (Jackson 1995 domain
characteristics)
- static or dynamic?
- tangible (having a physical manifestation) or
intangible (abstract)? - inert, reactive, active?
- autonomous, biddable (vaikutettavissa jollain
lailla), programmable?
18Connections
- reliable, unreliable?
- single purpose, multipurpose?
19Network characteristics
- Static or evolving?
- All systems evolve over time, only dead systems
dont - General structure
- centers?
- connected?
- structure may also emerge (clapping in unison)
- General characteristics
- at least partly a result of the structure
20General characteristics
- Reliability Luotettavuus
- Resilience Toipumiskyky
- Vulnerability Haavoittuvuus
- Sustainability Ylläpidettävyys
21Assignment for 7.2.
- Lecture Topic
- Networks, devices and protocols, distributed
computing - Try to find an example of a distributed GIS and
try to find out about its purposes and users,
architecture, which platforms it is built on,
which protocols it uses, etc.