SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Computational Fields meet Augmented Reality:
Perspectives and Challenges
Danilo Pianini, Angelo Croatti, Mirko Viroli, Alessandro Ricci
{danilo.pianini, a.croatti, mirko.viroli, a.ricci}@unibo.it
Alma Mater Studiorum—Universit`a di Bologna a Cesena
Spatial and COllective PErvasive Computing Systems (SCOPES)
September 21, 2015 - Cambridge, USA
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 1 / 25
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 2 / 25
Introduction Motivation
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 3 / 25
Introduction Motivation
Why Augmented Reality and Computational Fields?
Differences
They are definitely different entities
CF is a programming abstraction. AR is a mean of interaction.
CF focuses on collectivity, AR (mostly) on the single user.
Commonalities
They share a common context of application
Both are devoted at environments pervaded with computational
devices
Both are bound to the physical world
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 3 / 25
Augmented Reality Basics
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 4 / 25
Augmented Reality Basics
Definition
Augmented Reality
is a technology that allows the user to see the real world, with virtual
objects superimposed upon or mixed with the real world [Azu97].
The ultimate goal is a seamless integration of reality and virtuality
Mostly via see-through devices
Images from Microsoft Hololens presentation video
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 4 / 25
Augmented Reality Basics
Degrees of augmentation
GHOST
AGENT
GHOST
BODY STREET
LAMP
PLAYER
BODY
PLAYER
ASSISTANT
AGENT
MIRROR WORLD
PHYSICAL WORLD
8
Augmentation can happen at different levels:
1 Unrelated to the elements in the user’s FOV
E.g. displaying a map on a visual overlay
2 Dynamically associated to elements in the user’s FOV
E.g. displaying historical information next to a monument in FOV
3 Entirely virtual and interactive elements on real world
E.g. the two images of the previous slide, the ghost game [RPTC15]
Image on left: DashWare. Image on right from [RPTC15]
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 5 / 25
Computational fields Introduction to aggregate programming and computational fields
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 6 / 25
Computational fields Introduction to aggregate programming and computational fields
Manifesto of aggregate computing
Main observation
In a world with ever increasing number of deployed devices, one
conveniently views a dense aggregation of interacting devices as a discrete
approximation of the space of computational environment through which
they are distributed.
neighborhood
device
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 6 / 25
Computational fields Introduction to aggregate programming and computational fields
Manifesto of aggregate computing
Main observation
1 the reference “machine” for pervasive computing processes is
abstracted to be the continuum of computational devices;
2 the reference “elaboration process” is the manipulation of a physically
distributed data structure;
3 how computation is carried on by the cooperation of devices in that
region is hidden “under-the-hood” of the model/platform
neighborhood
device
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 7 / 25
Computational fields Introduction to aggregate programming and computational fields
Pervasive continuum and computational fields
Aggregate computing
From “what value the single device computes”...
...to “what distributed data structure the pervasive fabric computes”
The notion of computational field arises [MZ09, BB06]
⇒ a map from the space to (structured) values
typically evolving over time, possibly self-stabilising
better “understood” on continuous domains
neighborhood
device
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 8 / 25
Computational fields Languages for aggregate computing
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 9 / 25
Computational fields Languages for aggregate computing
Existing languages
MIT Proto [BB06] is the most known and successful
Developed at MIT and maintained at BBN Technologies
Functional language, LISP-like syntax (I know you hate it too)
All devices run the same program
Computation happens in rounds:
Every device sleeps for some time
Processes the messages received from the neighbours
Executes its program
Sends all the neighbours its result
Complex operational semantics
Difficult to maintain and extend
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 9 / 25
Computational fields Languages for aggregate computing
Field Calculus
A “distillate” of Proto
Provides a lightweight operational semantics [VDB13]
((((LISP-like syntax))))
Still a functional language
Simple enough to formally prove properties, powerful enough to be
universal (proved!)
Theoretical object, no runtime nor simulation tool provided
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 10 / 25
Computational fields Languages for aggregate computing
Protelis [PVB15]
Ordinary language features
Functional language
Same operational semantics of the field calculus
C-family syntax with infix operators
Java interoperability: static methods imports and calls, method
invocation with dynamic binding
Higher order functions (functions as arguments, lambdas)
Dynamic code
Suggested read [BPV15]
Jacob Beal, Danilo Pianini, and Mirko Viroli. Aggregate programming for
the internet of things.
IEEE Computer, 48(9), 2015
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 11 / 25
Computational fields Languages for aggregate computing
Code example
def count() {
rep(x<-0) { x + 1 }
}
def maxh(field) { maxHood(nbr(field)) }
def distanceTo(source) {
rep (d <- Infinity) {
mux (source) { 0 } else { minHood(nbr(d) + nbrRange) }
}
}
def distanceToWithObstacle(source, obstacle) {
if (obstacle) { Infinity } else { distanceTo(source) }
}
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 12 / 25
Computational fields Languages for aggregate computing
Architecture
Implementation, distribution
Based on Xtext
Eclipse plugin
Now distributed through Maven Central a
Integrated with Alchemist [PMV13]
Easy to port to new platforms
a
artifact: org.protelis:protelis
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 13 / 25
Augmented Fields Augmented reality as visual interface for fields
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 14 / 25
Augmented Fields Augmented reality as visual interface for fields
See the fields
Inject the ability to use AR to see the ongoing CF computation
How
Read the program output, display it properly
Requires basically no intervention on the CF program
Why
The mapped field may be directly mapped to the user (e.g. a crowd
warning system)
Useful for seeing the shape of a field while developing
Limitations
Some fields cannot be trivially mapped to a graphical output
How would you map a field of anonymous functions?
No interaction
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 14 / 25
Augmented Fields Augmented reality as visual interface for fields
User view
Crowd detection scenario: change the perceived hue in such a way that
dangerously dense areas are properly advertised.
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 15 / 25
Augmented Fields Augmented reality as visual interface for fields
Developer view
Crowd detection program development: see the field.
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 16 / 25
Augmented Fields Augmented reality-based input for CF program
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 17 / 25
Augmented Fields Augmented reality-based input for CF program
Weak interaction
Provide input to a CF program through AR interaction
How
Connect the (processed) AR input to the “sensors” of a CF program
Requires basically no intervention on the CF program
New information must be added to an existing device participating
the aggregate
Why
Some system settings could be very naturally set by means of a
gesture
Limitations
The new information is constrained in a device (a single point in
space)
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 17 / 25
Augmented Fields Augmented reality-based input for CF program
Strong interaction
GHOST
AGENT
GHOST
BODY STREET
LAMP
PLAYER
BODY
PLAYER
ASSISTANT
AGENT
MIRROR WORLD
PHYSICAL WORLD
8
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 18 / 25
Augmented Fields Augmented reality-based input for CF program
Strong interaction
Inject new information that lives in a “Mirror World”
How
Modify the CF program to “sustain” the existence of entities in areas
where no device is located
e.g. with a field of mappings between virtual entities and their position
Why
Support for highest degree of augmented reality
Mixed real-virtual collective applications
Limitations
The program must be conceived with this kind of interaction in mind
Harder to realize
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 19 / 25
Augmented Fields Computational fields as enabling technology for AR applications
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 20 / 25
Augmented Fields Computational fields as enabling technology for AR applications
A look the other way around
We have discussed increasing degrees of interaction between augmented
reality and computational fields, up to a “strong” interaction, but...
...are computational fields a valid abstraction for creating such programs?
Progression
“Weak” interaction is almost a free lunch
“Strong” interaction seems powerful, but requires CF programs to be
designed with AR in mind
AR is no longer confined to be an I/O component of the system, it
impacts the “business logic” of the application instead
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 20 / 25
Augmented Fields Computational fields as enabling technology for AR applications
Mirror Worlds on Augmented Fields
Basic strategy:
Switch from a simple field of mirrored entities to a field of entities with
location
Exploit CF programming to keep the entities alive and their status
aligned on multiple devices
If entities have their own behavior, mobile code support is required
[DVPB15]
Reusable building blocks can be exploited in order to devise a
“standard” solution [BPV15]
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 21 / 25
Augmented Fields Example
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 22 / 25
Augmented Fields Example
Aggregate triage
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 22 / 25
Conclusion Conclusion and future work
Outline
1 Introduction
Motivation
2 Augmented Reality
Basics
3 Computational fields
Introduction to aggregate programming and computational fields
Languages for aggregate computing
4 Augmented Fields
Augmented reality as visual interface for fields
Augmented reality-based input for CF program
Computational fields as enabling technology for AR applications
Example
5 Conclusion
Conclusion and future work
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 23 / 25
Conclusion Conclusion and future work
Conclusion
We noted that both computational fields and augmented reality work
best in environments densely populated with computational devices
We have explored increasing degrees of integration
AR as UI ⇒ not hard, no change in aggregate programs
Local input from AR devices ⇒ still not hard, still no change
Injection of (possibly proactive) augmented entities, ⇒ requires CF
programs to be properly designed
Modern aggregate programming languages support code mobility and
reusability
We believe that CF are a promising programming abstraction for
supporting AR applications, and languages and technologies are maturing
Future work
Build a working demo is the most effective way of experimentally confirm
our hypothesis.
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 23 / 25
References
References I
Ronald Azuma.
A survey of augmented reality.
6(4):355–385, 1997.
Jacob Beal and Jonathan Bachrach.
Infrastructure for engineered emergence on sensor/actuator networks.
IEEE Intelligent Systems, 21(2), 2006.
Jacob Beal, Danilo Pianini, and Mirko Viroli.
Aggregate programming for the internet of things.
IEEE Computer, 48(9), 2015.
Ferruccio Damiani, Mirko Viroli, Danilo Pianini, and Jacob Beal.
Code mobility meets self-organisation: A higher-order calculus of computational fields.
In Susanne Graf and Mahesh Viswanathan, editors, Formal Techniques for Distributed
Objects, Components, and Systems, volume 9039 of Lecture Notes in Computer Science,
pages 113–128. Springer International Publishing, 2015.
Marco Mamei and Franco Zambonelli.
Programming pervasive and mobile computing applications: The tota approach.
ACM Transactions on Software Engineering and Methodologies, 18(4), 2009.
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 24 / 25
References
References II
Danilo Pianini, Sara Montagna, and Mirko Viroli.
Chemical-oriented simulation of computational systems with Alchemist.
Journal of Simulation, 2013.
Danilo Pianini, Mirko Viroli, and Jacob Beal.
Protelis: Practical aggregate programming.
In Roger L. Wainwright, Juan Manuel Corchado, Alessio Bechini, and Jiman Hong, editors,
Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca,
Spain, April 13-17, 2015, pages 1846–1853, Salamanca, Spain, 2015. ACM.
Alessandro Ricci, Michele Piunti, Luca Tummolini, and Cristiano Castelfranchi.
The mirror world: Preparing for mixed-reality living.
IEEE Pervasive Computing, 14(2):60–63, 2015.
Mirko Viroli, Ferruccio Damiani, and Jacob Beal.
A calculus of computational fields.
In Carlos Canal and Massimo Villari, editors, Advances in Service-Oriented and Cloud
Computing, volume 393 of Communications in Computer and Information Sci., pages
114–128. Springer Berlin Heidelberg, 2013.
Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 25 / 25

Contenu connexe

Similaire à Computational Fields meet Augmented Reality: Perspectives and Challenges

Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Danilo Pianini
 
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...Danilo Pianini
 
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Andrea Omicini
 
Universal programmability how ai can help
Universal programmability how ai can helpUniversal programmability how ai can help
Universal programmability how ai can helpCS, NcState
 
Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsRoberto Casadei
 
A Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsA Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsRoberto Casadei
 
ScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based CoordinationScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based CoordinationGianluca Aguzzi
 
AIR WRITING USING PYTHON (2021-2022)
AIR WRITING USING PYTHON (2021-2022)AIR WRITING USING PYTHON (2021-2022)
AIR WRITING USING PYTHON (2021-2022)IRJET Journal
 
The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemNicole Wells
 
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...Stefano Mariani
 
A Framework For Performance Analysis Of Co-Array Fortran
A Framework For Performance Analysis Of Co-Array FortranA Framework For Performance Analysis Of Co-Array Fortran
A Framework For Performance Analysis Of Co-Array FortranDon Dooley
 
Mixed, Virtual, and Augmented Reality - Getting outside and back into buildings
Mixed, Virtual, and Augmented Reality - Getting outside and back into buildingsMixed, Virtual, and Augmented Reality - Getting outside and back into buildings
Mixed, Virtual, and Augmented Reality - Getting outside and back into buildingsLeif Oppermann
 
9. oo languages
9. oo languages9. oo languages
9. oo languagesAPU
 
9.oo languages
9.oo languages9.oo languages
9.oo languagesAPU
 
DWF WP2: The Cowboy project
DWF WP2: The Cowboy projectDWF WP2: The Cowboy project
DWF WP2: The Cowboy projectRon Burger
 
Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study
 Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study
Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary StudyOlivier Le Goaër
 
AEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS-ACCESSIBLE Projects
 
Knowledge Engineering For Automated Planning
Knowledge Engineering For Automated PlanningKnowledge Engineering For Automated Planning
Knowledge Engineering For Automated Planningahmad bassiouny
 

Similaire à Computational Fields meet Augmented Reality: Perspectives and Challenges (20)

Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017Practical Aggregate Programming with Protelis @ SASO2017
Practical Aggregate Programming with Protelis @ SASO2017
 
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
Protelis: Practical Aggregate Programming - Symposium on Applied Computing (S...
 
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
 
Universal programmability how ai can help
Universal programmability how ai can helpUniversal programmability how ai can help
Universal programmability how ai can help
 
Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive Systems
 
A Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsA Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive Ecosystems
 
ScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based CoordinationScaFi-Web, A Web-Based application for Field-based Coordination
ScaFi-Web, A Web-Based application for Field-based Coordination
 
AIR WRITING USING PYTHON (2021-2022)
AIR WRITING USING PYTHON (2021-2022)AIR WRITING USING PYTHON (2021-2022)
AIR WRITING USING PYTHON (2021-2022)
 
The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing Problem
 
Partial Compilers
Partial CompilersPartial Compilers
Partial Compilers
 
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Ma...
 
A Framework For Performance Analysis Of Co-Array Fortran
A Framework For Performance Analysis Of Co-Array FortranA Framework For Performance Analysis Of Co-Array Fortran
A Framework For Performance Analysis Of Co-Array Fortran
 
Mixed, Virtual, and Augmented Reality - Getting outside and back into buildings
Mixed, Virtual, and Augmented Reality - Getting outside and back into buildingsMixed, Virtual, and Augmented Reality - Getting outside and back into buildings
Mixed, Virtual, and Augmented Reality - Getting outside and back into buildings
 
9. oo languages
9. oo languages9. oo languages
9. oo languages
 
9.oo languages
9.oo languages9.oo languages
9.oo languages
 
DWF WP2: The Cowboy project
DWF WP2: The Cowboy projectDWF WP2: The Cowboy project
DWF WP2: The Cowboy project
 
Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study
 Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study
Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study
 
system software
system softwaresystem software
system software
 
AEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web application
 
Knowledge Engineering For Automated Planning
Knowledge Engineering For Automated PlanningKnowledge Engineering For Automated Planning
Knowledge Engineering For Automated Planning
 

Plus de Danilo Pianini

Time fluid field-based Coordination
Time fluid field-based CoordinationTime fluid field-based Coordination
Time fluid field-based CoordinationDanilo Pianini
 
Versioning and License selection
Versioning and License selectionVersioning and License selection
Versioning and License selectionDanilo Pianini
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationDanilo Pianini
 
Enforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationEnforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationDanilo Pianini
 
Productive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control SystemsProductive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control SystemsDanilo Pianini
 
Towards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems DesignTowards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems DesignDanilo Pianini
 
Continuous integration and delivery
Continuous integration and deliveryContinuous integration and delivery
Continuous integration and deliveryDanilo Pianini
 
Democratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineerDemocratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineerDanilo Pianini
 
Simulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and ScalaSimulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and ScalaDanilo Pianini
 
Software development made serious
Software development made seriousSoftware development made serious
Software development made seriousDanilo Pianini
 
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...Danilo Pianini
 
Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)Danilo Pianini
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Danilo Pianini
 
From Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist TaleFrom Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist TaleDanilo Pianini
 
SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013Danilo Pianini
 
Engineering Computational Ecosystems
Engineering Computational EcosystemsEngineering Computational Ecosystems
Engineering Computational EcosystemsDanilo Pianini
 
Recipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hoursRecipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hoursDanilo Pianini
 
A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...Danilo Pianini
 
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Danilo Pianini
 

Plus de Danilo Pianini (20)

Time fluid field-based Coordination
Time fluid field-based CoordinationTime fluid field-based Coordination
Time fluid field-based Coordination
 
Versioning and License selection
Versioning and License selectionVersioning and License selection
Versioning and License selection
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Enforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationEnforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automation
 
Productive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control SystemsProductive parallel teamwork: Decentralized Version Control Systems
Productive parallel teamwork: Decentralized Version Control Systems
 
Towards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems DesignTowards a Foundational API for Resilient Distributed Systems Design
Towards a Foundational API for Resilient Distributed Systems Design
 
Continuous integration and delivery
Continuous integration and deliveryContinuous integration and delivery
Continuous integration and delivery
 
Democratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineerDemocratic process and electronic platforms: concerns of an engineer
Democratic process and electronic platforms: concerns of an engineer
 
Simulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and ScalaSimulating Large-scale Aggregate MASs with Alchemist and Scala
Simulating Large-scale Aggregate MASs with Alchemist and Scala
 
Software development made serious
Software development made seriousSoftware development made serious
Software development made serious
 
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
Extending the Gillespie's Stochastic Simulation Algorithm for Integrating Dis...
 
Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)Engineering Complex Computational Ecosystems (PhD defense)
Engineering Complex Computational Ecosystems (PhD defense)
 
SAPERE Analysis tools
SAPERE Analysis toolsSAPERE Analysis tools
SAPERE Analysis tools
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)
 
From Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist TaleFrom Engineer to Alchemist, There and Back Again: An Alchemist Tale
From Engineer to Alchemist, There and Back Again: An Alchemist Tale
 
SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013SAPERE WP1 Alchemist status at 02/2013
SAPERE WP1 Alchemist status at 02/2013
 
Engineering Computational Ecosystems
Engineering Computational EcosystemsEngineering Computational Ecosystems
Engineering Computational Ecosystems
 
Recipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hoursRecipes for Sabayon: cook your own Linux distro within two hours
Recipes for Sabayon: cook your own Linux distro within two hours
 
A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...A Framework to Specify and Verify Computational Fields for Pervasive Computin...
A Framework to Specify and Verify Computational Fields for Pervasive Computin...
 
Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...Towards a comprehensive approach to spontaneous self-composition in pervasive...
Towards a comprehensive approach to spontaneous self-composition in pervasive...
 

Dernier

TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRingsTransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRingsSérgio Sacani
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsSérgio Sacani
 
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...Scintica Instrumentation
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfSumit Kumar yadav
 
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptxTHE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptxANSARKHAN96
 
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxClimate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxDiariAli
 
300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptx300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptxryanrooker
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY1301aanya
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxSuji236384
 
GBSN - Microbiology (Unit 3)Defense Mechanism of the body
GBSN - Microbiology (Unit 3)Defense Mechanism of the body GBSN - Microbiology (Unit 3)Defense Mechanism of the body
GBSN - Microbiology (Unit 3)Defense Mechanism of the body Areesha Ahmad
 
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....muralinath2
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Silpa
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Silpa
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learninglevieagacer
 
Genome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptxGenome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptxSilpa
 
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.Silpa
 
Chemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdfChemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdfSumit Kumar yadav
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professormuralinath2
 
Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Silpa
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsOrtegaSyrineMay
 

Dernier (20)

TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRingsTransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdf
 
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptxTHE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
THE ROLE OF BIOTECHNOLOGY IN THE ECONOMIC UPLIFT.pptx
 
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxClimate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
 
300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptx300003-World Science Day For Peace And Development.pptx
300003-World Science Day For Peace And Development.pptx
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
 
GBSN - Microbiology (Unit 3)Defense Mechanism of the body
GBSN - Microbiology (Unit 3)Defense Mechanism of the body GBSN - Microbiology (Unit 3)Defense Mechanism of the body
GBSN - Microbiology (Unit 3)Defense Mechanism of the body
 
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
Human & Veterinary Respiratory Physilogy_DR.E.Muralinath_Associate Professor....
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
 
Genome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptxGenome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptx
 
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.Molecular markers- RFLP, RAPD, AFLP, SNP etc.
Molecular markers- RFLP, RAPD, AFLP, SNP etc.
 
Chemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdfChemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdf
 
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate ProfessorThyroid Physiology_Dr.E. Muralinath_ Associate Professor
Thyroid Physiology_Dr.E. Muralinath_ Associate Professor
 
Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.
 
Grade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its FunctionsGrade 7 - Lesson 1 - Microscope and Its Functions
Grade 7 - Lesson 1 - Microscope and Its Functions
 

Computational Fields meet Augmented Reality: Perspectives and Challenges

  • 1. Computational Fields meet Augmented Reality: Perspectives and Challenges Danilo Pianini, Angelo Croatti, Mirko Viroli, Alessandro Ricci {danilo.pianini, a.croatti, mirko.viroli, a.ricci}@unibo.it Alma Mater Studiorum—Universit`a di Bologna a Cesena Spatial and COllective PErvasive Computing Systems (SCOPES) September 21, 2015 - Cambridge, USA Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 1 / 25
  • 2. Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 2 / 25
  • 3. Introduction Motivation Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 3 / 25
  • 4. Introduction Motivation Why Augmented Reality and Computational Fields? Differences They are definitely different entities CF is a programming abstraction. AR is a mean of interaction. CF focuses on collectivity, AR (mostly) on the single user. Commonalities They share a common context of application Both are devoted at environments pervaded with computational devices Both are bound to the physical world Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 3 / 25
  • 5. Augmented Reality Basics Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 4 / 25
  • 6. Augmented Reality Basics Definition Augmented Reality is a technology that allows the user to see the real world, with virtual objects superimposed upon or mixed with the real world [Azu97]. The ultimate goal is a seamless integration of reality and virtuality Mostly via see-through devices Images from Microsoft Hololens presentation video Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 4 / 25
  • 7. Augmented Reality Basics Degrees of augmentation GHOST AGENT GHOST BODY STREET LAMP PLAYER BODY PLAYER ASSISTANT AGENT MIRROR WORLD PHYSICAL WORLD 8 Augmentation can happen at different levels: 1 Unrelated to the elements in the user’s FOV E.g. displaying a map on a visual overlay 2 Dynamically associated to elements in the user’s FOV E.g. displaying historical information next to a monument in FOV 3 Entirely virtual and interactive elements on real world E.g. the two images of the previous slide, the ghost game [RPTC15] Image on left: DashWare. Image on right from [RPTC15] Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 5 / 25
  • 8. Computational fields Introduction to aggregate programming and computational fields Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 6 / 25
  • 9. Computational fields Introduction to aggregate programming and computational fields Manifesto of aggregate computing Main observation In a world with ever increasing number of deployed devices, one conveniently views a dense aggregation of interacting devices as a discrete approximation of the space of computational environment through which they are distributed. neighborhood device Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 6 / 25
  • 10. Computational fields Introduction to aggregate programming and computational fields Manifesto of aggregate computing Main observation 1 the reference “machine” for pervasive computing processes is abstracted to be the continuum of computational devices; 2 the reference “elaboration process” is the manipulation of a physically distributed data structure; 3 how computation is carried on by the cooperation of devices in that region is hidden “under-the-hood” of the model/platform neighborhood device Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 7 / 25
  • 11. Computational fields Introduction to aggregate programming and computational fields Pervasive continuum and computational fields Aggregate computing From “what value the single device computes”... ...to “what distributed data structure the pervasive fabric computes” The notion of computational field arises [MZ09, BB06] ⇒ a map from the space to (structured) values typically evolving over time, possibly self-stabilising better “understood” on continuous domains neighborhood device Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 8 / 25
  • 12. Computational fields Languages for aggregate computing Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 9 / 25
  • 13. Computational fields Languages for aggregate computing Existing languages MIT Proto [BB06] is the most known and successful Developed at MIT and maintained at BBN Technologies Functional language, LISP-like syntax (I know you hate it too) All devices run the same program Computation happens in rounds: Every device sleeps for some time Processes the messages received from the neighbours Executes its program Sends all the neighbours its result Complex operational semantics Difficult to maintain and extend Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 9 / 25
  • 14. Computational fields Languages for aggregate computing Field Calculus A “distillate” of Proto Provides a lightweight operational semantics [VDB13] ((((LISP-like syntax)))) Still a functional language Simple enough to formally prove properties, powerful enough to be universal (proved!) Theoretical object, no runtime nor simulation tool provided Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 10 / 25
  • 15. Computational fields Languages for aggregate computing Protelis [PVB15] Ordinary language features Functional language Same operational semantics of the field calculus C-family syntax with infix operators Java interoperability: static methods imports and calls, method invocation with dynamic binding Higher order functions (functions as arguments, lambdas) Dynamic code Suggested read [BPV15] Jacob Beal, Danilo Pianini, and Mirko Viroli. Aggregate programming for the internet of things. IEEE Computer, 48(9), 2015 Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 11 / 25
  • 16. Computational fields Languages for aggregate computing Code example def count() { rep(x<-0) { x + 1 } } def maxh(field) { maxHood(nbr(field)) } def distanceTo(source) { rep (d <- Infinity) { mux (source) { 0 } else { minHood(nbr(d) + nbrRange) } } } def distanceToWithObstacle(source, obstacle) { if (obstacle) { Infinity } else { distanceTo(source) } } Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 12 / 25
  • 17. Computational fields Languages for aggregate computing Architecture Implementation, distribution Based on Xtext Eclipse plugin Now distributed through Maven Central a Integrated with Alchemist [PMV13] Easy to port to new platforms a artifact: org.protelis:protelis Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 13 / 25
  • 18. Augmented Fields Augmented reality as visual interface for fields Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 14 / 25
  • 19. Augmented Fields Augmented reality as visual interface for fields See the fields Inject the ability to use AR to see the ongoing CF computation How Read the program output, display it properly Requires basically no intervention on the CF program Why The mapped field may be directly mapped to the user (e.g. a crowd warning system) Useful for seeing the shape of a field while developing Limitations Some fields cannot be trivially mapped to a graphical output How would you map a field of anonymous functions? No interaction Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 14 / 25
  • 20. Augmented Fields Augmented reality as visual interface for fields User view Crowd detection scenario: change the perceived hue in such a way that dangerously dense areas are properly advertised. Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 15 / 25
  • 21. Augmented Fields Augmented reality as visual interface for fields Developer view Crowd detection program development: see the field. Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 16 / 25
  • 22. Augmented Fields Augmented reality-based input for CF program Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 17 / 25
  • 23. Augmented Fields Augmented reality-based input for CF program Weak interaction Provide input to a CF program through AR interaction How Connect the (processed) AR input to the “sensors” of a CF program Requires basically no intervention on the CF program New information must be added to an existing device participating the aggregate Why Some system settings could be very naturally set by means of a gesture Limitations The new information is constrained in a device (a single point in space) Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 17 / 25
  • 24. Augmented Fields Augmented reality-based input for CF program Strong interaction GHOST AGENT GHOST BODY STREET LAMP PLAYER BODY PLAYER ASSISTANT AGENT MIRROR WORLD PHYSICAL WORLD 8 Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 18 / 25
  • 25. Augmented Fields Augmented reality-based input for CF program Strong interaction Inject new information that lives in a “Mirror World” How Modify the CF program to “sustain” the existence of entities in areas where no device is located e.g. with a field of mappings between virtual entities and their position Why Support for highest degree of augmented reality Mixed real-virtual collective applications Limitations The program must be conceived with this kind of interaction in mind Harder to realize Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 19 / 25
  • 26. Augmented Fields Computational fields as enabling technology for AR applications Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 20 / 25
  • 27. Augmented Fields Computational fields as enabling technology for AR applications A look the other way around We have discussed increasing degrees of interaction between augmented reality and computational fields, up to a “strong” interaction, but... ...are computational fields a valid abstraction for creating such programs? Progression “Weak” interaction is almost a free lunch “Strong” interaction seems powerful, but requires CF programs to be designed with AR in mind AR is no longer confined to be an I/O component of the system, it impacts the “business logic” of the application instead Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 20 / 25
  • 28. Augmented Fields Computational fields as enabling technology for AR applications Mirror Worlds on Augmented Fields Basic strategy: Switch from a simple field of mirrored entities to a field of entities with location Exploit CF programming to keep the entities alive and their status aligned on multiple devices If entities have their own behavior, mobile code support is required [DVPB15] Reusable building blocks can be exploited in order to devise a “standard” solution [BPV15] Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 21 / 25
  • 29. Augmented Fields Example Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 22 / 25
  • 30. Augmented Fields Example Aggregate triage Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 22 / 25
  • 31. Conclusion Conclusion and future work Outline 1 Introduction Motivation 2 Augmented Reality Basics 3 Computational fields Introduction to aggregate programming and computational fields Languages for aggregate computing 4 Augmented Fields Augmented reality as visual interface for fields Augmented reality-based input for CF program Computational fields as enabling technology for AR applications Example 5 Conclusion Conclusion and future work Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 23 / 25
  • 32. Conclusion Conclusion and future work Conclusion We noted that both computational fields and augmented reality work best in environments densely populated with computational devices We have explored increasing degrees of integration AR as UI ⇒ not hard, no change in aggregate programs Local input from AR devices ⇒ still not hard, still no change Injection of (possibly proactive) augmented entities, ⇒ requires CF programs to be properly designed Modern aggregate programming languages support code mobility and reusability We believe that CF are a promising programming abstraction for supporting AR applications, and languages and technologies are maturing Future work Build a working demo is the most effective way of experimentally confirm our hypothesis. Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 23 / 25
  • 33. References References I Ronald Azuma. A survey of augmented reality. 6(4):355–385, 1997. Jacob Beal and Jonathan Bachrach. Infrastructure for engineered emergence on sensor/actuator networks. IEEE Intelligent Systems, 21(2), 2006. Jacob Beal, Danilo Pianini, and Mirko Viroli. Aggregate programming for the internet of things. IEEE Computer, 48(9), 2015. Ferruccio Damiani, Mirko Viroli, Danilo Pianini, and Jacob Beal. Code mobility meets self-organisation: A higher-order calculus of computational fields. In Susanne Graf and Mahesh Viswanathan, editors, Formal Techniques for Distributed Objects, Components, and Systems, volume 9039 of Lecture Notes in Computer Science, pages 113–128. Springer International Publishing, 2015. Marco Mamei and Franco Zambonelli. Programming pervasive and mobile computing applications: The tota approach. ACM Transactions on Software Engineering and Methodologies, 18(4), 2009. Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 24 / 25
  • 34. References References II Danilo Pianini, Sara Montagna, and Mirko Viroli. Chemical-oriented simulation of computational systems with Alchemist. Journal of Simulation, 2013. Danilo Pianini, Mirko Viroli, and Jacob Beal. Protelis: Practical aggregate programming. In Roger L. Wainwright, Juan Manuel Corchado, Alessio Bechini, and Jiman Hong, editors, Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, April 13-17, 2015, pages 1846–1853, Salamanca, Spain, 2015. ACM. Alessandro Ricci, Michele Piunti, Luca Tummolini, and Cristiano Castelfranchi. The mirror world: Preparing for mixed-reality living. IEEE Pervasive Computing, 14(2):60–63, 2015. Mirko Viroli, Ferruccio Damiani, and Jacob Beal. A calculus of computational fields. In Carlos Canal and Massimo Villari, editors, Advances in Service-Oriented and Cloud Computing, volume 393 of Communications in Computer and Information Sci., pages 114–128. Springer Berlin Heidelberg, 2013. Pianini et. al (UniBo) Computational Fields and Augmented Reality 2015-09-21 SCOPES 25 / 25