23
Component-Based Component-Based Software Software Engineering Engineering Oxygen Oxygen Paul Krause Paul Krause

Component-Based Software Engineering Oxygen Paul Krause

Embed Size (px)

Citation preview

Page 1: Component-Based Software Engineering Oxygen Paul Krause

Component-Based Component-Based Software EngineeringSoftware Engineering

OxygenOxygen

Paul KrausePaul Krause

Page 2: Component-Based Software Engineering Oxygen Paul Krause

Lecture 10 - OxygenLecture 10 - Oxygen

ContentsContents Introduction to the Oxygen ProjectIntroduction to the Oxygen Project Technological themesTechnological themes User technologiesUser technologies ConclusionsConclusions

Page 3: Component-Based Software Engineering Oxygen Paul Krause

Beyond Objects,Beyond Objects,Beyond ComponentsBeyond Components

Ubiquitous ComputingUbiquitous Computing Embedded devicesEmbedded devices Mobile devicesMobile devices Ad-hoc, dynamically changing networksAd-hoc, dynamically changing networks

Ambient IntelligenceAmbient Intelligence Sensitive and responsiveSensitive and responsive As effective away as at homeAs effective away as at home ““Social” user interfacesSocial” user interfaces

Page 4: Component-Based Software Engineering Oxygen Paul Krause

OXYGEN&HYDROGEN

PERVASIVE, HUMAN-CENTRED COMPUTING

MIT LABORATORY FOR COMPUTER SCIENCEMIT ARTIFICIAL INTELLIGENCE LABORATORY

PHILIPS RESEARCH

Page 5: Component-Based Software Engineering Oxygen Paul Krause

Oxygen PartnershipOxygen Partnership

Massachusetts Institute of TechnologyMassachusetts Institute of Technology Laboratory for Computer ScienceLaboratory for Computer Science Artificial Intelligence LaboratoryArtificial Intelligence Laboratory

Acer (Taiwan)Acer (Taiwan) Delta Electronics (Taiwan)Delta Electronics (Taiwan) Hewlett Packard (USA)Hewlett Packard (USA) Nippon Telephone and Telegraph Inc. (Japan)Nippon Telephone and Telegraph Inc. (Japan) Nokia Research Centre (Finland)Nokia Research Centre (Finland) Philips Research (Netherlands)Philips Research (Netherlands)

Page 6: Component-Based Software Engineering Oxygen Paul Krause

Pervasive, Human-Centred Pervasive, Human-Centred ComputingComputing

Page 7: Component-Based Software Engineering Oxygen Paul Krause

Pervasive, Human-Centred Pervasive, Human-Centred ComputingComputing

Computation will be pervasive (“like Computation will be pervasive (“like Oxygen in the air we breath”)Oxygen in the air we breath”) In hand-held and personal devicesIn hand-held and personal devices In our homes, offices, cars…In our homes, offices, cars…

Each device will adopt our “information Each device will adopt our “information personality” when we interact with itpersonality” when we interact with it

We will interact with them using speech, We will interact with them using speech, gestures, facial expressionsgestures, facial expressions

Page 8: Component-Based Software Engineering Oxygen Paul Krause

Requirements for Pervasive Requirements for Pervasive ComputingComputing

Must be accessible anywhereMust be accessible anywhere Must adapt to changeMust adapt to change

In user requirementsIn user requirements In operating conditionsIn operating conditions

Must never shut down or rebootMust never shut down or reboot Individual components may come and go, but Individual components may come and go, but

Oxygen must be available all the timeOxygen must be available all the time

Page 9: Component-Based Software Engineering Oxygen Paul Krause

Addressing Human NeedsAddressing Human Needs

Speech and Vision technologies to enable Speech and Vision technologies to enable us to communicate with Oxygenus to communicate with Oxygen

Individualised access and collaboration Individualised access and collaboration technologiestechnologies

Devices embedded in home, office and Devices embedded in home, office and cars to sense and affect our needscars to sense and affect our needs

Hand-held devices to empower us to Hand-held devices to empower us to compute and communicate wherever we compute and communicate wherever we areare

Page 10: Component-Based Software Engineering Oxygen Paul Krause

Technological themesTechnological themes

Distribution and mobilityDistribution and mobility People, resources and servicesPeople, resources and services

Semantic contentSemantic content What we mean, not what we sayWhat we mean, not what we say

Adaptation and changeAdaptation and change To enable us to act in a dynamic worldTo enable us to act in a dynamic world

Information personalitiesInformation personalities Privacy, security and form of interactionsPrivacy, security and form of interactions

Page 11: Component-Based Software Engineering Oxygen Paul Krause

Semantic contentSemantic content

Time flies like and arrowTime flies like and arrow

Fruit flies like a bananaFruit flies like a banana

Page 12: Component-Based Software Engineering Oxygen Paul Krause

Necessary InformationNecessary Information

Information personalityInformation personality Uses whole lifestyle to identify information Uses whole lifestyle to identify information

needsneeds

Adaptation and changeAdaptation and change Information and advice will be tailored to Information and advice will be tailored to

contextcontext

Page 13: Component-Based Software Engineering Oxygen Paul Krause

Devices and NetworksDevices and Networks

Universally accessible devicesUniversally accessible devices E21s, embedded in the environmentE21s, embedded in the environment H21s, Hand-held devicesH21s, Hand-held devices

Adapt automatically, orAdapt automatically, or Modified explicitlyModified explicitly

To address specific user preferencesTo address specific user preferences

Page 14: Component-Based Software Engineering Oxygen Paul Krause

Stationary DevicesStationary Devices

Linked to local sensors and actuatorsLinked to local sensors and actuators Monitor and change room temperatureMonitor and change room temperature Check and close doorsCheck and close doors Redirect e-mailRedirect e-mail

Can act for us, even when we’re Can act for us, even when we’re thousands of miles awaythousands of miles away

Page 15: Component-Based Software Engineering Oxygen Paul Krause

But?But?

How do we:How do we: Register sensors with all and only the relevant Register sensors with all and only the relevant

listenerslisteners Ensure actuators do not receive conflicting Ensure actuators do not receive conflicting

requestsrequests Safeguard the networks against attacks from Safeguard the networks against attacks from

viruses, attempts to access secure viruses, attempts to access secure information, …information, …

Page 16: Component-Based Software Engineering Oxygen Paul Krause

Hand-held devicesHand-held devicesMultiple modes ofCommunication

Configurable to a range of

communication protocols

Serve as:• cellular phones• radios• GPS• television• PDA

May offload communication and computation to nearbyE21s

Page 17: Component-Based Software Engineering Oxygen Paul Krause

NetworksNetworks

Support dynamically changing Support dynamically changing configurations of devicesconfigurations of devices

Able to identify devices and services by Able to identify devices and services by how we intend to use themhow we intend to use them

Enable us to access information and Enable us to access information and services securely and privatelyservices securely and privately

Enable dynamic creation of “collaborative Enable dynamic creation of “collaborative regions” - local; building-wide; district-wideregions” - local; building-wide; district-wide

Page 18: Component-Based Software Engineering Oxygen Paul Krause

User TechnologiesUser Technologies

Speech and VisionSpeech and Vision

Knowledge AccessKnowledge Access

AutomationAutomation

CollaborationCollaboration

Page 19: Component-Based Software Engineering Oxygen Paul Krause

Speech and VisionSpeech and Vision

Main modes of interaction will be spoken Main modes of interaction will be spoken language and visual cueslanguage and visual cues

Use of vision to augment speech Use of vision to augment speech understandingunderstanding Facial expressionsFacial expressions Lip movementsLip movements GazeGaze

Graceful switching between different Graceful switching between different domainsdomains

Page 20: Component-Based Software Engineering Oxygen Paul Krause

Knowledge AccessKnowledge Access

Individualised Knowledge AccessIndividualised Knowledge Access Universal access to informationUniversal access to information

Content-based searches/manipulations of Content-based searches/manipulations of datadata

Information stored in different formats: text; Information stored in different formats: text; graphics; video clips …graphics; video clips …

Searches Searches mustmust return small amount of return small amount of most relevant informationmost relevant information

Page 21: Component-Based Software Engineering Oxygen Paul Krause

AutomationAutomation

Processes for automating and tuning Processes for automating and tuning repetitive information and control tasks repetitive information and control tasks must bemust be NaturalNatural Easy-to-useEasy-to-use CustomisableCustomisable AdaptiveAdaptive

E.g. set up the house for your arrival homeE.g. set up the house for your arrival home Set up equipment for a serious operationSet up equipment for a serious operation

Page 22: Component-Based Software Engineering Oxygen Paul Krause

CollaborationCollaboration

Enable people to engage in group Enable people to engage in group activitiesactivities Secure “collaborative regions”Secure “collaborative regions”

Trace group actionsTrace group actions Annotated trail of issues, decisions, Annotated trail of issues, decisions,

documents, conversations …documents, conversations … All entities in the traces linked in a All entities in the traces linked in a

semantic websemantic web

Page 23: Component-Based Software Engineering Oxygen Paul Krause

(Their) Conclusions(Their) Conclusions

The Oxygen technologies will lead to:The Oxygen technologies will lead to: Profound leap in human productivityProfound leap in human productivity Anywhere, anytime, people will be able toAnywhere, anytime, people will be able to

Automate routine tasksAutomate routine tasks Access knowledgeAccess knowledge Collaborate with othersCollaborate with others

Significant amplification of human Significant amplification of human capabilities throughout the worldcapabilities throughout the world