Education System”: Association of the University and FBK (the Research Centers) in IT in Trento Trento RISE is Part of the European Institute of Innovation and Technology in ICT, the “EIT ICT Labs” Mission: Research to drive the innovation & internationalization of the territory
apps allow for new kinds of services • Territorial labs apply to all three dimensions: • Research: results tested in realistic settings • Education: hands-on experience for students in Masters and PhD courses and/or during summer/winter schools • Business: market tests, comparison among alternative business models, assessment of the impact on organizations
apps allow for new kinds of services • Three ingredients: • Territory-wide data, systems, and applications • Open Service Platform • People as spectautors & prosumers
data Services Participation Fidelization Socialization Personalization Multi-modality Awareness Offer/require car ride Bike availability W alking bus Car accident Traffic Jam Snowy/Icy road Train full Free parking Parking full Bus full Train delay Green Hero Discover Trento Bike Walking Car pooling Bus Points of interest Feedback Events
a huge amount of data and apps available in the territory • No way to build some value added services without them • People-centric Services • People can be spectautors and prosumers • People can be an enormous source of data, information & knowledge • Service platform + value added services as the bootstrapping motivation for people – social communities • Service Platform • Need for an a platform open to third party & user development • Need for SOA based, context aware, techniques • Need for run-time flexible adaptation techniques
Dealing from the very beginning with the two main and difficult problems: Useful and really used services Users involved and really participating to the design and realization
creativity, participation, and enthusiasm of campus people (and institutions), and to develop innovative services supporting the social and personal everyday life as well as the functioning of the campus. Smart Campus ingredients: • A platform for the development and provisioning of services for the campus • A community of end users involved in all the phases of the project A territorial lab to experiment innovative ICT solutions
creativity, participation, and enthusiasm of campus people (and institutions), and to develop innovative services supporting the social and personal everyday life as well as the functioning of the campus. Smart Campus main characteristics: • Need for local university services (e.g. info about lectures, programs, exams) • Need for territory-wide services (e.g. mobility, culture, social life, gov support) • Most of students’ needs are citizens’ (people’s) needs • An easy & accessible community acting as spectautors & prosumers
Team: 18 people Platform: version 1 delivered in June Services: first set delivered in September Community: first 50 students/explorers < 2012 2013 > SMAU Milano ICT Days + Hackaton EIT Summer School on Smart City (Trento) < 2013 2014 > First Services NOW Student Community Delivery for University of Trento 500 students • Smart Campus: Milestones 50 students
monitorin g rules applicatio n logics ES B VAS DEVELOPER VAS USER social-w are social-w are social logics Service back end UniTN systems (ESSE3, ADA, 3rd party systems Service front end social enabler service ennabler more enabler s semanti cenable r social-w are social-w are semanti c logics
notes taking • How difficult? Check the course • Thesis finder • Study together • This is me! • Help your mates! • Time bank • Uni voice • Action in Trento • Worldwide Uni • Where are my friends? • Discover Trento • Bus finder • Interactive map • Paper eater • Queue skipper • Mensa queue skipper • Menu finder • Lunchmate finder • Accommodation finder • Car pooling • Virtual parking lot • Card all-in-one • Time manager • ...
Integrates the different mobility services offered by the territory Bus, train, car/bike sharing, car pooling, parking, road condition, … Suggests personalized and contextual solutions based on user profile, user preferences and current mobility context User: Disability, preferred transport means, type of journey (family, work,..) Context: Train/bus delays, parking availability, strikes, .. Supports the user not only in the planning of the journey but throughout the journey execution Parking payment, train booking, notification of problems (delays, jams..), proposal of alternative routes/solutions, ..
context) • Heterogeneity of services/systems involved (e.g., traffic/road condition sensors, train/bus delay detection systems, parking availability systems, parking payment systems, car pooling services, ..) • System Dynamicity (e.g., services/systems join/leave the system, changes in procedures of system facilities, changes in regulations and norms) • Context Dynamicity (e.g., unavailability/delays/malfunctioning of the different facilities) Fully exploit the benefits of the service-oriented paradigm to develop a context-aware adaptive system. Journey Planner Challenges and objectives Objective:
tickets Bus schedule, delays Taxi Booking via SMS Special service for disabled Trains Schedule info on costs, info on delays Parking (free/public/private)) Location, cost and closure info Availability SMS Payment Car sharing Pick up locations, cost info Booking Car pooling Offer/search ride Bike sharing Pick-up points Availability Journey Planner: Transport services and facilities in Trento area.
Fragments Business Process Entity Provided Fragments Business Process Entity Provided Fragments Business Process Entity Provided Fragments Business Process Business processes: • Partial process specifications that allow dynamic refinement and adaptation according to available system functionalities • Modeled via Adaptive Pervasive Flow Language (APFL) an extension of traditional workflow language (BPEL) with abstract activities + preconditions/effects Process Fragments: • Offered functionalities that can be dynamically discovered/used by other entities • Modeled as business processes Context Model: • Important characteristics of the environment and of the entities that operate in it • Used to define context preconditions/effects on process activities and goals on abstract activities
Parking Leave GoogleTransit GeoLocation BP SMS Pay PP RFID Pay PP NFC Pay TrentoParkInfo Drive to Parking Park Find Parking Get Location Get Cost Info Prepare S SMS Send S SMS Start Payment End Payment Leave Drive to Parking Start Payment End Payment Prepare E SMS Send E SMS Leave Leave RFID Payment Fragments Get Ticket Get code Pay Show Result Process Fragments Context Models Core Services TrentinoTrasporti Free Parking Fragments Blue Parking Fragments Private Parking Fragments Run time composition
Parking Leave GoogleTransit GeoLocation BP SMS Pay PP RFID Pay PP NFC Pay TrentoParkInfo Drive to Parking Park Find Parking Get Location Get Cost Info Prepare S SMS Send S SMS Start Payment End Payment Leave Drive to Parking Start Payment End Payment Prepare E SMS Send E SMS Leave Leave RFID Payment Fragments Get Ticket Get code Pay Show Result Process Fragments Context Models Core Services Directions Fragments Get Driving Dir Show Direction TrentinoTrasporti Get Walking Dir Show Direction Get Bus Dir Show Direction Get bus info Free Parking Fragments Blue Parking Fragments Private Parking Fragments Run time composition
Parking Leave GoogleTransit GeoLocation BP SMS Pay PP RFID Pay PP NFC Pay TrentoParkInfo Drive to Parking Park Find Parking Get Location Get Cost Info Prepare S SMS Send S SMS Start Payment End Payment Leave Drive to Parking Start Payment End Payment Prepare E SMS Send E SMS Leave Leave RFID Payment Fragments Get Ticket Get code Pay Show Result Process Fragments Context Models Core Services Directions Fragments Get Driving Dir Show Direction TrentinoTrasporti Get Walking Dir Show Direction Get Bus Dir Show Direction Get bus info Bus Info Fragments Get Bus Info Show bus info Free Parking Fragments Blue Parking Fragments Private Parking Fragments Run time composition
Parking Leave GoogleTransit GeoLocation BP SMS Pay PP RFID Pay PP NFC Pay TrentoParkInfo Free Parking Fragments Drive to Parking Park Blue Parking Fragments Find Parking Get Location Get Cost Info Prepare S SMS Send S SMS Start Payment End Payment Leave Private Parking Fragments Drive to Parking Start Payment End Payment Prepare E SMS Send E SMS Leave Leave RFID Payment Fragments Get Ticket Get code Pay Show Result Process Fragments Context Models Core Services Directions Fragments Get Driving Dir Show Direction Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration • RFID Pay registration • Bus pass • Disabilities/Walking limits • Preferences Journey • Current location • Destination • Time • Travel mean • Parking status • Payment status TrentinoTrasporti Get Walking Dir Show Direction Get Bus Dir Show Direction Get bus info Bus Info Fragments Get Bus Info Show bus info G G P, E P, E P, E P, E P, E P, E Run time composition
Parking Leave GoogleTransit GeoLocation BP SMS Pay PP RFID Pay PP NFC Pay TrentoParkInfo Free Parking Fragments Drive to Parking Park Blue Parking Fragments Find Parking Get Location Get Cost Info Prepare S SMS Send S SMS Start Payment End Payment Leave Private Parking Fragments Drive to Parking Start Payment End Payment Prepare E SMS Send E SMS Leave Leave RFID Payment Fragments Get Ticket Get code Pay Show Result Process Fragments Context Models Core Services Directions Fragments Get Driving Dir Show Direction Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration • RFID Pay registration • Bus pass • Disabilities/Walking limits • Preferences Journey • Current location • Destination • Time • Travel mean • Parking status • Payment status TrentinoTrasporti Get Walking Dir Show Direction Get Bus Dir Show Direction Get bus info Bus Info Fragments Get Bus Info Show bus info G G P, E P, E P, E P, E P, E P, E G G P, E P: p is a FreeParking & p is Available E: Parked in p G: Choosed p G: Parked in p Run time composition
Parking Leave GoogleTransit GeoLocation BP SMS Pay PP RFID Pay PP NFC Pay TrentoParkInfo Free Parking Fragments Drive to Parking Park Blue Parking Fragments Find Parking Get Location Get Cost Info Prepare S SMS Send S SMS Start Payment End Payment Leave Private Parking Fragments Drive to Parking Start Payment End Payment Prepare E SMS Send E SMS Leave Leave RFID Payment Fragments Get Ticket Get code Pay Show Result Process Fragments Context Models Core Services Directions Fragments Get Driving Dir Show Direction Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration • RFID Pay registration • Bus pass • Disabilities/Walking limits • Preferences Journey • Current location • Destination • Time • Travel mean • Parking status • Payment status TrentinoTrasporti Get Walking Dir Show Direction Get Bus Dir Show Direction Get bus info Bus Info Fragments Get Bus Info Show bus info G G P, E P, E P, E P, E P, E P, E G G P, E P: p is a FreeParking & p is Available E: Parked in p G: Choosed p G: Parked in p M M: Available p Run time composition
an abstract activity within a process instance Violation of a precondition of an activity that is going to be executed Adaptation mechanisms Refinement: dynamic refinement of abstract activity by context-aware composition of available fragments Local adaptation: identify a fragment composition that allows to re-start a faulted process from a specific activity Compensation: dynamically compute a compensation process for a specific activity Adaptation strategies Combine adaptation mechanisms to solve complex adaptation problems E.g., Re-refinement, Backward adaptation Search for alternative solutions E.g., Local on current activity -> Backward on current refinement -> Re-refinement -> … One-shot vs incremental adaptation
Parking Leave Process Instances Context Configuration Core Service Instances Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration = Yes • RFID Pay registration = No • Bus pass = Yes • Walk limits = max 0.5 km • Preferences Journey • Current loc = TrentoRISE • Destination = via Roma 5 • Time = Thu, 29 Mar, 14:35 • Travel mean = Car • Parking status = Choosed(p) • Payment status = Init Find Parking Get Location Start Payment Blue Parking GeoLocation
Instances Context Configuration Core Service Instances Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration = Yes • RFID Pay registration = No • Bus pass = Yes • Walk limits = max 0.5 km • Preferences Journey • Current loc = Piazza Venezia • Destination = via Roma 5 • Time = Thu, 29 Mar, 14:45 • Travel mean = Car • Parking status = Found(p) • Payment status = Init Find Parking Get Location Start Payment Blue Parking GeoLocation Run time adaptation
Instances Context Configuration Core Service Instances Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration = Yes • RFID Pay registration = No • Bus pass = Yes • Walk limits = max 0.5 km • Preferences Journey • Current loc = Piazza Venezia • Destination = via Roma 5 • Time = Thu, 29 Mar, 14:45 • Travel mean = Car • Parking status = Found(p) • Payment status = Init Find Parking Get Location Start Payment Blue Parking GeoLocation BP SMS Pay Get Cost Info Prepare S SMS Send S SMS SMS Payment Receive Ack SMS Run time adaptation
Instances Context Configuration Core Service Instances Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration = Yes • RFID Pay registration = No • Bus pass = Yes • Walk limits = max 0.5 km • Preferences Journey • Current loc = Piazza Venezia • Destination = via Roma 5 • Time = Thu, 29 Mar, 14:45 • Travel mean = Walk • Parking status = Found(p) • Payment status = Init Find Parking Get Location Start Payment Blue Parking GeoLocation BP SMS Pay Get Cost Info Prepare S SMS Send S SMS SMS Payment Receive Ack SMS Adapt Get PM Location Get Directions Show Direction Park Meter Payment Pay and Display Re-refinement GoogleTransit TrentinoMobilitá Run time adaptation
Instances Context Configuration Core Service Instances Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration = Yes • RFID Pay registration = No • Bus pass = Yes • Walk limits = max 0.5 km • Preferences Journey • Current loc = Piazza Venezia • Destination = via Roma 12 • Time = Thu, 29 Mar, 14:50 • Travel mean = Bus • Parking status = Found(p) • Payment status = Done Find Parking Get Location Start Payment Blue Parking GeoLocation BP SMS Pay Get Cost Info Prepare S SMS Send S SMS SMS Payment Receive Ack SMS Adapt Get PM Location Get Directions Show Direction Park Meter Payment Pay and Display Re-refinement GoogleTransit TrentinoMobilitá Get Bus Dir Show Direction Get bus info Bus Directions Fragment Run time adaptation
Instances Context Configuration Core Service Instances Domain • Transportation Means • Transport means per area • Parking facilities and types • Parking payment methods • Parking availability User • SMS Pay registration = Yes • RFID Pay registration = No • Bus pass = Yes • Walk limits = max 0.5 km • Preferences Journey • Current loc = Piazza Venezia • Destination = via Roma 5 • Time = Thu, 29 Mar, 14:51 • Travel mean = Bus • Parking status = Found(p) • Payment status = Done Find Parking Get Location Start Payment Blue Parking GeoLocation BP SMS Pay Get Cost Info Prepare S SMS Send S SMS SMS Payment Receive Ack SMS Adapt Get PM Location Get Directions Show Direction Park Meter Payment Pay and Display Re-refinement GoogleTransit TrentinoMobilitá Get Bus Dir Show Direction Get bus info Bus Directions Fragment Get Bus Info Show bus info Bus Info TrentinoTrasporti ADVANTAGES • No need to think and implement all possible cases at design time • Run-time refinements consider the current context configuration • New services/fragments can be plugged-in at run-time simply wrapping them / annotating them (P,E,G) Run time adaptation
if executed from the current configuration and in the absence of exogenous events, ensures that the resulting context configuration satisfies G. Adaptation Goal PLANNER Adaptation Process G Σ|| Madapt STS2APFL ΣC Planning domain Synthesized plan Process Fragments . . . P1 Pn APFL2STS Σ P1 Σ Pn . . . State Transition Systems GOAL BUILDER Planning Goal GΣ Context Configuration . . . C1 Cm CM2STS Σ C1 Σ Cm . . .
and context configuration in STSs and removal of improbable events GOAL BUILDER Translation of the adaptation goal in EAGLE planning goal PLANNER Adaptation Process Σ|| Madapt STS2APFL ΣC Planning domain Synthesized plan Adaptation Goal G GOAL BUILDER Planning Goal GΣ Process Fragments . . . P1 Pn APFL2STS Σ P1 Σ Pn . . . State Transition Systems Context Configuration . . . C1 Cm CM2STS Σ C1 Σ Cm . . .
plan into an APFL executable adaptation process Adaptation Goal G GOAL BUILDER Planning Goal GΣ Process Fragments . . . P1 Pn APFL2STS Σ P1 Σ Pn State Transition Systems Context Configuration . . . C1 Cm CM2STS Σ Σ . . . C1 Cm . . . PLANNER ΣC Planning domain Σ|| Synthesized plan Adaptation Process Madapt STS2APFL
Advanced service-based solutions for real-world problems Best Paper Award ICWS 2012 Process Viewer Adaptation Viewer System Inspector Scenario Viewer Demo: http://www.astroproject.org/downloads/captevoDemo Video: http://www.astroproject.org/downloads/captevoVideo.zip
of data and apps available in the territory • No way to build value added services without them • People-centric Services • People can be spectautors and prosumers • People can be an enormous source of data, information & knowledge • Pure social nets - data driven eager approaches bound to failure (the next incoming “big data” failure?) • Service platform + value added services as the bootstrapping motivation for people – social communities • Service Platform • Need for SOA based, context aware, techniques • Need for run-time flexible adaptation techniques
territory (WS, HTML/PhP, Java API, SMS-based, e-mail based, .. ) Marco Sara John Front-end Back-end Interaction/Presentation Models Customization & Adaptation Domain Models Run-time environment Service Store ENABLERS VAS1 VASx VAS3 VAS2 Representation of concepts and data for the interaction with the user Techniques for dynamic user-driven composition/adaptation of service-based applications Formal representation of domain concepts and expected behavior Technology- and provider- independent wrapping of territorial services