www.sti-innsbruck.at © Copyright 2012 STI INNSBRUCK www.sti-innsbruck.at
Semantic Communication Architecture Innsbruck (SCAI)
Dieter Fensel, Ioan Toma, Andreea Gagiu, Iker Larizgoitia, Birgit Leiter, Ioannis Stavrakantonakis
August 30, 2012
www.sti-innsbruck.at
Reference architecture
• “A reference architecture in the field of software architecture or enterprise architecture provides a template solution for an architecture for a particular domain. It also provides a common vocabulary with which to discuss implementations, often with the aim to stress commonality.
• A reference software architecture is a software architecture where the structures and respective elements and relations provide templates for concrete architectures in a particular domain or in a family of software systems.
• A reference architecture often consists of a list of functions and some indication of their interfaces (or APIs) and interactions with each other and with functions located outside of the scope of the reference architecture.
• Reference architectures can be defined at different levels of abstraction. – A highly abstract one might show different pieces of equipment on a communications network, each providing different
functions. – A lower level one might demonstrate the interactions of procedures (or methods) within a computer program defined to
perform a very specific task.• A reference architecture provides a template, often based on the generalization of a set of solutions. These
solutions may have been generalized and structured for the depiction of one or more architecture structures based on the harvesting of a set of patterns that have been observed in a number of successful implementations. Further it shows how to compose these parts together into a solution.
• Reference Architectures will be instantiated for a particular domain or for specific projects.”Source Wikipedia
• Compare also https://www.oasis-open.org/committees/download.php/15635/WSMX%252520-%252520architecture.pdf
2
www.sti-innsbruck.at
SCAI *sky
• SCAI is a reference architecture for a semantic engagement engine applicable to various domain and task.
• Core of its efficiently and flexibility is its separation of concern
• And the proper separation and alignment of form and substance.
• In total, SCAI includes three different types of functionalities
3
www.sti-innsbruck.at
Infrastructure
• The infrastructure layer provides basic functionalities needed by the other functionalities.
• The infrastructure layer is responsible for separating and multiple alignments of communication content and communication channels.
4
www.sti-innsbruck.at
Communication
• The communication layer used the basic functionality of the infrastructure layer to implement the on-line communication of an agent.
• It combines these elements into useful patterns of on-line interactions.
• It supports exchange of meaning.
5
www.sti-innsbruck.at
Engagement
• Engagement turns communication into cooperation.• Why is it important?
– Because customers are important for any enterprise and the engagement concept creates strong relationships between the customers and the enterprise.
– It supports value generation through on-line cooperation.
6
www.sti-innsbruck.at
Customization of the Architecture
• To derive concrete products and services from the reference architecture it must be instantiated for Application types (Tasks) and Domains.
• Task customization:– Advertisement– CRM– Revenue management– Brand management– Reputation management– Quality management
• Domain Customization: e.g., eTourism
7
INFRASTRUCTURE: THE SCEI BUS
8
www.sti-innsbruck.at
Infrastructure
• Content can be down-/and uploaded from GUIs, Repositories, CMSs, and others
• Channels are the millions of on-line communication possibilities
Infrastructure
ContentChannels
9
www.sti-innsbruck.at
Infrastructure
• Consists of three major components:– Content manager
• Responsible for managing the content of communication– Channel Manager
• Responsible for managing the channels for communication– Weaver
• Responsible for aligning content and channels
10
www.sti-innsbruck.at
Infrastructure – Content manager
• Import content from – GUI– CMS – Repository– Others
• Export content from – GUI– CMS – Repository– others
11
www.sti-innsbruck.at
• Stores the content• Decouples storage mechanism from the rest of SCAI• Independent of any specific data store implementation
i.e. database and storage mechanism
Infrastructure – Content manager
www.sti-innsbruck.at
Infrastructure – Channel manager
• Integrates a channel• Personalizes a channel• Interacts with a channel
– Read– Write
• Describes and aggregates channels
13
www.sti-innsbruck.at
Infrastructure – Weaver
• Separating content from channels also requires the explicit alignment of both.
• This is achieved through a weaver. • A weaver is
– an uni-set of tuples of ten elements– an execution engine for these tuples– a GUI to define these tuples– a management and monitoring component for these tuple sets
14
www.sti-innsbruck.at
Infrastructure – Weaver – Tuple Set
Elements 1 to 3 are about the content:1. An information item defines an information category that
should be disseminated through various channels.2. An editor: The editor defines the agent that is responsible for
providing the content of an information item.3. An editor interaction protocol: This defines the interaction
protocol governing how an editor collects the content.
15
www.sti-innsbruck.at
Infrastructure – Weaver – Tuple Set
Elements 4 to 9 are about the communication of these items:4. An information type: We make a distinction between three
types of content: • an instance of a concept, • a set of instances of a concept (i.e., an extensional definition of
the concept),• a concept description (i.e., an intensional definition of a concept)
that should be content of the communication act.
16
www.sti-innsbruck.at
Infrastructure – Weaver – Tuple Set
Elements 4 to 9 are about the communication of these items:5. A processing rule: These rules govern how the content is
processed to fit to/being re-extracted from a channel.6. A channel description: The group of media that is used to
disseminate/search for the information.
17
www.sti-innsbruck.at
Infrastructure – Weaver – Tuple Set
Elements 4 to 9 are about the communication of these items:7. Scheduling information: Information on how often and in
which intervals the communication will be performed which includes temporal constrains over multi-channel communication.
8. An executor: It determines which agent or process is performing the update of a channel.
9. An executor interaction protocol: It governs the interaction protocol defining how an executer receives its content.
18
www.sti-innsbruck.at
Infrastructure – Weaver – Tuple Set
Element 10 contains meta-information such as:– Is it a read or write– Is it executed– Is it idle– Etc.
19
www.sti-innsbruck.at
Infrastructure – Weaver – Execution Engine
• Matchmaking of channels and content; determines which channels are appropriate for the content to be disseminated based on the descriptions of channels and content.
• Evaluates and executes the rules that specify how the content is processed to fit into channels, and also how the content is extracted from the channels.
• Schedules the communication considering temporal constrains over multi-channels.
• Orchestrates the interaction with an agent or process (editor or executer) and defines
• how an editor collects the content• how an executer receives the content
20
www.sti-innsbruck.at
Infrastructure – Weaver – GUI
• The GUI supports the specification of tuples that are defining the Weaver
• Definition of information item and information type
• Definition of the editor and executer• Definition of interaction protocols for editor and
executer• Specification of processing rules• Creation of channel descriptions
21
www.sti-innsbruck.at
• Detects deficiencies as early as possible in the functioning of the Weaver and its components
• Is aware of the state of the Weaver at any time – monitoring is real time and continuous
• Provides means to instrument the Weaver and its components
• Listens to events generated by the instrumented components e.g. he – events related to execution of the processing rules,– events related to scheduling of communication acts,– events related to the interaction with the editor and executer.
• The events represent a rich source of knowledge which can facilitate profiling, optimization and reliability of the Weaver component.
Infrastructure – Weaver – Management and Monitoring component
www.sti-innsbruck.at
Infrastructure – Weaver – Management and Monitoring component
• Provides visualization, analysis and reporting based on monitored data
• Enables easy interpretation of the data collected during instrumentation and monitoring
23WP11 – Instrumentation and Monitoring
www.sti-innsbruck.at
Infrastructure
Content
Channels
Content Manager- Import- Export Contents
Channel Manager- Integrates- Personalize- Interacts- Describes Channels
Weaver:- uni-set of tuples - execution engine - GUI - management and monitoring
24
www.sti-innsbruck.at
Infrastructure – Summary of Components and Functionalities
Component Functionality1. Content Manager
1.1 Importer/Exporter imports and exports the content from/to external sources
1.2 Storage stores the content2. Chanel Manager integrates, personalize, interacts, describes channels
3. Weaver3.1 Execution Engine
3.1.1 Matchmaker matches channels and content3.1.2 Rules evaluator and executer
transforms content to fit into channels, extracted from the channels
3.1.3 Scheduler schedules the communication considering temporal constrains over multi-channels
3.1.4 Orchestrator orchestrates the interaction with an agent or process (editor or executer)
3.2 GUI supports the specification of the tuples that are defining the Weaver
3.3 Management and Monitoring monitors and manages the Weaver and its components25
COMMUNICATION
26
Multi-Channel Publishing Social MediaMonitoring
Communication• Active and reactive communication
• Tracing the communication• Multi-channel switch
• Multi-agent• Communication Patterns
Response
Impa
ctFe
edba
ck
www.sti-innsbruck.at
Communication
• Meaningful communication requires often more than just a single and isolated act of exchanging information. – It can be active or reactive (Dissemination versus
SMM and its integration)– It has a trace, a history– It needs multi-channel switch– It is bi-directional and multi-agent– It is based on patterns of successful interaction styles
(campaigning versus individual interaction, etc.)
27
www.sti-innsbruck.at
Communication – Dissemination
• Dissemination (from the Latin dissēminātus = “sowing seeds”, “scatter wildly in every direction”) refers to the process of broadcasting a message to the public without direct feedback from the audience
• Takes on the view of the traditional view of communication which involves a sender and a receiver.
• The message carrier sends out information to many in a broadcasting system (composed of more than one channels)
• Harmsworth et al. (2000) define dissemination as “delivering and receiving of a message”, “the engagement of an individual in a process” and “the transfer of a process or product”.
28Image taken from: http://nichcy.org/wp-content/uploads/2011/01/rsz_1rsz_dissemination2.jpg
www.sti-innsbruck.at
Communication – Dissemination
Classification of channels by the type of service they provide:
2.1. Static Broadcasting
2.2. Dynamic Broadcasting
2.3. Sharing
2.4. Collaboration
2.5. Group Communication
2.6. Semantic-based Communication
Image taken from: http://www.softicons.com/free-icons/application-icons/or-applications-icons-by-iconleak/file-cabinet-icon
29
www.sti-innsbruck.at
Communication – Dissemination
Multi-Channel Publishing
Source: http://www.briansolis.com/2008/08/introducing-conversation-prism/30
www.sti-innsbruck.at
Communication – Social Media Monitoring
• SMM tools facilitate the listening of what people say about various topics in
the social media sphere (blogs, twitter, facebook, etc.)
Listening: is active, focused, concentrated attention for the purpose of
understanding the meanings expressed by a speaker.
31
www.sti-innsbruck.at
Communication – Social Media Monitoring
The Conversation
SOCIAL NETWORKS
WIKIS
PHOTO SHARING
BLOGS MAINSTREAM MEDIA
MICROBLOGS
FORUMS/NEWSGROUPS
VIDEO SHARING
SOCIAL MEDIA NEWSAGGREGATORS
32
www.sti-innsbruck.at
Communication – Integration of Publication and Monitoring
Multi-ChannelPublishing
Social MediaMonitoring
Communication• Active and reactive
communication
Response
Impa
ctFe
edba
ck
33
www.sti-innsbruck.at
Example of Active
Communication performed by a
hotelier on Facebook
34
www.sti-innsbruck.at
Customer response to the hotel’s message
35
www.sti-innsbruck.at
Transmitter: guest at hotel
External Re-active communication
Reactor: hotelier
Source: http://www.tripadvisor.com/ShowUserReviews-g53449-d96753-r130438938-Hampton_Inn_Pittsburgh_Greentree-Pittsburgh_Pennsylvania.html 36
www.sti-innsbruck.at
Communication – Trace
Tracing a conversation through all channels involved is crucial for making communication effective and efficient, and is therefore required for
Communication has a history The communication history IS the
trace Communication must be
remembered otherwise it is meaningless
Multi-ChannelPublishing
Social MediaMonitoring
Communication• Active and reactive
communication• Tracing the communication
Response
Impa
ctFe
edba
ck37
www.sti-innsbruck.at
Communication – Multi-Channel Switch
(Online) Communication is scattered over multiple, often very different channels. • Agents are challenged to
disseminate information over all appropriate channels.
• Activities of all channels the agent is active in must be monitored.
• Impact, Feedback and Responses need to be collected from all channels.
Multi-ChannelPublishing
Social MediaMonitoring
Communication• Active and reactive
communication• Tracing the communication
• Multi-channel switch
Response
Impa
ctFe
edba
ck38
www.sti-innsbruck.at
Communication – Multi-Agent
Communication requires at least 2 agents: a speaker and a listener
However, communication does not occur in a void – thus the initial model may never occur in real life as there may always be more than one listener or more than one agent.
More agents may be required when the communication receives responses from multiple listeners.
Multi-ChannelPublishing
Social MediaMonitoring
Communication• Active and reactive communication
• Tracing the communication• Multi-channel switch
• Multi-agent
39
www.sti-innsbruck.at
Communication –Communication Patterns
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. So patterns are formalized best practices that you must implement yourself in your application.
Based on this definition of Software design patterns we introduce at this point the idea of the communication patterns.
Software Design Patterns
CommunicationPatterns
40
www.sti-innsbruck.at
Communication – Communication Patterns
• The communication patterns could be a way to facilitate the response phase
of an enterprise.
• A rich set of communication paradigms that address different types of issues
by describing workflows of interaction with customers or potential
customers.
• It should be a dynamic set of patterns in the sense that it is being extended
and altered continuously according to the needs of the customers and the
nature of the issues that are arising.
41
www.sti-innsbruck.at
Communication –Communication Patterns
42
www.sti-innsbruck.at
Communication –Communication Patterns
The Who dimension
•For any feedback item that is available, someone in the enterprise should be responsible to interact with the customer or theuser that gave that feedback or disseminated something related to the brand, products and services of the enterprise.
•It is crucial for the enterprise to respond via the appropriate employee to the user. To achieve this the enterprise should have a decent mechanism that could figure out in a semi-automatic way they needs of the user by relying on the content of user’s feedback.
43
www.sti-innsbruck.at
Communication –Communication Patterns
The What dimension
• The What dimension mostly refers to the process of content adaptation. Content adaptation is the action of transforming content to adapt to the needs of the user. Thus, the responsible person (who is specified from the Who dimension) should be able to adapt the existing content, which is available and related to the user’s issue.
• Furthermore, there are cases that the response should be different than a reply to the user. Various actions should be taken in order to support and help the user.
44
www.sti-innsbruck.at
Communication –Communication Patterns
The What dimension – Example scenario “Hotel”
• A customer faces a problem with the hygiene of his room and tweets about that.
• The listening procedures of the hotel capture that tweet and the administrator assigns the issue to the responsible person, who is dealing with the customer services.
• The responsible employee contacts the customer at his room and asks him if iseverything as it should be and in case there is any problem, they could fix it immediately. An alternative could be to contact the customer and propose him an inspection and a second cleaning session within the next minutes/hours to fix the issue that was publicly disseminated.
45
www.sti-innsbruck.at
Communication –Communication Patterns
The Where dimension
• The response of the enterprise to the content of the user, which was spread in the web sphere should be done not only via the appropriate person that could adapt the content in the right way, but it should be realized through the correct medium.
• That could be the medium that was used by the user or any other way, which is considered to be more appropriate.
• Moreover, there is the possibility to switch between the available mediums (social networks, phone, email, etc.)
46
www.sti-innsbruck.at
Communication –Communication Patterns
The When dimension• This parameter reflects the appropriate response time of the
enterprise in the bi-directional communication with the user.
• The enterprise should be ready enough in order to respond and support the users within the most efficient time span, which depends on the type of the input.
• An hierarchy model is needed in order to sort theopen issues according to the importance of thediscussion for the enterprise. This depends on:
– Popularity of the user in the action field of the enterprise
– The importance of the issue
– Existing data regarding the issue and the user
47
www.sti-innsbruck.at
Communication –Communication Patterns
The Why dimension
• The enterprise should have a set of criteria that could help them decide if a post in the web sphere should be taken in consideration and should be replied or not.
• There are some types of posts that the enterprise does not gain any added value by responding. Some of the criteria could be:
– Is that person an influencer and active in the area of the enterprise?
– Does the post need a reply? (e.g. if it is an online discussion between 2 people, it would be annoying to pop-up in the discussion with the official account of the enterprise.)
– Is there any decent answer to the problem or by jumping into the discussion it would be uncomfortable for the enterprise?
48
www.sti-innsbruck.at
Communication – Summary of Components and Functionalities
Component Functionality1. Tracer shows the history of communication over multiple channels
involving multiple agents
2. Multi-channel switch2.1 Multi-channel publisher publishes content on multiple channels using the underlying
Weaver component2.2 Monitoring actively monitors multiple channels 2.3 Feedback and response collector collects and aggregates periodically feedback and responses
from multiple channels 2.4 Impact analyzer measure the impact of the communication over multiple
channels
3. Multi-agent manager enables multiple agents support in the communication
4. Communication patters library manages a set of commonly used communication patters
49
www.sti-innsbruck.at
Multi-Channel Publishing Social MediaMonitoring
Communication• Active and reactive communication
• Tracing the communication• Multi-channel switch
• Multi-agent• Communication Patterns
ResponseIm
pact
Feed
back
50
ENGAGEMENT
51
Enga
gem
ent
Workflow management
Crowdsourcing
Value-chain generation
www.sti-innsbruck.at
Engagement – Workflow management
What is Workflow management?
• A workflow consists of a sequence of concatenated (connected) steps*.
• Workflow management refers to the process of assigning, tracking and
responding to social media streams, usually in a team environment in
order to prevent double responses and missed opportunities. It is crucial
for an enterprise tool to promote team productivity through collaboration.
*http://en.wikipedia.org/wiki/Workflow52
www.sti-innsbruck.at
Engagement – Crowdsourcing
What is Crowdsourcing?
• Crowdsourcing is the act of taking a job traditionally performed by a
designated agent (usually an employee) and outsourcing it to an
undefined, generally large group of people in the form of an open call.
• The application of Open Source principles to fields outside of software.
Howe (2008, 2009)
53
www.sti-innsbruck.at
Engagement – Crowdsourcing
Amazon Mechanical Turk
• Amazon’s Mechanical Turk is a market in which anyone can post tasks to be completed and specify prices paid for completing them.
• The inspiration of the system was to have users complete simple tasks that would otherwise be extremely difficult (if not impossible) for computers to perform.
• A number of businesses use Mechanical Turk to source thousands of micro-tasks that require human intelligence, for example to identify objects in images, find relevant information, or to do natural language processing.
• Mechanical Turk has more than 500,000 people in its workforce. Their median wage is about $1.40 an hour.*
*http://www.economist.com/node/2155587654
www.sti-innsbruck.at
Engagement –Value-Chain generation
“A value chain is a chain of activities for a firm operating in a specific industry.
The business unit is the appropriate level for construction of a value chain, not
the divisional level or corporate level. Products pass through all activities of
the chain in order, and at each activity the product gains some value. The
chain of activities gives the products more added value than the sum of the
independent activities' values.”
Wikipedia
55
www.sti-innsbruck.at
Engagement –Value-Chain generation
• The value chain generation lays on top of the other layers (i.e. workflow
management, crowdsourcing) and reflects the aim of the enterprise to
monetize their activities through these layers.
• The ultimate target for keeping the customers happy and engaged to the
brand is to increase the revenue. Thus, it is important to have a layer on top
of the communication that transforms long-term relationships into economic
transactions and new opportunities for the enterprise.
• For example, for a hotelier this layer could be the book-ability of his
services.
56
www.sti-innsbruck.at
Engagement– Summary of Components and Functionalities
Component Functionality1. Workflow engine manages, executes and tracks the communication and
engagement processes
2. Crowdsourcing manager enables the definition and management of tasks related to communication and engagement; integrates with popular crowdsourcing platforms
3. Value-chain integrator integrates the overall system with a value chain system such as for example a hotel booking engine
57
www.sti-innsbruck.at
Enga
gem
ent
Workflow management
Crowdsourcing
Value-chain generation
58
www.sti-innsbruck.at
Summary
Infrastructure
Multi-Channel Publishing
Social MediaMonitoring
Communication• Active and reactive
communication• Tracing the communication
• Multi-channel switch• Multi-agent
• Communication Patterns
Response
Impa
ctFe
edba
ck
Enga
gem
ent
Workflow management
Crowdsourcing
Value-chain generation
59
www.sti-innsbruck.at
Domain Layer - eTourism
• Top down: Instantiate this architecture for the touristic domain.
• Bottom up: Extend current seekda stuff into the direction of SCAI
• The domain specific instantiation is already a refinement of the SCAI - reference architecture (i.e., no longer a reference architecture)
• In any case what needs to be done:– Evaluate the overall approach– Identify core components and their functionalities– Define their APIs and the control flow– Start to define a technical architecture
60