Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it! Hussein Zedan c Software Technology Research Laboratory (STRL) August 24, 2011 Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computi
112
Embed
Informatics Education: Hopes or Hypes OR Ubiquitous ...Computer Science is notInformatics Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Informatics Education: Hopes or HypesOR
Ubiquitous computing will empower us, ONLY ifwe understand it!
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Informatics - The discipline I
Informatics is a multi-disciplinary activity that requires thetalent and expertise of various disciplines in a rather unifiedand integrated fashion: Computational Science, Engineering,Psychology, Sociology and Domain Experts (e.g., Biologist,Chemist, Physicist, Mathematician, Space Scientist CivilEngineer, Archaeologist, etc.).
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Informatics - The discipline II
Computer Science fundamentally concentrates on the theoryand the basics/fundamentals of computations.
Basics titles include Programming Paradigms, Specification,Verification, Logics and Semantics and systems andapplications, such as Operating Systems, Compilers,Databases, Networking, Communication Protocols .
The spectrum varies from the highly theoretical to the highlypractical.
Computer Science is not Informatics
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Informatics - The discipline III
Software Engineering deals with the process and theengineering of building the artifact.
This involves also standards .
We find topics such as, Testing, Requirements, Validation,Certification, Maintenance, Management, Risk, etc.
Software Engineering is not Informatics
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Informatics - The discipline IV
Information Systems focuses on the totality and holisticnature of the artifact: what it is, who it is for and how .
We find topics such as, Requirements, Methodologies,Analysis, etc.
Information Systems is not Informatics
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Informatics - The discipline V
Unlike those disciplines, Informatics is all of the above but inaddition, domains play fundamental and crucial part in itstreatment.
We can see that in the proliferation of the X-Informaticssubjects: for example, Bio-informatics, Health-informatics,Space-informatics, etc.
Even those X-Informatics subjects, only utilises electroniccomputation techniques to solve their problems.
However, domains bring extra models which need to beintegrated with that of the electronic computation.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Informatics and Ubiquity - I
Populations of computing entities will be a significant part ofour environment, performing tasks that support us, and weshall be largely unaware of them. (Mark Weiser, 1994)
In the next five to ten years the computer will be erased fromour consciousness. We will simply not talk about it anylonger, we will not read about it, apart from experts of course.(Joseph Weizenbaum (2001)
Ubiquitous (Informatics) computing will empower us, ifwe understand it. (Robin Milner (2008) )
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Informatics and Ubiquity - II
Informatics is the study of the structure, the behaviour, andthe interactions of natural and engineered computationalsystems. (INFO, Edinbrugh)
The central focus of Informatics is the transformation ofinformation - whether by electronic computation orcommunication, whether by organisms or artefacts.Understanding informational phenomena - such ascomputation, cognition, and communication - enablestechnological advances.
Informatic, as a discipline, should be treated asUbiquitous Computing
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Qualities of an informatics system
What is new about an informatics system?
It will continually make decisions hitherto made by us
It will be vast, maybe 100 times todays systems
It must continually adapt, on-line, to new requirements
Individual system will interact with one another
Can traditional software engineering cope?
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
An Informatics Model I
Entities in a model explain, or are realised by, entities in thephysical world (as in natural science).
Just as we say that Newtons laws explain the movement ofbodies with mass, so we can say in informatics that a modelconsisting of programs and their meaning explains the realityof computers and what their screens display.
What distinguishes the science of informatics is that itsartifacts demand explanation at many levels.
ENTITIES: PROGRAMSrealised by→ COMPUTERS
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
An informatics Model II
Entities and Behaviour in a model explain, or are realised by,entities in the physical worldas in natural science.
ENTITIES:
PROGRAMSrealised by→ COMPUTERS
BEHAVIOUR:
actions on memory, i/orealised by→ keyboard & screen events
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Layered informatics models with behaviour I
Entities and Behaviour in a model explain, or are realised by,entities in the physical worldas in natural science, or in a lowermodel .
ENTITIES:LOGICAL FORMULAS
specify→ PROGRAMS → ASSEBLY CODE→ HARDWARE DESIGN
realised by→ COMPUTERS
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Topics and Laboratories for Informatics
Mixed models
Model Integration and/or linkage
Engineering aspects
Verification and Validation
Language design and cross compilation
Labs include: civil eng, space science, bio-medicine, health, etc
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
A Caculus ofContext-aware Ambients
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
What is CCA?
CCA stands for Calculus of Context-aware Ambients.
It is a process calculus for modelling and reasoning about thebehaviours of context-aware and mobile concurrent systems.
A process calculus is a formalism for the high-level descriptionof interactions, communications, and synchronizationsbetween a collection of independent processes.
CCA is developed in an effort of providing a suitable formalismfor modelling interactions and context-awareness in pervasivesystems.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Why CCA?
To provide a process calculus where mobility andcontext-awareness are first-class citizens.
To provide a formal notation for high-level description ofmobile and context-aware concurrent systems.
To enable formal reasoning about the properties ofcontext-aware systems.
To help understanding the behaviour of mobile andcontext-aware concurrent systems throughsimulation/animation.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Other Related Process Calculi
π-calculus (Milner et al., 1992)
Milner(1992). A calculus of mobile processes. Information andComputation 100 (100): 1–40http://en.wikipedia.org/wiki/Pi-calculus
Ambient Calculus (Cardelli & Gordon, 2000)
Cardelli, L., Gordon, A. (2000). Mobile Ambients. TheoreticalComputer Science 240, 1777–213.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Other Related Process Calculi (cont’d)
Bigraphs (Milner, 2006)
Milner, R. (2006). Pure bigraphs: structure and dynamics.Information and Computation 204(1):60–122.http://www.itu.dk/research/pls/wiki/index.php/A Brief Introduction To Bigraphs
Calculus for Context-Awareness (Zimmer 2005, Bucur 2008)
Zimmer, P. (2005). A Calculus for Context-awareness. Tech.Rep., BRICS.Bucur, D. Nielsen, M. (2008). Secure Data Flow in a Calculusfor Context Awareness. Lecture Notes in Computer ScienceVol. 5065. Springer, PP. 439–456.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Main Features of CCA
A single concept, ambient, to model any entity of a UbiComsystem: users, devices, location, sensors, buildings and so on.
Mobility a la Ambient Calculus:
ambients can be mobile, e.g. a user, a robot or a car.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
What is Context?
Dey (1993):
Context is any information that can be used tocharacterise the situation of an entity. An entity isa person, place, or object that is considered relevantto the interaction between a user and an application,including the user and applications themselves.
Important aspects of context include:
user locationnearby peopleavailable resourcesuser activity
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
What is Context?
Dey (1993):
Context is any information that can be used tocharacterise the situation of an entity. An entity isa person, place, or object that is considered relevantto the interaction between a user and an application,including the user and applications themselves.
Important aspects of context include:
user locationnearby peopleavailable resourcesuser activity
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
What is Context?
Dey (1993):
Context is any information that can be used tocharacterise the situation of an entity. An entity isa person, place, or object that is considered relevantto the interaction between a user and an application,including the user and applications themselves.
Important aspects of context include:
user locationnearby peopleavailable resourcesuser activity
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model
In CCA, a process is described as a hierarchy of nestedambients.
So, the context of each individual (sub-)process correspond tothe surrounding of that process in the hierarchy.
This is obtained by replacing the process by a ‘hole’ in thehierarchy.
A hole is represented by the symbol � and can be thought ofas a place holder.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Examples of Context (cont’d)
Context of a mobile device carried by a user, Bob:
bob[� | Q]
where Q is a continuation process.
Graphically it looks like this:
bob
� | Q
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Examples of Context (cont’d)
Context of a mobile device carried by Bob at the conferenceroom:
conf [bob[� | Q] | R]
where Q and R are continuation processes.
Graphically it looks like this:
conf
bob
� | QR
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Examples of Context (cont’d)
Context of a smart device carried by Bob who is with Alice atconference, Alice carrying a pda:
conf [bob[� | Q] | alice[pda[R] | S ] | T ]
Graphically it looks like this:
conf
bob
� | Q
alice
pda
RS T
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: Syntax
In CCA, a context is described by the following syntax:
C ::= Context0 nil� holen[C ] locationC | P parallel composition(νn) C restriction
where the symbol C stands for context (environment), n rangesover names and P ranges over processes.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: Syntax (cont’d)
The context 0 is the empty context, also called the nilcontext. It contains no context information.
The position of a process in that process’ context is denotedby the symbol �. This is a special context called the holecontext.
The context (νn) C means that the scope of the name n islimited to the context C .
The context n[C ] means that the internal environment of theambient n is described by the context C .
The context C | P says that the process P runs in parallelwith the context C , and so C is part of process P’s context.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: some definitions
Ground context: is a context containing no holes
Example: any process is a ground context.
Context evaluation: Let C1 and C2 be contexts. Theevaluation of the context C1 at the context C2, denoted byC1(C2), is the context obtained by replacing the hole in C1 (ifany) by C2, viz
C1(C2) =
{C1 if C1 is a ground contextC1{� ← C2} otherwise.
where C1{� ← C2} is the substitution of C2 for � in C1.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: Examples
Let e1 be the context of a mobile device carried by Bob at theconference room:
e1 = conf [bob[� | Q]]
Then the process
e1(phone[P]) = conf [bob[phone[P] | Q]]
models Bob at the conference room carrying a mobile phone
while the process
e1(pda[S ]) = conf [bob[pda[S ] | Q]]
models Bob at the conference room carrying a PDA
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: Examples (cont’d)
Graphically it looks like this:
conf
bob
� | QR
e1
conf
bob
phone
PQ
R
e1(phone[P])
conf
bob
pda
SQ
R
e1(pda[S ])
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: Examples (cont’d)
Graphically it looks like this:
conf
bob
� | QR
e1
conf
bob
phone
PQ
R
e1(phone[P])
conf
bob
pda
SQ
R
e1(pda[S ])
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: Examples (cont’d)
Graphically it looks like this:
conf
bob
� | QR
e1
conf
bob
phone
PQ
R
e1(phone[P])
conf
bob
pda
SQ
R
e1(pda[S ])
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Context Model: Exercise
Consider the following process:
conf
bob
phone
PQ
alice
pda
RS T
What is the context of the ambient phone in that process?
What is the context of the ambient alice in that process?
What is the context of the process T in that process?
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context
The algebraic semantics of the context model is given interms of the following equalities
C | 0 = C(Cont-0)
C1 | C2 = C2 | C1
(Cont-1)
C1 | (C2 | C3) = (C1 | C2) | C3
(Cont-2)
(νn) (νm) C = (νm) (νn) C(Cont-3)
(νn) C1 | C2 = (νn) (C1 | C2) if n 6∈ fn(C2)(Cont-4)
where fn(C2) is the set of free names in C2
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context
The algebraic semantics of the context model is given interms of the following equalities
C | 0 = C(Cont-0)
C1 | C2 = C2 | C1
(Cont-1)
C1 | (C2 | C3) = (C1 | C2) | C3
(Cont-2)
(νn) (νm) C = (νm) (νn) C(Cont-3)
(νn) C1 | C2 = (νn) (C1 | C2) if n 6∈ fn(C2)(Cont-4)
where fn(C2) is the set of free names in C2
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context
The algebraic semantics of the context model is given interms of the following equalities
C | 0 = C(Cont-0)
C1 | C2 = C2 | C1
(Cont-1)
C1 | (C2 | C3) = (C1 | C2) | C3
(Cont-2)
(νn) (νm) C = (νm) (νn) C(Cont-3)
(νn) C1 | C2 = (νn) (C1 | C2) if n 6∈ fn(C2)(Cont-4)
where fn(C2) is the set of free names in C2
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context
The algebraic semantics of the context model is given interms of the following equalities
C | 0 = C(Cont-0)
C1 | C2 = C2 | C1
(Cont-1)
C1 | (C2 | C3) = (C1 | C2) | C3
(Cont-2)
(νn) (νm) C = (νm) (νn) C(Cont-3)
(νn) C1 | C2 = (νn) (C1 | C2) if n 6∈ fn(C2)(Cont-4)
where fn(C2) is the set of free names in C2
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context
The algebraic semantics of the context model is given interms of the following equalities
C | 0 = C(Cont-0)
C1 | C2 = C2 | C1
(Cont-1)
C1 | (C2 | C3) = (C1 | C2) | C3
(Cont-2)
(νn) (νm) C = (νm) (νn) C(Cont-3)
(νn) C1 | C2 = (νn) (C1 | C2) if n 6∈ fn(C2)(Cont-4)
where fn(C2) is the set of free names in C2
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context
The algebraic semantics of the context model is given interms of the following equalities
C | 0 = C(Cont-0)
C1 | C2 = C2 | C1
(Cont-1)
C1 | (C2 | C3) = (C1 | C2) | C3
(Cont-2)
(νn) (νm) C = (νm) (νn) C(Cont-3)
(νn) C1 | C2 = (νn) (C1 | C2) if n 6∈ fn(C2)(Cont-4)
where fn(C2) is the set of free names in C2
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context (cont’d)
Additional equalities
(νn) m[C ] = m[(νn) C ] if n 6= m(Cont-5)
(νn) 0 = 0(Cont-6)
C1 = C2 ⇒ (νn) C1 = (νn) C2
(Cont-7)
C1 = C2 ⇒ C1 | C3 = C2 | C3
(Cont-8)
C1 = C2 ⇒ n[C1] = n[C2](Cont-9)
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context (cont’d)
Additional equalities
(νn) m[C ] = m[(νn) C ] if n 6= m(Cont-5)
(νn) 0 = 0(Cont-6)
C1 = C2 ⇒ (νn) C1 = (νn) C2
(Cont-7)
C1 = C2 ⇒ C1 | C3 = C2 | C3
(Cont-8)
C1 = C2 ⇒ n[C1] = n[C2](Cont-9)
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context (cont’d)
Additional equalities
(νn) m[C ] = m[(νn) C ] if n 6= m(Cont-5)
(νn) 0 = 0(Cont-6)
C1 = C2 ⇒ (νn) C1 = (νn) C2
(Cont-7)
C1 = C2 ⇒ C1 | C3 = C2 | C3
(Cont-8)
C1 = C2 ⇒ n[C1] = n[C2](Cont-9)
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context (cont’d)
Additional equalities
(νn) m[C ] = m[(νn) C ] if n 6= m(Cont-5)
(νn) 0 = 0(Cont-6)
C1 = C2 ⇒ (νn) C1 = (νn) C2
(Cont-7)
C1 = C2 ⇒ C1 | C3 = C2 | C3
(Cont-8)
C1 = C2 ⇒ n[C1] = n[C2](Cont-9)
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context (cont’d)
Additional equalities
(νn) m[C ] = m[(νn) C ] if n 6= m(Cont-5)
(νn) 0 = 0(Cont-6)
C1 = C2 ⇒ (νn) C1 = (νn) C2
(Cont-7)
C1 = C2 ⇒ C1 | C3 = C2 | C3
(Cont-8)
C1 = C2 ⇒ n[C1] = n[C2](Cont-9)
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Algebraic Semantics of Context (cont’d)
Additional equalities
(νn) m[C ] = m[(νn) C ] if n 6= m(Cont-5)
(νn) 0 = 0(Cont-6)
C1 = C2 ⇒ (νn) C1 = (νn) C2
(Cont-7)
C1 = C2 ⇒ C1 | C3 = C2 | C3
(Cont-8)
C1 = C2 ⇒ n[C1] = n[C2](Cont-9)
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!
Spatial Reduction Relation
The spatial reduction relation ��
allows the navigation through the hierarchical structure ofcontext.
is defined as follows:
C1 �� C2 iff C1 = (n[C2] | C3) for some name n
Read: C1 contains C2.
Hussein Zedan Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it!