140 likes | 269 Views
Component-oriented approaches to context-aware systems ECOOP’04, Oslo. Why are we here?. To think about how components and objects interact with context and ubiquity Positive – design, architecture, discovery, … Negative – interference, inadequacy, …
E N D
Component-oriented approaches to context-aware systemsECOOP’04, Oslo
Why are we here? • To think about how components and objects interact with context and ubiquity • Positive – design, architecture, discovery, … • Negative – interference, inadequacy, … • To identify any trends that can be fed into future EU research programmes • Workshop reader, report to FET officers, … • To meet each other and find scope for future work together • EU project proposals, papers, visits, more workshops, …
Brought to you by… • Simon Dobson (TCD, IE) • Paddy Nixon (University of Strathclyde, UK) • Achilles Kameas (CTI, GR) • Siobhán Clarke (TCD, IE) • Dominic Duggan (Stevens Institute, US) • Gaetano Borriello (University of Washington, US)
The environment • Ambient computing: potentially every action has both physical and informational significance • Blurs the traditional distinction between atoms and bits • All events are potentially mediated by, or significant to, software • Achieve coherence between both worlds • An ambient system “sees its own reflection” more strongly than most Environment Application Physical action Informational effect Physical effect Decision Informational effect One can encounter “inter-process communication” via the environment, intentionally or otherwise Decision
Are components any good? • The designer of objects and components impose their view of the world • What the aspects community calls “the tyranny of the primary decomposition” • This makes a certain amount of sense in traditional systems, but causes some problems for adaptable ones • Is the model adopted any good? • Does it conflict with other models in other components? • And when will we find out? • Does the fluidity of ambient systems change the landscape?
A problem that isn’t in a component Dude! – where’s my printout? The same sequence of actions but motivated by a different “right” behaviour for the user • The “Dude! – where’s my printout?” problem…
Issue 1 – stability and continuity How do we engineer systems that are stable under minor perturbations and will react to events without being swamped by noise? • The selection of resources depends on all the context • A behaviour that’s stable at a point may not be stable as a process when perturbed, for example by movement • The solution isn’t in any component, but is instead in the choreography and continuity of the process • And where does that live in the design?…
Are applications any good? Developer: User: Where was the last project meeting? Was that a file I had, or a URL? Can I get URLs from this device, or just files? Why didn’t someone remind me to bring that? Identify information build tools Use tools lose information
Issue 2 – composition How will we go about composing components into larger functionalities, in a way that is graspable by users? • Components and objects need to help the users as well as the developers • …which hasn’t really been the case up until now • Architectural and interactional elements to this question • Architecture – component selection, interoperability • Interactional – suitability, compatibility • It may be that we need a different approach to composing components and building “applications”
Can we know too much? Remind user of something they’ve forgotten Find like-minded people and introduce them Spread information to increase democratic participation • In order to provide adaptability in applications we need to build some very rich models of users’ preferences, tasks and behaviour • Individuals – what they buy, where they go • Groups – who they meet, what they do • Societies – how they interact, how information spreads • Models can be used and abused with equal facility Constant stream of advertising and spam Find terrorist cells and interdict them Find environmental protesters and disrupt them Spread dis-information with a patina of respectability
Issue 3 – security and privacy How do we balance the needs of analysis and collection of context against the needs for privacy and security in human interactions with each other, with companies and with the state? • More than most technology, context-awareness is a double-edged sword • Can we get the benefits without compromising ourselves? • Can we minimise the downside risk? • If we’re to have the ideas accepted in society, these issues need to be part of the functional specification of components and composition architectures
What does it all mean? • Ambient computing offers us a level of composition and adaptation we’ve never seen before • Find resources from the environment • Adapt user interfaces and behaviours to new devices • In many ways the possibilities of the technology easily outstrips our ability to program with it • Finding resources is easy – but which resource is best? • Lots of new devices – but where do they fit in the users’ conceptual models? • We can only build what we know how to build
Issue 4 – semantics and design What does a program denote when it meets part of itself as it goes along? • We need to strike the right balance • Dynamism flexibility, change, appropriateness • Similarity familiarity, comfort, ease of analysis • Must be understood by users and designers • Closely related to stability and composition – in fact, this is probably the unifying “grand challenge” • Behavioural envelopes within which the system can adapt • Denotations are open, but may still have properties to analyse • …which need to be supported by the design methods we use
Conclusions – such as they are • We can’t take a narrow view of components and objects when considering ambient computing • All the context, all the issues • Many issues come in the choreography, not the components • Systems will only be accepted if they address privacy concerns • We can only build what we understand, so we need more understanding quickly! We must bear in mind, then, that there is nothing more difficult or dangerous or more doubtful of success than an attempt to introduce a new order of things. Niccoló Machiavelli, The Prince, 1515