MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 1
MOWAHS: Mobile Work Across Heterogeneous Systems
Jan. 25, 2000 (rev. 26. Jan.)
Reidar Conradi, Mads NygårdDept. Computer and Information Science (IDI)
NTNU
www.idi.ntnu.no/grupper/su/mowahs.html www.idi.ntnu.no/grupper/db
Tel +47 73.593444 (rc), +47 73.593470 (mn), Fax +47 73.594466
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 2
MOWAHS motivation (1) -- virtual organizations with mobile and distributed actors:
Server
Laptop computer
Workstation
Base Station
Database
PDA
WAP
Meetings,conferences etc.
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 3
MOWAHS motivation (2)
• Applications: nomadism, virtual organizations – 300 mill. mobile phones in Jan. 2000,
3 bill. in 2005 and 10% with powerful PCs/PDAs?
– Entry ticket to become a global (virtual?) company: reduced by factor 100 in recent years.
– Enormous dynamics: 3C convergence, liberalization.
– New work modes: RAD, nomadic, 100% on-line.
• Technology: mobility, agents, ...– “Deluge”: www, IP, Java, CORBA, XML, applets / servlets /
displets, agents = active html pages?, BSCW tool, …
– E.g. XML used for sending electricity bills to bank, XML/Java tools to make graphical editors.
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 4
MOWAHS motivation (3)• The new network economy:
international companies, managers, developers, products, markets.
• The industry: uses the new IT (or else it dies), but also reinforces the same technology.
• UMTS:• ”UMTS is a set of services which we cannot imagine
today, with a technology that does not yet exist, for user needs which we don’t yet know”. --- Juha Rupeli of Nokia, chairman.
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 5
MOWAHS motivation (4)
• Some challenges:– How to support both fixed and portable PCs / PDAs?
– How to support different and varying connectivity?
– How to federate heterogeneous devices, tools, data?
– How to effectively support work on mobile platforms?
– How to fast and reliably build / evolve such support?
– How to asses the impact on humans / virt. organizations?
• Piggy-back on existing technologies and solutions:– CAGIS: Multiagent architecture for prosesses / transactions.
– CAGIS: Cooperating workspaces and meeting places.
– Other: groupware, agents, XML, multimedia, UMTS, WfM process interaction standard, ...
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 6
MOWAHS: Mobile Work Across Heterogeneous Systems (1)
• Newly accepted NFR basic R&D project, 2001-04.• Sw.eng. and database groups at IDI:
– 2 IDI teachers: Reidar Conradi, Mads Nygård.
– 2 PhD students: Carl Erik Sørensen, NN?
– 2 postdocs: Alf Inge Wang, Heri Ramampiaro (?).
• Budget: 5 mill. kr totally.
• Outspring from CAGIS project in 1997-2001.• Support nomadic computing over heterogeneous
platforms: process and transaction support.• Internationalization, coop. with Telenor(?), ...
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 7
MOWAHS goals (2)
• G1) Helping to understand and to continuously assess and improve workprocesses in virtual organizations.
• G2) Providing a flexible, common work environment to execute and share real workprocesses and their artifacts, applicable on a variety of electronic devices (from big servers to small PDAs).
• G3) Disseminating results to colleagues, students, companies, and community at large.
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 8
MOWAHS approach, iterative (3)
• Design a flexible work environment for virtual organizations using heterogeneous devices, with support for processes and their artifacts and transactions.
• Implement a testbed for process/transaction support for virtual organizations, using XML-based and mobile agents.
• Use real rqmts/scenarios to evaluate the above, e.g. on software development and net-based education. 25% on empirical work.
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 9
MOWAHS results (4)• R1) A XML-formalism to describe/execute
federated and heterogeneous processes and coop. Workspaces/transactions (G2).
• R2) A simple set of tools to support the above, based on agent technology (G2).
• R3) A set of scenarios with defined work models, using above formalisms/tools (G1).
• R4) A body of experiences from empirical studies of such technologies (G1).
• R5) Presentation material, courses (G3).
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 10
MOWAHS: Problem context (5)• Distributed and heterogeneous environments
• Manage people working:– Different places– Different times– Different tools– Different processes and data
• Organisations divided into autonomous sub-organisations
• Plus the new IT opportunities ...
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 11Slide 11
MOWAHS Technical Motivation (6)• Problems with traditional process / workflow /
groupware architectures:– Too centralized
– Too homogenous models
– Hard to change tools and models
– Need open-ended spectrum of cooperative process tools
– No integration of data access and process support
– Traditional transaction models / data accessing too stiff
• Solution 1: Agent-based architectures.
• Solution 2: Novel transaction models.
• Solution 3: Use XML, Java, ...
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 12
Ex. CAGIS Multi-Agent Architecture for Cooperative Software Engineering
Workspace 1
ExperienceRepository
Workspace 2
LocalProcessModel
LocalProcessModel
AgentMeeting Place
Coordination agent
Negotiation agent
Monitor agent
Mediation agent
Local agent
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 13
Ex. CAGIS Process Support
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 14Slide 14
Ex. CAGIS nested transactions
WS: Programmer-1/
WS:Programmer-2/PDA/
WS: Programmer-1/Laptop/
WS:Programmer-2/
WS:Manager
Desktop Server
Desktop
Laptop computer
PDA
Location:Trondheim
Location:Bergen/
Anywhere
Artifacts:L1.cc, L1.h
Artifacts:L2.cc, L2.h
Artifacts:L1.cc, L1.h
Artifacts:L2.cc, L2.h
Artifacts:M.cc, M.h,
L1.cc, L1.h,L2.cc, L2.h
Process models
Processmodels
Processmodels
Processmodels
Processmodels
Laptop computer
AgentMeeting
Place
Repository
AgentManager
AgentProgrammer-2
AgentProgrammer-1
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 15Slide 15
Agent• Piece of autonomous software
• System agents
• Local agents
• Interaction agents– Communication agents– Negotiation agents– Coordination agents– Mediation agents, ...
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 16Slide 16
Ex. Multi-Agent Architecture
• Network of problem solvers (agents)
• Advantages:– Decentralisation– Reuse of previous components– Cooperative work support– Flexibility
• Agents coupled to cooperation spaces: – Workspaces: for artifacts (files, documents)– Agent meeting places: for negotiation / coop.
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 17Slide 17
Workspace
• Human and software agents access shared data and tools
• Private and shared workspaces
• Shared workspaces used for grouping people
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 18Slide 18
Agent Meeting Place
• Place for software agent interaction
• Trading of information and services
• Facilities for:– Inter-agent communication
• Provide a predefined set of conversation types
• Specify a common syntax
• Specify a common semantics
• Specify pragmatics for agents
– Inter-agent negotiation
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 19
Process activity in a process fragment, i.e. in a local workflow system
• Process: sum of process fragments• Process fragment: in a local workspace,
coupled to role/person and tools -- in a PDA/PC.• Simple activities in fragments, with links• Ex. Activities in fragments / workspaces:
Workspace 1 Workspace 2
Activity 1 Activity 2Activity 3
Activity 4
Activity 5
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 20
Ex. Process model schema, in DTD/XML
<!XML encoding=“UTF-9”?>
<!ELEMENT process (name,
(processfragment)+>
<!ELEMENT processfragment(name,
(workspace),
(activity)+)>
<!ELEMENT activity (name,
(workspace),
(prelink)*,
(postlink)*,
(state),
(due)?,
(feedback)?,
(description),
(code)*)>
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 21
Ex. Process (activity) model in XML
<Activity>
<Name>compile</Name>
<Workspace>Kramer</Workspace>
<Prelink>Elaine/code</Prelink>
<Prelink>Elaine/read document</Prelink>
<Postlink>George/build</Postlink>
…
</Activity>
Workspace: George
build
Workspace: Elaine
code
read document
Workspace: Kramer
compile
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 22
Interconnection of components
• Agents: created by people
• Agents: grouped mainly as people
• Agent interaction: via agent meeting places
• Agent interaction: also via workspaces, taking data from/to traditional repositories
• Within a process fragment / workspace: simple, local process models -- in any format
• Between process fragments: also GlueServer to “federate” local fragments and support coop.
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 23
Ex. GlueServer, to connect local process fragments that need to cooperate
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 24
Process Support Tools• Process Server
– Process engine (local)
– GlueServer (central)
– Registration and un-registration of activities
– Moving process fragments
• Process Modeller (simple text editor)
• Agenda Manager
– Agenda browser
– Activity browser
• Process Monitor
– Monitor progress and state of process
– Change process state information
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 25
Ex. The Modeller and Agenda tools
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 26
Ex. The Activity and Monitor tools
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 27
Need flexible transaction support• Serializable (“ACID”) transactions insufficient for creative,
cooperative work:
– Need structured, not flat transactions: hierarchy, networks
– Data sharing levels: private, group, project, global
– Long-lived activities: days, not seconds
– Flexible locking schemes, may break locks
– Precommit (“sneak preview”) of temporary data versions
– User-defined consistency rules
– No forced aborts -- partial recovery schemes
– Coupling to versioning and merging
– Awareness: triggers / notifiers
– Part of flexible workspace support, incl. process
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 28
CAGISTrans
• Offer flexible transaction models, user-tailorable
• Nested transactions
• Can relax all of ACID properties in a controlled way
• Sophisticated locking and awareness schemes
• Specification in XML of:– Transaction characteristics (static)
– Execution rules (dynamic)
• Associated editors and interpreters
• Integrated in workspace support, p.t. using simple files
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 29
CAGIS Transaction Management System
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 30
Ex. Scenario: CAGIS applied on Conference Paper Review
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 31
MOWAHS challenges• Move to mobile, not just distributed setting.
• Allow different process / groupware formalisms/tools locally, i.e. federation.
• Couple transaction support to e.g. UML data model.
• Try out on realistic scenarios:– Network-based education, the mobile student
– Virtual teams in sw.eng. (ourselves, students, industry?)
• => Cooperate with others on solutions and applications!!
MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project Slide 32
Possibilities for joint activities• MUNIN:
– Offer method support for developing multimedia / mobile applications wrt. process / transaction support.
– Test out on students / developers.
• PATT/Parlay: similar, both for applications and platforms.
• HiA’s “The mobile student”: similar + applying such technologies/applications on own students.
• INCO: Use MOWAHS as testbed.