SlideShare a Scribd company logo
A Pattern-Based Approach to
          Mobile Information Systems
            Conceptual Architecture

                  Walter A. Risi and Gustavo Rossi

         LIFIA, Universidad Nacional de La Plata, Argentina
                [walter,gustavo]@lifia.info.unlp.edu.ar


Abstract. As mobile access to information becomes a common trend
in most commercial and corporate information systems, new software
engineering challenges arise. While the most visible problems in mobile
systems are the communication infrastructure and technical constraints
of portable devices, there are also conceptual architecture issues that
must be properly addressed.
This paper describes our work in progress towards categorizing and ana-
lyzing conceptual architectures for mobile information systems. We have
defined the basics of a domain-specific architectural pattern catalog for
this domain, and mined several patterns from existing, well-known sys-
tems. Our approach does not concentrate on the technical issues, but
rather on identifying those architectures that better fit business goals
regarding mobility.
Our goals are twofold. First, we aim to build a catalog of architectural
solutions proven successful in industrial practice. On the other hand, we
want to define a high-level, common-language to describe mobile archi-
tectural solutions.


1    Introduction
As mobile access to information becomes a common trend in most com-
mercial and corporate information systems, new software engineering
challenges arise. While the most visible problems in mobile systems are
the communication infrastructure and technical constraints of portable
devices (e.g. mobile phones and PDAs), there are also architectural issues
that must be properly addressed at the conceptual level.
Current research in software artifacts regarding mobility concentrates
primarily on fine-grained technological issues, such as wireless networking
[14] and constrained hardware [13]. Unfortunately mobile information
systems are seldom stable (because of technological improvements or
changes in the underlying business model) and must be continuously
upgraded or improved. Though it is widely known the importance of
emphasizing design issues in applications that evolve fast, little attention
has being paid to analyzing the conceptual issues that must be addressed
when building a mobility-enabled information system architecture. Only
recently some design problems related with mobile software have been
addressed in the literature [10].
Despite the hype around the technological issues, we claim that the archi-
tectural issues to address are even more critical. The design of a mobile
information system architecture has challenges that simply go beyond
the purely technological restrictions. For example, a mobile information
system may require customizing its service for different types of users
(mobile or not). On the other hand, a mobile information system may
need to give mobile service to very different type of mobile users (e.g.
wired and wireless).
This paper describes our work in progress towards categorizing and ana-
lyzing conceptual architectures for mobile information systems. We have
defined the basics of a domain-specific architectural pattern catalog for
this domain, and mined several patterns from existing, well-known sys-
tems. Our approach does not concentrate on the technical issues, but
rather on identifying those architectures that better fit business goals
regarding mobility.
We are building a catalog of architectural solutions proven successful in
industrial practice. This catalog should be the basis of a high-level, com-
mon language to describe mobile architectural solutions. This language
can be used during the process of conceptual modeling of this kind of
applications, both to provide specificity to a general purpose modeling
language (such as UML) and to face modeling and design problems at a
higher abstraction level by reusing successful solutions.
This paper is organized as follows. In Sect. 2, we briefly review some of
the concepts underlying this paper - such as software architecture and
patterns. In Sect. 3, we present the general motivation for our approach.
In Sect. 4, we present a preliminary classification of our patterns. In
Sect. 5, we present some of the patterns we mined. Sect. 6 presents shows
how our approach relates to the actual process of building and analyzing
applications . Finally, in Sect. 7 we draw some conclusions and describe
our lines for future work.


2    Software Architecture and Patterns

In recent years, there has been some discussion regarding the software
architecture definition. In this paper, we use the term software archi-
tecture to refer to a structural plan that describes the elements of the
system, how the interact together, and how these interactions fit the
business goals. In other words, we adopt the software blueprint view of
architecture [12, 9]. We believe this is the most suitable view for today’s
industrial practice.
Though there are differences among the existing approaches to archi-
tecture, most of them agree in separating architectural concerns into
several views [12]. This paper concentrates on what has been called
the conceptual view [9]. This view describes the architecture in terms
of the high-level computational elements that comprise the solution. In
this view, the architect organizes the domain-specific computational el-
ements (components) and the interactions between them (connectors),
building a solution that meets the business requirements. For example,
an architect designing a compiler may produce an architecture consist-
ing of several components (e.g. parser, lexer), connected to each other
by specific connectors (e.g. direct procedure calls).
The concept of architectural patterns emerged several years ago [15] and
it is indeed similar to the widely spread notion of design patterns [7].
They share the intent of capturing, recording and conveying design expe-
rience. A pattern allows describing a recurrent design problem, together
with its solution in an abstract way, such that the solution can be applied
to different (though similar) problems. They provide a design vocabu-
lary for the domain to which they are applied. However, while design
patterns are used at the so-called micro-architectural level in which the
design components are classes, objects and the interaction mechanisms
are messages, architectural patterns deal with a higher-level view of the
system in which primitives are components and connectors.


3    Why Mobile Architecture Patterns?
The definition of a mobile information system architecture is nowa-
days rather ad-hoc by current software engineering standards. The soft-
ware architect relies on existing approaches to general software architec-
ture, well-known solutions to fine-grained issues (e.g. underlying technol-
ogy) and commercial solutions. However, the architect’s toolbox lacks
a catalog of vendor-independent architectural solutions. Indeed, most
approaches consist in buying a predefined solution without a previous
architectural analysis of the underlying problem.
While choosing commercial solutions is in general a cost-effective ap-
proach, performing an high-level architectural analysis of both the prob-
lem and the candidate solutions can help choose the best-fit solution
for the problem. Instead of choosing an architecture based on vendor’s
claims about it, an architect could define a candidate architecture, an-
alyze available architectures, and then decide on buying or building a
solution.
Recognizing this need, we have defined a general strategy towards the
classification and analysis of mobile architectures proven successful in
industrial practice. Our strategy consists in the definition, maintenance
and usage of a pattern catalog, providing a handbook for the architect
facing this kind of engineering task. As mentioned before, these patterns
help to improve the conceptual vocabulary of the designer, thus providing
meaningful abstractions during conceptual modeling and architectural
design.


4    Pattern Classification
Mobile devices are highly constrained in nature. Distinct devices have
very different types of limitations, and where one device is strong another
may be very weak. However, a mobile information system may have to
consider the availability of the service to those very different devices. On
the other hand, mobile users are not interested in exactly the same kind
of information that standard users are. The classification we describe
in the following was defined to reflect the different dimensions of these
problems in the light of the already mined patterns – that is, following a
bottom-up approach . We believe that this classification may evolve and
even grow as new patterns are mined.
Physical Accessing. This category addresses the issues about how to
physically access an information source from a mobile client, depend-
ing on the constraints imposed by requirements and device restrictions.
Hardware limitations have a strong impact on the way mobile devices
access to information.
For example, a mobile phone has better accessing facilities than a stan-
dalone PDA (i.e. without a modem) depending on a synchronization to a
desktop machine to retrieve information. A PDA with a dial-up modem
has better accessing facilities than a standalone PDA, but less autonomy
than a wireless-enabled PDA. However, a dial-up connection is likely
to be available in almost every city of the world, while today’s wireless
network areas are reduced.
While some alternatives may be preferable to others in certain contexts,
the designer of the information system architecture may have to provide
a solution that works both for a high-end autonomous clients and also for
a client very limited in terms of information accessing. A common reason
for this is that most adequate devices are also the most expensive ones,
and the majority of users have devices that stand in the middle-ground,
or even in the low-end of the spectrum.
Logical Addressing. This category addresses the issues that arise when
a mobile client has to address a space of information sources. While
a desktop client of an information system has a context suitable for
freely navigating through the space of information sources, the choice of
a mobile client is generally more reduced. A mobile client may be capable
of processing only a subset of the whole universe of information – e.g. a
subset of the web –, and even if capable, may only be interested in seeing
a subset of it.
For example, most PDA devices have specialized browsers to access in-
formation from the web. However, most of these browsers do not work
well with any page, but only with a subset that are encoded in such a
way that they are suitable for mobile devices – e.g. smaller screens and
a limited HTML syntax. A mobile user may not want to see the whole
universe of information sources, but rather the subset that its suitable
for its device and its needs – e.g. a set of mobile channels, suitable for
PDA accessing.
Constrained devices are weaker and more specialized than mainstream
devices. The choice of available information sources that the device can
access is generally a subset of the whole universe of choices, not only
because of hardware limitations but also because of the specialized in-
terests of the mobile user . A mobile client in these conditions should
not have to deal with the complexity of addressing the whole universe of
information sources, but rather the subset in which it is interested.
Customization. This category provides architectural patterns that ad-
dress the problems of customizing the information sources themselves.
Again, the constrained nature of mobile devices poses physical and con-
Fig. 1. Using the UML to Describe Conceptual Architecture Concepts




ceptual restrictions to the information that can be deployed in such a
device. A mobile device may not be capable of interpreting any infor-
mation source encoding. Even if so, the mobile device user may not be
interested in the same view of the information that a desktop client is.
For example, while most PDA devices have web-browsers, the screen lim-
itations makes some web pages impossible to be viewed on such devices.
Some browsers even do not support the complete HTML syntax, and
therefore cannot access arbitrary pages on the web. Finally, a mobile
user accessing a web site may be interested only in information relevant
to its mobile context - e.g. a businessman accessing a financial company
web site is more interested in finding market information rather than the
history of the company.
A mobile user may be interested in the same information source that a
non-user user is interested in, but not exactly in the same view of that
source. Mobile devices may not be powerful enough to process the infor-
mation source – e.g. for limitations in parsing the information format.
Even if so, mobile users are interested in a view of the information source
that is relevant to their mobile context.


5    Pattern Catalog
In this section we present some of the patterns we have mined in the
categories mentioned in the previous section. We use a format similar to
the one used in [7], though slightly customized to better fit the higher-
level nature of architectural patterns. We have also included references to
commercial implementations of each pattern, so that the practicing ar-
chitect can use it to evaluate existing alternatives to the implementation
of the pattern. Actually, the list is reduced in this paper for space rea-
sons – and included in the Known Uses section – but shows the general
intent of serving as a suggestion list. Again for space reasons, we have
only included the Related Patterns section in those patterns for which
we consider it more valuable.
Our pattern format includes an UML [8] diagram to explain the structure
of the solution. While the UML is not particularly oriented to architec-
ture description, there are several approaches to the usage of the UML
for software architectures. We have deliberately chosen the one defined
in [9] for being both simple and expressive. Note that we have actually
simplified the mentioned notation for simplicity reasons, and instead we
compliment our diagrams with textual explanations.
The diagram depicted in Fig. 1 shows an example of the notation we
adopted. The diagram shows a component connected to a connector. A
Fig. 2. Static Accessor




component is an architectural entity that represents a conceptual unit
of computation. The component exposes its functionality through one or
more ports. The component can interact with other components through
connectors, which represent a communication mechanism. A connector
connects two or more components, through their ports. These elements
are actually stereotyped classes - for more information about the usage
of these stereotypes in this context, refer to [9].


5.1   Physical Accessing Pattern: Static Accessor
Intent. Provide a mobile client with the possibility of accessing an in-
formation source, when the client itself is not capable of accessing the
information source on its own.
Problem. You have to deploy information into a constrained device
that does not have enough capabilities to gather information on its own
(e.g. a PDA without a modem, and without wireless capabilities). It
may happen that the most common configuration of such a device does
not provide such facilities (e.g. most Palm and PocketPC devices do not
provide a modem in its basic configuration). It may also be the case that
the targeted line of devices does not have such facilities at all.
Solution. Make the mobile client dependent of a more powerful, non
mobile device. Provide a way so that the dependable client can be fed
from the static device – the static accessor. The responsibility of interact-
ing with the data source belongs to the static device, and the dependent
client takes the information through the static accessor. See Fig. 2.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Static Accessor
is a non-mobile device capable of retrieving information from the sources.
The Synchronization connector is a mechanism that allows the mobile
client to get the retrieved information from the static accessor. The Infor-
mation Retrieval connector is a mechanism that allows the static accessor
to get information from the information source. Finally, the Information
Source is the information source in which the mobile client is interested.
Collaborations. Whenever the Mobile Client requires information from
the Information Source, the Synchronization mechanism is activated. The
latter can be activated from the Mobile Client side, or from the Static
Accessor side (e.g. when the static accessor discovers that there’s new
Fig. 3. Information Broker




information available from the Information Source). The Static Accessor
communicates with the Information Source through an Information Re-
trieval mechanism, getting the information in which the Mobile Client is
interested.
Consequences. Any portable device gets the possibility of interacting
with an information system as long as a suitable accessor is built. The
autonomy of the client is reduced, since the information retrieval process
requires the presence of the static accessor. The mobile client part is sim-
plified, but having to provide a suitable accessor may involve additional
work for the developers.
Known Uses. The mobile information system AvantGo [2] uses Palm
OS’s HotSync [3] technology to transfer information from information
sources (AvantGo channels) to the dependable clients (Palm OS hand-
helds) through a static accessor (a desktop machine). AcroClip [1] for
Casio OS handhelds also uses this pattern.


5.2   Logical Addressing Pattern: Information Broker
Intent. Take control of a mobile client’s addressing capabilities. Have
the address space of available information sources preprocessed by an
intermediary.
Problem. You have to allow the mobile user to retrieve information from
an arbitrary or predefined set of information sources (e.g. web sites). You
want to keep the mobile client simple (e.g. due to hardware restrictions),
and therefore you need to reduce the information addressing capability of
the mobile device. It may also be the case that you want to prevent mobile
clients to access arbitrary information sources – e.g. for corporate security
reasons. In that case, you need an intermediary capable of assuming the
responsibility of addressing the whole universe of information sources –
e.g. the whole web – and presenting a transformed universe to the mobile
client – e.g. a set of corporate channels.
Solution. Provide a broker capable of interacting with the whole uni-
verse of information, presenting the mobile client with a transformed
(possibly reduced) view of that universe, where that view is suitable for
mobile access. See Fig. 3.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Information Re-
trieval connector is a communication mechanism that allows information
Fig. 4. Custom Authoring




transfer between components. The two appearances of the information
retrieval connectors in the diagram does not imply that both appear-
ances are identical. The Information Broker is software component that
can address information sources and retrieve data that can be delivered
to the clients. Finally, the Information Source is the information source
in which the mobile client is interested.
Collaborations. The Mobile Client gets information from the Infor-
mation Broker through an Information Retrieval mechanism. The Infor-
mation Broker retrieves information from a set of available Information
Sources using another Information Retrieval mechanism
Consequences. The mobile client addressing system may be simplified,
but having to provide a suitable broker may involve additional work for
the developers. The broker provider has control on the information that
the mobile clients access.
Known Uses. AvantGo [2] centralizes the access to a growing set of
channels, where AvantGo’s M-Commerce server acts as a broker between
the information sources and the actual mobile clients. The AcroClip [1]
service also offers access through channels, controlled by a proprietary
broker.


5.3   Customization Pattern: Custom Authoring
Intent. Provide the mobile client with information suitable for its direct
manipulation, so that no expensive customization is required.
Problem. You have to deploy information from information sources (e.g.
web sites) in a constrained device that does not support the format in
which those sources encode their information (e.g. Palm’s m100 hand-
held, for which a full-blown web browser is not available).
Solution. For each information source of interest, provide a customized
version of that source, so that the format is exactly the one suitable for
the client. See Fig. 4.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Customized
Source is an information source that represents information in a format
that can be handled directly by the mobile client. Finally, the Informa-
tion Retrieval connector is a mechanism that allows the mobile client to
get information from the information source.
Collaborations. The Mobile Client retrieves information directly from
the Information Source, through the Information Retrieval mechanism.
Since the Information Source is already customized for the Mobile Client,
no additional processing is necessary.
Fig. 5. Transcoder




Consequences. The information is specially designed for the mobile
clients in mind, so there is no possibility that it does not suit perfectly
its clients. The content provider has additional work, since it has to
provide a customized version of its information sources for each of the
mobile clients in mind. Updating the information can be a heavy task,
if there are several customized versions to be maintained.
Known Uses. AvantGo [2] provides an infrastructure so that clients
provide their own customized versions of the information they provide.


5.4   Customization Pattern: Transcoder
Intent. Automate the process of adapting information from arbitrary
sources for mobile clients’ manipulation.
Problem. You have to deploy information from information sources (e.g.
web sites) in a constrained device that does not support the format in
which those sources encode their information (e.g. Palm’s m100 hand-
held, for which a full-blown web browser is not available). The cost of
making customized versions of the information sources is too high (e.g.
because the number of information sources is too big, or because the
number of different targeted devices is high).
Solution. Create a component able to convert data from arbitrary infor-
mation sources to a format suitable for the potential clients. See Fig. 5.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Information Re-
trieval connector is a communication mechanism that allows information
transfer between components. The two appearances of the information
retrieval connectors in the diagram does not imply that both appearances
are identical. The Transcoder is software component that can translate
information represented in an particular format to a format that can
be handled by the mobile client. Finally, the Information Source is the
information source in which the mobile client is interested.
Collaborations The Mobile Client receives information from the Trans-
coder using an Information Retrieval mechanism. The Transcoder re-
ceives information in its original format from the Information Source
using another Information Retrieval mechanism.
Consequences. The information provider has no additional work in the
customization of the information for the mobile clients. The transcoder
Fig. 6. Customized Behavior




automatically handles this task. Building the transcoder can be a diffi-
cult task. There maybe several mobile clients in mind, with significant
differences that the transcoder must support. The parsing of the original
information source can be difficult in itself.
Known Uses. PumaTech [4] provides a service that allows accessing
to standard web pages via Palm OS devices. PumaTech’s solution re-
lies on conversion heuristics that convert pages to version suitable for
constrained hardware, in a way that semantics are preserved. IBM also
provides a transcoder-based solution as part of its Websphere family of
products [5]. AcroClip [1] has built-it transcoders for several web sites,
and also allows users to define their own.


5.5   Customization Pattern: Customized Behaviour

Intent. Provide different application response according to the mobile
client.
Problem. In many situations you need to adapt an applications func-
tionality to the kind of interface device (a web browser, a mobile ap-
pliance) in a dynamic way. Suppose that you are building an Internet
application for selling products in the style of amazon.com. You may
want to give special offers to users of some mobile devices: for exam-
ple you have just signed an agreement with a cellular phone company
and you want to induce customers to use that device. Unfortunately this
business rule may change often; the discount rate may change, the con-
dition on products that the customer must buy may vary, etc. If you tie
the business rules either to the application model or to the components
standing for the interface device you may have maintenance problems
Solution. Decouple the business rules from the application model and
these from a context model that describes the current users state (device,
network connection, etc). See Fig. 6.
Participants. The Mobile Client is the mobile device interested in the
information available from the information sources. The Application
Model contains the base application objects and behaviors. It should be
built in such a way of being independent of different adaptation policies
(for example to different mobile devices, types of network connections,
etc) The Rule Model contains the logic of customization; by interacting
with the context model it triggers corresponding application behaviors.
The Context Model represents the actual user profile, including the in-
formation on the current mobile device The Wrapper redirects client
requests to the application model, to the customization model
Collaborations. For each client request that must be customized (for
example according to the mobile device) the wrapper mechanism redi-
rects the request to the Rule Model. Rules interact with both the con-
text model (they usually represent conditions) and the application model
triggering the corresponding actions. The result of the rules execution is
returned to the client.
Consequences. The application model remains stable when we add new
business rules related with mobile devices or new devices. The rule model
may get monolithic if you add many flat rules.
Known Uses. In the UWA (Ubiquitous Web Applications) project [10]
rules are separated from the application and the context model is itself
composed of user, device and network sub-models. In the Munich Ref-
erence Architecture for adaptive hypermedia applications [11] a similar
approach is used. WebML [6] also uses a variant of this pattern.
Related Patterns. The Transcoder pattern is similar to the Customized
Behavior in that it provides an automated way of presenting differ-
ent views of the information to the mobile clients. However, while the
Transcoder focuses mainly on the looks of the information, the Cus-
tomized Behavior pattern focuses on the guts of the information genera-
tion process. Therefore the Transcoder acts like a facade over a system,
being an information-unaware solution. In the Customized Behavior pat-
tern, the rules and context which comprise the customization mechanism
are aware of the kind of information the system provides.


6     From Patterns to Applications
In this section we show how the patterns we presented can help in both
describing a commercial solution and defining a solution to fit a busi-
ness goal. We present three examples on the usage of patterns, that go
from representing commercial architectures to potential usages of these
patterns in an enterprise context.

6.1   Representing AvantGo’s Dynamic Mobility Model
The Dynamic Mobility Model (DMM) [2] is the solution suggested by
AvantGo to provide mobile access to web-based information systems.
In Fig. 7 we show the conceptual architecture of the DMM. The Static
Accessor pattern is used to allow non-wireless devices to access the sys-
tem. An Information Broker provides the mobile clients with a reduced
version of the internet, based on channels. Finally, the Custom Author-
ing pattern is used to provide information encoding in a format directly
suitable for mobile clients.
Fig. 7. AvantGo’s Dynamic Mobility Model




Having a conceptual description of a technological infrastructure such
as AvantGo enables architects to analyze the solution in a completely
objective way. Given an actual problem, the architect can define the
best-fit architecture and then compare it to AvantGo’s to see if it really
fits the business goals.

6.2   Customized Mobile Access to a Corporate Database
A software company wants to provide access to its corporate database
to both their vendor force and also its customers. For its vendor force,
it wants to provide updated information about their products, solutions
and prices. Instead, for their customers, it wants to provide information
about special offers and customized support. The first problem the ar-
chitect faces is providing a customized view of its information database
for the different users that may be interested in that information.
Since the vendor force needs updated information, the company decides
to provide its vendors with wireless-enabled, high-end PDA devices. How-
ever, the customers have a variety of mobile devices, most of them not-
wireless enabled. Thus, the second problem the architect faces is pro-
viding both wired and wireless access to the information. Also, the in-
formation encoding may be different for the high-end vendor devices,
compared to the possibly-low-end customer devices.
Following the approach mentioned in section 3, the architect browses the
architectural pattern catalog and selects those patterns that can help in
solving the problem at hand. The resulting conceptual architecture is
depicted in Fig. 8.
The proposed architecture is a high-level view of the solution. The Static
Accessor pattern is used to provide wired access to the information
source. The Customized Behavior pattern is used to provide different
views on the same information source - the corporate database. Once the
architecture is depicted, the architect can then discuss about building or
buying a solution, depending on the available schedule and expense.

6.3   Mobile Access to a Commercial Website
A small company runs an entertainment web portal, which provides in-
formation about latest movies and movie theaters. The company believes
Fig. 8. Architecting Customized Mobile Access to a Corporate Database




that mobile information access will provide it with an interesting advan-
tage over its competitors. Moreover, since the company already has a
website running, it wants to avoid having to author a parallel website for
mobile access. Also, since the company has a small staff, management is
heavily concerned about doubling the website maintenance effort.
The software architect browses the architectural pattern catalog and sees
that a Transcoder based solution can solve both the development time
effort and the staffing problems. The architect takes the suggested com-
mercial component list from the pattern description and browses the web
for commercial solutions, comparing prices and making a report about
both the architecture and the prices the commercial tools involves. The
architect also discards building a transcoder in-house for the development
effort it involves. However, the architect also considers a Custom Au-
thoring solution and calculates the approximate development and main-
tenance costs associated to it. The latter solution was also considered,
since the commercial component providing access to customized sources
has a significantly lower price than the transcoder-based solutions. The
architect elaborates a report afterwards, and presents it to management
for its cost/benefit evaluation.


7    Conclusions and Future Work
The current work on mobile information system architectures is mainly
focused on the technological aspect of this kind of systems. While there
is considerable research in approaches for implementing systems using a
certain wireless technique or other, there are no studies about how the
mobility aspect conceptually relates to an information system.
This paper presented an approach to describing, categorizing and ana-
lyzing conceptual architectures for mobile access to information systems.
Our approach is based on the architectural pattern concept. We pre-
sented several patterns that represent common mobility configurations
existing in current industrial practice.
Abstracting existing configuration as architectural patterns provides the
designer with a catalog of architectures. The practitioner can then choose
the architectural structures that best fit the business goals, without hav-
ing to rely on vendor-specific solutions or terminology.
We are currently working on mining other architectural solutions that
occur in existing mobile systems. Our intention is to grow a complete
and solid architectural pattern language for providing mobile access to
information systems. We are also working on defining an architectural
methodology for the better usage of these patterns. Our main intention is
to integrate these patterns into existing modeling tools and/or languages,
in order to provide the architect with a toolbox of primitives so he can
describe his mobile applications in a higher-level of abstraction.


References
 1.   AcroClip. http://www.pcsync.de.
 2.   AvantGo M-Commerce Server. http://www.avantgo.com.
 3.   HotSync Technology. http://www.palm.com.
 4.   PumaTech BrowseIt Server. http://www.pumatech.com.
 5.   Transcoding Publisher. http://www.websphere.ibm.com.
 6.   WebML. http://www.webml.org.
 7.   R. J. Erich Gamma, Richard Helm and J. Vlissides. Design Pat-
      terns, Elements of Reusable Object-Oriented Software. Addison Wes-
      ley Professional Computing Series, 1994.
 8.   O. M. Group. UML (version 1.3). OMG, June 1999.
 9.   C. Hofmeister, R. Nord, and D. Soni. Applied Software Architecture.
      Addison Wesley, 2000.
10.   G. Kappel, W. Retschitzegger, and W. Schwinger. Modeling Ubiq-
      uitous Web Applications: The WUML Approach. In Interna-
      tional Workshop on Data Semantics in Web Information Systems
      (DASWIS)-2001), co-located with 20th International Conference on
      Conceptual Modeling (ER2001), Proceedings, November 2001.
11.   N. Koch and M. Wirsing. The Munich Reference Model for Adaptive
      Hypermedia Applications. To be presented at the 2nd International
      Conference on Adaptive Hypermedia and Adaptive Web Based Sys-
      tems, 2002.
12.   P. B. Kruchten. The 4 + 1 View Model of Architecture. IEEE
      Software, 12(6):42–50, Nov. 1995.
13.   J. Noble, C. Weir, and D. Bibby. Small Memory Software: Patterns
      for Systems with Limited Memory. Addison-Wesley, 2000.
14.   S. Schaefer, S. Marney, T. Willis, and K. Parkkinen. OOPSLA Work-
      shop on Architectural Patterns for Wireless Computing. 2001.
15.   M. Shaw. Patterns for Software Architectures. In J. Coplien and
      D. Schmidt, editors, Pattern Languages of Program Design, chap-
      ter 24, pages 453–462. Addison-Wesley, 1995.

More Related Content

What's hot

Unit 3
Unit 3Unit 3
Elements of Innovation Management in Computer Software and Services
Elements of Innovation Management in Computer Software and ServicesElements of Innovation Management in Computer Software and Services
Elements of Innovation Management in Computer Software and Services
Michael Le Duc
 
Framework for developed simple architecture enterprise fdsae
Framework for developed simple architecture enterprise   fdsaeFramework for developed simple architecture enterprise   fdsae
Framework for developed simple architecture enterprise fdsae
csandit
 
Unit 2
Unit 2Unit 2
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Jignesh Kariya
 
Software architecture for developers by Simon Brown
Software architecture for developers by Simon BrownSoftware architecture for developers by Simon Brown
Software architecture for developers by Simon Brown
Codemotion
 
White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...
White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...
White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...
Kingfin Enterprises Limited
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
devika g
 
Adm Workshop Program
Adm Workshop ProgramAdm Workshop Program
Adm Workshop Program
Emmanuel Fuchs
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
Henry Muccini
 
Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs Design
Luc Trudeau
 
How Domain-Driven Design Can Boost Legacy System Modernization
How Domain-Driven Design Can Boost Legacy System ModernizationHow Domain-Driven Design Can Boost Legacy System Modernization
How Domain-Driven Design Can Boost Legacy System Modernization
Cognizant
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - Summary
John Ortiz
 
Ch10-Program Design
Ch10-Program DesignCh10-Program Design
Ch10-Program Design
Fajar Baskoro
 
SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)
SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)
SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)
AIRCC Publishing Corporation
 
Useanalysis
UseanalysisUseanalysis
Useanalysis
Fajar Baskoro
 
Software packaged software principles publiek
Software packaged software principles publiekSoftware packaged software principles publiek
Software packaged software principles publiek
Richard Claassens CIPPE
 
Software Engineering: Designing a Better Experience for Communications, Media...
Software Engineering: Designing a Better Experience for Communications, Media...Software Engineering: Designing a Better Experience for Communications, Media...
Software Engineering: Designing a Better Experience for Communications, Media...
Cognizant
 
Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...
Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...
Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...
FIA2010
 
Software architecture
Software architectureSoftware architecture
Software architecture
Udayna
 

What's hot (20)

Unit 3
Unit 3Unit 3
Unit 3
 
Elements of Innovation Management in Computer Software and Services
Elements of Innovation Management in Computer Software and ServicesElements of Innovation Management in Computer Software and Services
Elements of Innovation Management in Computer Software and Services
 
Framework for developed simple architecture enterprise fdsae
Framework for developed simple architecture enterprise   fdsaeFramework for developed simple architecture enterprise   fdsae
Framework for developed simple architecture enterprise fdsae
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software architecture for developers by Simon Brown
Software architecture for developers by Simon BrownSoftware architecture for developers by Simon Brown
Software architecture for developers by Simon Brown
 
White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...
White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...
White paper Fujitsu Dynamic Infrastructures- a consistent approach to meeting...
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Adm Workshop Program
Adm Workshop ProgramAdm Workshop Program
Adm Workshop Program
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
 
Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs Design
 
How Domain-Driven Design Can Boost Legacy System Modernization
How Domain-Driven Design Can Boost Legacy System ModernizationHow Domain-Driven Design Can Boost Legacy System Modernization
How Domain-Driven Design Can Boost Legacy System Modernization
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - Summary
 
Ch10-Program Design
Ch10-Program DesignCh10-Program Design
Ch10-Program Design
 
SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)
SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)
SECURETI: Advanced SDLC and Project Management Tool for TI (Philippines)
 
Useanalysis
UseanalysisUseanalysis
Useanalysis
 
Software packaged software principles publiek
Software packaged software principles publiekSoftware packaged software principles publiek
Software packaged software principles publiek
 
Software Engineering: Designing a Better Experience for Communications, Media...
Software Engineering: Designing a Better Experience for Communications, Media...Software Engineering: Designing a Better Experience for Communications, Media...
Software Engineering: Designing a Better Experience for Communications, Media...
 
Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...
Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...
Dimitri Papadimitriou (Alcatel-Lucent Bell) - Future Internet Architecture (F...
 
Software architecture
Software architectureSoftware architecture
Software architecture
 

Similar to ER 2002 Paper "A Pattern-Based Approach to Mobile Information Systems Conceptual Architecture"

SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
ShwetaGajbhiye12
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
puttipavan23022023
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software Creation
Jennifer Wood
 
Architecture centered publishing systems
Architecture centered publishing systemsArchitecture centered publishing systems
Architecture centered publishing systems
Glen Alleman
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architects
Andre Dovgal
 
76 May 2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
76 May  2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx76 May  2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
76 May 2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
evonnehoggarth79783
 
Enterprise architecture
Enterprise architecture Enterprise architecture
Enterprise architecture
Hamzazafeer
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
Jay van Zyl
 
Architectured Centered Design
Architectured Centered DesignArchitectured Centered Design
Architectured Centered Design
Glen Alleman
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
Majong DevJfu
 
A Survey of Building Robust Business Models in Pervasive Computing
A Survey of Building Robust Business Models in Pervasive ComputingA Survey of Building Robust Business Models in Pervasive Computing
A Survey of Building Robust Business Models in Pervasive Computing
Osama M. Khaled
 
Mit104 software engineering
Mit104  software engineeringMit104  software engineering
Mit104 software engineering
smumbahelp
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
Eric Saraceno
 
Why to Architecture Information
Why to Architecture InformationWhy to Architecture Information
Why to Architecture Information
Ashwani Kumar Ramani
 
A Methodology For Large-Scale E-Business Project Management
A Methodology For Large-Scale E-Business Project ManagementA Methodology For Large-Scale E-Business Project Management
A Methodology For Large-Scale E-Business Project Management
April Smith
 
Bimarabia3en
Bimarabia3enBimarabia3en
Bimarabia3en
Omar Selim
 
software
softwaresoftware
software
mansab MIRZA
 
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docxCHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
christinemaritza
 
CHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docx
CHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docxCHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docx
CHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docx
cravennichole326
 
Software architecture-patterns
Software architecture-patternsSoftware architecture-patterns
Software architecture-patterns
pedro
 

Similar to ER 2002 Paper "A Pattern-Based Approach to Mobile Information Systems Conceptual Architecture" (20)

SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software Creation
 
Architecture centered publishing systems
Architecture centered publishing systemsArchitecture centered publishing systems
Architecture centered publishing systems
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architects
 
76 May 2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
76 May  2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx76 May  2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
76 May 2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
 
Enterprise architecture
Enterprise architecture Enterprise architecture
Enterprise architecture
 
10.1.1.107.2618
10.1.1.107.261810.1.1.107.2618
10.1.1.107.2618
 
Architectured Centered Design
Architectured Centered DesignArchitectured Centered Design
Architectured Centered Design
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
 
A Survey of Building Robust Business Models in Pervasive Computing
A Survey of Building Robust Business Models in Pervasive ComputingA Survey of Building Robust Business Models in Pervasive Computing
A Survey of Building Robust Business Models in Pervasive Computing
 
Mit104 software engineering
Mit104  software engineeringMit104  software engineering
Mit104 software engineering
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
 
Why to Architecture Information
Why to Architecture InformationWhy to Architecture Information
Why to Architecture Information
 
A Methodology For Large-Scale E-Business Project Management
A Methodology For Large-Scale E-Business Project ManagementA Methodology For Large-Scale E-Business Project Management
A Methodology For Large-Scale E-Business Project Management
 
Bimarabia3en
Bimarabia3enBimarabia3en
Bimarabia3en
 
software
softwaresoftware
software
 
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docxCHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
 
CHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docx
CHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docxCHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docx
CHAPTER 10 SystemArchitectureChapter 10 is the final chapter.docx
 
Software architecture-patterns
Software architecture-patternsSoftware architecture-patterns
Software architecture-patterns
 

More from Walter Ariel Risi

ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...
ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...
ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...Walter Ariel Risi
 
CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...
CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...
CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...Walter Ariel Risi
 
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
Walter Ariel Risi
 
AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...
AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...
AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...Walter Ariel Risi
 
Expresando Hypermedia en Programación Funcional
Expresando Hypermedia en Programación FuncionalExpresando Hypermedia en Programación Funcional
Expresando Hypermedia en Programación Funcional
Walter Ariel Risi
 
¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?
¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?
¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?
Walter Ariel Risi
 
SATURN 2011 Presentation by Walter Ariel Risi
SATURN 2011 Presentation by Walter Ariel RisiSATURN 2011 Presentation by Walter Ariel Risi
SATURN 2011 Presentation by Walter Ariel Risi
Walter Ariel Risi
 
Software Guru Article (2006) "Enterprise Application Integration: more than j...
Software Guru Article (2006) "Enterprise Application Integration: more than j...Software Guru Article (2006) "Enterprise Application Integration: more than j...
Software Guru Article (2006) "Enterprise Application Integration: more than j...
Walter Ariel Risi
 
FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"
FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"
FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"
Walter Ariel Risi
 
OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...
OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...
OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...
Walter Ariel Risi
 
Epm 2010 Pmi Abril 2011 V5
Epm 2010 Pmi   Abril 2011   V5Epm 2010 Pmi   Abril 2011   V5
Epm 2010 Pmi Abril 2011 V5
Walter Ariel Risi
 
Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.
Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.
Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.
Walter Ariel Risi
 
IT Governance. Published in “Perspectiva” (Perspective) Magazine.
IT Governance. Published in “Perspectiva” (Perspective) Magazine.IT Governance. Published in “Perspectiva” (Perspective) Magazine.
IT Governance. Published in “Perspectiva” (Perspective) Magazine.
Walter Ariel Risi
 
Business Process Management: From the Stand. Published in “Perspectiva” (Pers...
Business Process Management: From the Stand. Published in “Perspectiva” (Pers...Business Process Management: From the Stand. Published in “Perspectiva” (Pers...
Business Process Management: From the Stand. Published in “Perspectiva” (Pers...
Walter Ariel Risi
 
Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)
Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)
Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)
Walter Ariel Risi
 
IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008
IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008
IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008
Walter Ariel Risi
 
Software Architecture Office Presentation by Walter Ariel Risi, 2006
Software Architecture Office Presentation by Walter Ariel Risi, 2006Software Architecture Office Presentation by Walter Ariel Risi, 2006
Software Architecture Office Presentation by Walter Ariel Risi, 2006
Walter Ariel Risi
 
IBM Rational Day 2006, Presentation by Walter Ariel Risi
IBM Rational Day 2006, Presentation by Walter Ariel RisiIBM Rational Day 2006, Presentation by Walter Ariel Risi
IBM Rational Day 2006, Presentation by Walter Ariel Risi
Walter Ariel Risi
 
IBM Governance & Compliance 2008, Presentation by Walter Ariel Risi
IBM Governance & Compliance 2008, Presentation by Walter Ariel RisiIBM Governance & Compliance 2008, Presentation by Walter Ariel Risi
IBM Governance & Compliance 2008, Presentation by Walter Ariel Risi
Walter Ariel Risi
 
Rational Comes to You 2008, Presentation by Walter Ariel Risi
Rational Comes to You 2008, Presentation by Walter Ariel RisiRational Comes to You 2008, Presentation by Walter Ariel Risi
Rational Comes to You 2008, Presentation by Walter Ariel Risi
Walter Ariel Risi
 

More from Walter Ariel Risi (20)

ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...
ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...
ICFP 98 Poster Proposal "A Functional Programming Approach to Hypermedia...
 
CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...
CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...
CACIC 99 Paper "Effective Mapping of Hypermedia Design Primitives to Imp...
 
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
 
AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...
AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...
AID 98 Paper "Encoding and Crossover Mismatch in a Molecular Design Prob...
 
Expresando Hypermedia en Programación Funcional
Expresando Hypermedia en Programación FuncionalExpresando Hypermedia en Programación Funcional
Expresando Hypermedia en Programación Funcional
 
¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?
¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?
¿Qué lleva a un Ingeniero de Software de Excelente a Exceptional?
 
SATURN 2011 Presentation by Walter Ariel Risi
SATURN 2011 Presentation by Walter Ariel RisiSATURN 2011 Presentation by Walter Ariel Risi
SATURN 2011 Presentation by Walter Ariel Risi
 
Software Guru Article (2006) "Enterprise Application Integration: more than j...
Software Guru Article (2006) "Enterprise Application Integration: more than j...Software Guru Article (2006) "Enterprise Application Integration: more than j...
Software Guru Article (2006) "Enterprise Application Integration: more than j...
 
FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"
FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"
FEA 1998 Paper "Proteint Structure Prediction as a Complex Adaptive System"
 
OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...
OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...
OOPSLA 2001 Position Paper "Playing the Software Archeologist: Exploring and ...
 
Epm 2010 Pmi Abril 2011 V5
Epm 2010 Pmi   Abril 2011   V5Epm 2010 Pmi   Abril 2011   V5
Epm 2010 Pmi Abril 2011 V5
 
Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.
Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.
Microsoft EPM 2010 Presentation at Project Management Update 2011. March 2011.
 
IT Governance. Published in “Perspectiva” (Perspective) Magazine.
IT Governance. Published in “Perspectiva” (Perspective) Magazine.IT Governance. Published in “Perspectiva” (Perspective) Magazine.
IT Governance. Published in “Perspectiva” (Perspective) Magazine.
 
Business Process Management: From the Stand. Published in “Perspectiva” (Pers...
Business Process Management: From the Stand. Published in “Perspectiva” (Pers...Business Process Management: From the Stand. Published in “Perspectiva” (Pers...
Business Process Management: From the Stand. Published in “Perspectiva” (Pers...
 
Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)
Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)
Oficinas de Proyectos Eficientes con Microsoft EPM 2010 (en Microsoft Uruguay)
 
IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008
IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008
IEEE / UCA Talk on Software Engineering Tools, By Walter Ariel Risi, 2008
 
Software Architecture Office Presentation by Walter Ariel Risi, 2006
Software Architecture Office Presentation by Walter Ariel Risi, 2006Software Architecture Office Presentation by Walter Ariel Risi, 2006
Software Architecture Office Presentation by Walter Ariel Risi, 2006
 
IBM Rational Day 2006, Presentation by Walter Ariel Risi
IBM Rational Day 2006, Presentation by Walter Ariel RisiIBM Rational Day 2006, Presentation by Walter Ariel Risi
IBM Rational Day 2006, Presentation by Walter Ariel Risi
 
IBM Governance & Compliance 2008, Presentation by Walter Ariel Risi
IBM Governance & Compliance 2008, Presentation by Walter Ariel RisiIBM Governance & Compliance 2008, Presentation by Walter Ariel Risi
IBM Governance & Compliance 2008, Presentation by Walter Ariel Risi
 
Rational Comes to You 2008, Presentation by Walter Ariel Risi
Rational Comes to You 2008, Presentation by Walter Ariel RisiRational Comes to You 2008, Presentation by Walter Ariel Risi
Rational Comes to You 2008, Presentation by Walter Ariel Risi
 

Recently uploaded

System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 

Recently uploaded (20)

System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 

ER 2002 Paper "A Pattern-Based Approach to Mobile Information Systems Conceptual Architecture"

  • 1. A Pattern-Based Approach to Mobile Information Systems Conceptual Architecture Walter A. Risi and Gustavo Rossi LIFIA, Universidad Nacional de La Plata, Argentina [walter,gustavo]@lifia.info.unlp.edu.ar Abstract. As mobile access to information becomes a common trend in most commercial and corporate information systems, new software engineering challenges arise. While the most visible problems in mobile systems are the communication infrastructure and technical constraints of portable devices, there are also conceptual architecture issues that must be properly addressed. This paper describes our work in progress towards categorizing and ana- lyzing conceptual architectures for mobile information systems. We have defined the basics of a domain-specific architectural pattern catalog for this domain, and mined several patterns from existing, well-known sys- tems. Our approach does not concentrate on the technical issues, but rather on identifying those architectures that better fit business goals regarding mobility. Our goals are twofold. First, we aim to build a catalog of architectural solutions proven successful in industrial practice. On the other hand, we want to define a high-level, common-language to describe mobile archi- tectural solutions. 1 Introduction As mobile access to information becomes a common trend in most com- mercial and corporate information systems, new software engineering challenges arise. While the most visible problems in mobile systems are the communication infrastructure and technical constraints of portable devices (e.g. mobile phones and PDAs), there are also architectural issues that must be properly addressed at the conceptual level. Current research in software artifacts regarding mobility concentrates primarily on fine-grained technological issues, such as wireless networking [14] and constrained hardware [13]. Unfortunately mobile information systems are seldom stable (because of technological improvements or changes in the underlying business model) and must be continuously upgraded or improved. Though it is widely known the importance of emphasizing design issues in applications that evolve fast, little attention has being paid to analyzing the conceptual issues that must be addressed when building a mobility-enabled information system architecture. Only recently some design problems related with mobile software have been addressed in the literature [10].
  • 2. Despite the hype around the technological issues, we claim that the archi- tectural issues to address are even more critical. The design of a mobile information system architecture has challenges that simply go beyond the purely technological restrictions. For example, a mobile information system may require customizing its service for different types of users (mobile or not). On the other hand, a mobile information system may need to give mobile service to very different type of mobile users (e.g. wired and wireless). This paper describes our work in progress towards categorizing and ana- lyzing conceptual architectures for mobile information systems. We have defined the basics of a domain-specific architectural pattern catalog for this domain, and mined several patterns from existing, well-known sys- tems. Our approach does not concentrate on the technical issues, but rather on identifying those architectures that better fit business goals regarding mobility. We are building a catalog of architectural solutions proven successful in industrial practice. This catalog should be the basis of a high-level, com- mon language to describe mobile architectural solutions. This language can be used during the process of conceptual modeling of this kind of applications, both to provide specificity to a general purpose modeling language (such as UML) and to face modeling and design problems at a higher abstraction level by reusing successful solutions. This paper is organized as follows. In Sect. 2, we briefly review some of the concepts underlying this paper - such as software architecture and patterns. In Sect. 3, we present the general motivation for our approach. In Sect. 4, we present a preliminary classification of our patterns. In Sect. 5, we present some of the patterns we mined. Sect. 6 presents shows how our approach relates to the actual process of building and analyzing applications . Finally, in Sect. 7 we draw some conclusions and describe our lines for future work. 2 Software Architecture and Patterns In recent years, there has been some discussion regarding the software architecture definition. In this paper, we use the term software archi- tecture to refer to a structural plan that describes the elements of the system, how the interact together, and how these interactions fit the business goals. In other words, we adopt the software blueprint view of architecture [12, 9]. We believe this is the most suitable view for today’s industrial practice. Though there are differences among the existing approaches to archi- tecture, most of them agree in separating architectural concerns into several views [12]. This paper concentrates on what has been called the conceptual view [9]. This view describes the architecture in terms of the high-level computational elements that comprise the solution. In this view, the architect organizes the domain-specific computational el- ements (components) and the interactions between them (connectors), building a solution that meets the business requirements. For example,
  • 3. an architect designing a compiler may produce an architecture consist- ing of several components (e.g. parser, lexer), connected to each other by specific connectors (e.g. direct procedure calls). The concept of architectural patterns emerged several years ago [15] and it is indeed similar to the widely spread notion of design patterns [7]. They share the intent of capturing, recording and conveying design expe- rience. A pattern allows describing a recurrent design problem, together with its solution in an abstract way, such that the solution can be applied to different (though similar) problems. They provide a design vocabu- lary for the domain to which they are applied. However, while design patterns are used at the so-called micro-architectural level in which the design components are classes, objects and the interaction mechanisms are messages, architectural patterns deal with a higher-level view of the system in which primitives are components and connectors. 3 Why Mobile Architecture Patterns? The definition of a mobile information system architecture is nowa- days rather ad-hoc by current software engineering standards. The soft- ware architect relies on existing approaches to general software architec- ture, well-known solutions to fine-grained issues (e.g. underlying technol- ogy) and commercial solutions. However, the architect’s toolbox lacks a catalog of vendor-independent architectural solutions. Indeed, most approaches consist in buying a predefined solution without a previous architectural analysis of the underlying problem. While choosing commercial solutions is in general a cost-effective ap- proach, performing an high-level architectural analysis of both the prob- lem and the candidate solutions can help choose the best-fit solution for the problem. Instead of choosing an architecture based on vendor’s claims about it, an architect could define a candidate architecture, an- alyze available architectures, and then decide on buying or building a solution. Recognizing this need, we have defined a general strategy towards the classification and analysis of mobile architectures proven successful in industrial practice. Our strategy consists in the definition, maintenance and usage of a pattern catalog, providing a handbook for the architect facing this kind of engineering task. As mentioned before, these patterns help to improve the conceptual vocabulary of the designer, thus providing meaningful abstractions during conceptual modeling and architectural design. 4 Pattern Classification Mobile devices are highly constrained in nature. Distinct devices have very different types of limitations, and where one device is strong another may be very weak. However, a mobile information system may have to consider the availability of the service to those very different devices. On the other hand, mobile users are not interested in exactly the same kind
  • 4. of information that standard users are. The classification we describe in the following was defined to reflect the different dimensions of these problems in the light of the already mined patterns – that is, following a bottom-up approach . We believe that this classification may evolve and even grow as new patterns are mined. Physical Accessing. This category addresses the issues about how to physically access an information source from a mobile client, depend- ing on the constraints imposed by requirements and device restrictions. Hardware limitations have a strong impact on the way mobile devices access to information. For example, a mobile phone has better accessing facilities than a stan- dalone PDA (i.e. without a modem) depending on a synchronization to a desktop machine to retrieve information. A PDA with a dial-up modem has better accessing facilities than a standalone PDA, but less autonomy than a wireless-enabled PDA. However, a dial-up connection is likely to be available in almost every city of the world, while today’s wireless network areas are reduced. While some alternatives may be preferable to others in certain contexts, the designer of the information system architecture may have to provide a solution that works both for a high-end autonomous clients and also for a client very limited in terms of information accessing. A common reason for this is that most adequate devices are also the most expensive ones, and the majority of users have devices that stand in the middle-ground, or even in the low-end of the spectrum. Logical Addressing. This category addresses the issues that arise when a mobile client has to address a space of information sources. While a desktop client of an information system has a context suitable for freely navigating through the space of information sources, the choice of a mobile client is generally more reduced. A mobile client may be capable of processing only a subset of the whole universe of information – e.g. a subset of the web –, and even if capable, may only be interested in seeing a subset of it. For example, most PDA devices have specialized browsers to access in- formation from the web. However, most of these browsers do not work well with any page, but only with a subset that are encoded in such a way that they are suitable for mobile devices – e.g. smaller screens and a limited HTML syntax. A mobile user may not want to see the whole universe of information sources, but rather the subset that its suitable for its device and its needs – e.g. a set of mobile channels, suitable for PDA accessing. Constrained devices are weaker and more specialized than mainstream devices. The choice of available information sources that the device can access is generally a subset of the whole universe of choices, not only because of hardware limitations but also because of the specialized in- terests of the mobile user . A mobile client in these conditions should not have to deal with the complexity of addressing the whole universe of information sources, but rather the subset in which it is interested. Customization. This category provides architectural patterns that ad- dress the problems of customizing the information sources themselves. Again, the constrained nature of mobile devices poses physical and con-
  • 5. Fig. 1. Using the UML to Describe Conceptual Architecture Concepts ceptual restrictions to the information that can be deployed in such a device. A mobile device may not be capable of interpreting any infor- mation source encoding. Even if so, the mobile device user may not be interested in the same view of the information that a desktop client is. For example, while most PDA devices have web-browsers, the screen lim- itations makes some web pages impossible to be viewed on such devices. Some browsers even do not support the complete HTML syntax, and therefore cannot access arbitrary pages on the web. Finally, a mobile user accessing a web site may be interested only in information relevant to its mobile context - e.g. a businessman accessing a financial company web site is more interested in finding market information rather than the history of the company. A mobile user may be interested in the same information source that a non-user user is interested in, but not exactly in the same view of that source. Mobile devices may not be powerful enough to process the infor- mation source – e.g. for limitations in parsing the information format. Even if so, mobile users are interested in a view of the information source that is relevant to their mobile context. 5 Pattern Catalog In this section we present some of the patterns we have mined in the categories mentioned in the previous section. We use a format similar to the one used in [7], though slightly customized to better fit the higher- level nature of architectural patterns. We have also included references to commercial implementations of each pattern, so that the practicing ar- chitect can use it to evaluate existing alternatives to the implementation of the pattern. Actually, the list is reduced in this paper for space rea- sons – and included in the Known Uses section – but shows the general intent of serving as a suggestion list. Again for space reasons, we have only included the Related Patterns section in those patterns for which we consider it more valuable. Our pattern format includes an UML [8] diagram to explain the structure of the solution. While the UML is not particularly oriented to architec- ture description, there are several approaches to the usage of the UML for software architectures. We have deliberately chosen the one defined in [9] for being both simple and expressive. Note that we have actually simplified the mentioned notation for simplicity reasons, and instead we compliment our diagrams with textual explanations. The diagram depicted in Fig. 1 shows an example of the notation we adopted. The diagram shows a component connected to a connector. A
  • 6. Fig. 2. Static Accessor component is an architectural entity that represents a conceptual unit of computation. The component exposes its functionality through one or more ports. The component can interact with other components through connectors, which represent a communication mechanism. A connector connects two or more components, through their ports. These elements are actually stereotyped classes - for more information about the usage of these stereotypes in this context, refer to [9]. 5.1 Physical Accessing Pattern: Static Accessor Intent. Provide a mobile client with the possibility of accessing an in- formation source, when the client itself is not capable of accessing the information source on its own. Problem. You have to deploy information into a constrained device that does not have enough capabilities to gather information on its own (e.g. a PDA without a modem, and without wireless capabilities). It may happen that the most common configuration of such a device does not provide such facilities (e.g. most Palm and PocketPC devices do not provide a modem in its basic configuration). It may also be the case that the targeted line of devices does not have such facilities at all. Solution. Make the mobile client dependent of a more powerful, non mobile device. Provide a way so that the dependable client can be fed from the static device – the static accessor. The responsibility of interact- ing with the data source belongs to the static device, and the dependent client takes the information through the static accessor. See Fig. 2. Participants. The Mobile Client is the mobile device interested in the information available from the information sources. The Static Accessor is a non-mobile device capable of retrieving information from the sources. The Synchronization connector is a mechanism that allows the mobile client to get the retrieved information from the static accessor. The Infor- mation Retrieval connector is a mechanism that allows the static accessor to get information from the information source. Finally, the Information Source is the information source in which the mobile client is interested. Collaborations. Whenever the Mobile Client requires information from the Information Source, the Synchronization mechanism is activated. The latter can be activated from the Mobile Client side, or from the Static Accessor side (e.g. when the static accessor discovers that there’s new
  • 7. Fig. 3. Information Broker information available from the Information Source). The Static Accessor communicates with the Information Source through an Information Re- trieval mechanism, getting the information in which the Mobile Client is interested. Consequences. Any portable device gets the possibility of interacting with an information system as long as a suitable accessor is built. The autonomy of the client is reduced, since the information retrieval process requires the presence of the static accessor. The mobile client part is sim- plified, but having to provide a suitable accessor may involve additional work for the developers. Known Uses. The mobile information system AvantGo [2] uses Palm OS’s HotSync [3] technology to transfer information from information sources (AvantGo channels) to the dependable clients (Palm OS hand- helds) through a static accessor (a desktop machine). AcroClip [1] for Casio OS handhelds also uses this pattern. 5.2 Logical Addressing Pattern: Information Broker Intent. Take control of a mobile client’s addressing capabilities. Have the address space of available information sources preprocessed by an intermediary. Problem. You have to allow the mobile user to retrieve information from an arbitrary or predefined set of information sources (e.g. web sites). You want to keep the mobile client simple (e.g. due to hardware restrictions), and therefore you need to reduce the information addressing capability of the mobile device. It may also be the case that you want to prevent mobile clients to access arbitrary information sources – e.g. for corporate security reasons. In that case, you need an intermediary capable of assuming the responsibility of addressing the whole universe of information sources – e.g. the whole web – and presenting a transformed universe to the mobile client – e.g. a set of corporate channels. Solution. Provide a broker capable of interacting with the whole uni- verse of information, presenting the mobile client with a transformed (possibly reduced) view of that universe, where that view is suitable for mobile access. See Fig. 3. Participants. The Mobile Client is the mobile device interested in the information available from the information sources. The Information Re- trieval connector is a communication mechanism that allows information
  • 8. Fig. 4. Custom Authoring transfer between components. The two appearances of the information retrieval connectors in the diagram does not imply that both appear- ances are identical. The Information Broker is software component that can address information sources and retrieve data that can be delivered to the clients. Finally, the Information Source is the information source in which the mobile client is interested. Collaborations. The Mobile Client gets information from the Infor- mation Broker through an Information Retrieval mechanism. The Infor- mation Broker retrieves information from a set of available Information Sources using another Information Retrieval mechanism Consequences. The mobile client addressing system may be simplified, but having to provide a suitable broker may involve additional work for the developers. The broker provider has control on the information that the mobile clients access. Known Uses. AvantGo [2] centralizes the access to a growing set of channels, where AvantGo’s M-Commerce server acts as a broker between the information sources and the actual mobile clients. The AcroClip [1] service also offers access through channels, controlled by a proprietary broker. 5.3 Customization Pattern: Custom Authoring Intent. Provide the mobile client with information suitable for its direct manipulation, so that no expensive customization is required. Problem. You have to deploy information from information sources (e.g. web sites) in a constrained device that does not support the format in which those sources encode their information (e.g. Palm’s m100 hand- held, for which a full-blown web browser is not available). Solution. For each information source of interest, provide a customized version of that source, so that the format is exactly the one suitable for the client. See Fig. 4. Participants. The Mobile Client is the mobile device interested in the information available from the information sources. The Customized Source is an information source that represents information in a format that can be handled directly by the mobile client. Finally, the Informa- tion Retrieval connector is a mechanism that allows the mobile client to get information from the information source. Collaborations. The Mobile Client retrieves information directly from the Information Source, through the Information Retrieval mechanism. Since the Information Source is already customized for the Mobile Client, no additional processing is necessary.
  • 9. Fig. 5. Transcoder Consequences. The information is specially designed for the mobile clients in mind, so there is no possibility that it does not suit perfectly its clients. The content provider has additional work, since it has to provide a customized version of its information sources for each of the mobile clients in mind. Updating the information can be a heavy task, if there are several customized versions to be maintained. Known Uses. AvantGo [2] provides an infrastructure so that clients provide their own customized versions of the information they provide. 5.4 Customization Pattern: Transcoder Intent. Automate the process of adapting information from arbitrary sources for mobile clients’ manipulation. Problem. You have to deploy information from information sources (e.g. web sites) in a constrained device that does not support the format in which those sources encode their information (e.g. Palm’s m100 hand- held, for which a full-blown web browser is not available). The cost of making customized versions of the information sources is too high (e.g. because the number of information sources is too big, or because the number of different targeted devices is high). Solution. Create a component able to convert data from arbitrary infor- mation sources to a format suitable for the potential clients. See Fig. 5. Participants. The Mobile Client is the mobile device interested in the information available from the information sources. The Information Re- trieval connector is a communication mechanism that allows information transfer between components. The two appearances of the information retrieval connectors in the diagram does not imply that both appearances are identical. The Transcoder is software component that can translate information represented in an particular format to a format that can be handled by the mobile client. Finally, the Information Source is the information source in which the mobile client is interested. Collaborations The Mobile Client receives information from the Trans- coder using an Information Retrieval mechanism. The Transcoder re- ceives information in its original format from the Information Source using another Information Retrieval mechanism. Consequences. The information provider has no additional work in the customization of the information for the mobile clients. The transcoder
  • 10. Fig. 6. Customized Behavior automatically handles this task. Building the transcoder can be a diffi- cult task. There maybe several mobile clients in mind, with significant differences that the transcoder must support. The parsing of the original information source can be difficult in itself. Known Uses. PumaTech [4] provides a service that allows accessing to standard web pages via Palm OS devices. PumaTech’s solution re- lies on conversion heuristics that convert pages to version suitable for constrained hardware, in a way that semantics are preserved. IBM also provides a transcoder-based solution as part of its Websphere family of products [5]. AcroClip [1] has built-it transcoders for several web sites, and also allows users to define their own. 5.5 Customization Pattern: Customized Behaviour Intent. Provide different application response according to the mobile client. Problem. In many situations you need to adapt an applications func- tionality to the kind of interface device (a web browser, a mobile ap- pliance) in a dynamic way. Suppose that you are building an Internet application for selling products in the style of amazon.com. You may want to give special offers to users of some mobile devices: for exam- ple you have just signed an agreement with a cellular phone company and you want to induce customers to use that device. Unfortunately this business rule may change often; the discount rate may change, the con- dition on products that the customer must buy may vary, etc. If you tie the business rules either to the application model or to the components standing for the interface device you may have maintenance problems Solution. Decouple the business rules from the application model and these from a context model that describes the current users state (device, network connection, etc). See Fig. 6. Participants. The Mobile Client is the mobile device interested in the information available from the information sources. The Application
  • 11. Model contains the base application objects and behaviors. It should be built in such a way of being independent of different adaptation policies (for example to different mobile devices, types of network connections, etc) The Rule Model contains the logic of customization; by interacting with the context model it triggers corresponding application behaviors. The Context Model represents the actual user profile, including the in- formation on the current mobile device The Wrapper redirects client requests to the application model, to the customization model Collaborations. For each client request that must be customized (for example according to the mobile device) the wrapper mechanism redi- rects the request to the Rule Model. Rules interact with both the con- text model (they usually represent conditions) and the application model triggering the corresponding actions. The result of the rules execution is returned to the client. Consequences. The application model remains stable when we add new business rules related with mobile devices or new devices. The rule model may get monolithic if you add many flat rules. Known Uses. In the UWA (Ubiquitous Web Applications) project [10] rules are separated from the application and the context model is itself composed of user, device and network sub-models. In the Munich Ref- erence Architecture for adaptive hypermedia applications [11] a similar approach is used. WebML [6] also uses a variant of this pattern. Related Patterns. The Transcoder pattern is similar to the Customized Behavior in that it provides an automated way of presenting differ- ent views of the information to the mobile clients. However, while the Transcoder focuses mainly on the looks of the information, the Cus- tomized Behavior pattern focuses on the guts of the information genera- tion process. Therefore the Transcoder acts like a facade over a system, being an information-unaware solution. In the Customized Behavior pat- tern, the rules and context which comprise the customization mechanism are aware of the kind of information the system provides. 6 From Patterns to Applications In this section we show how the patterns we presented can help in both describing a commercial solution and defining a solution to fit a busi- ness goal. We present three examples on the usage of patterns, that go from representing commercial architectures to potential usages of these patterns in an enterprise context. 6.1 Representing AvantGo’s Dynamic Mobility Model The Dynamic Mobility Model (DMM) [2] is the solution suggested by AvantGo to provide mobile access to web-based information systems. In Fig. 7 we show the conceptual architecture of the DMM. The Static Accessor pattern is used to allow non-wireless devices to access the sys- tem. An Information Broker provides the mobile clients with a reduced version of the internet, based on channels. Finally, the Custom Author- ing pattern is used to provide information encoding in a format directly suitable for mobile clients.
  • 12. Fig. 7. AvantGo’s Dynamic Mobility Model Having a conceptual description of a technological infrastructure such as AvantGo enables architects to analyze the solution in a completely objective way. Given an actual problem, the architect can define the best-fit architecture and then compare it to AvantGo’s to see if it really fits the business goals. 6.2 Customized Mobile Access to a Corporate Database A software company wants to provide access to its corporate database to both their vendor force and also its customers. For its vendor force, it wants to provide updated information about their products, solutions and prices. Instead, for their customers, it wants to provide information about special offers and customized support. The first problem the ar- chitect faces is providing a customized view of its information database for the different users that may be interested in that information. Since the vendor force needs updated information, the company decides to provide its vendors with wireless-enabled, high-end PDA devices. How- ever, the customers have a variety of mobile devices, most of them not- wireless enabled. Thus, the second problem the architect faces is pro- viding both wired and wireless access to the information. Also, the in- formation encoding may be different for the high-end vendor devices, compared to the possibly-low-end customer devices. Following the approach mentioned in section 3, the architect browses the architectural pattern catalog and selects those patterns that can help in solving the problem at hand. The resulting conceptual architecture is depicted in Fig. 8. The proposed architecture is a high-level view of the solution. The Static Accessor pattern is used to provide wired access to the information source. The Customized Behavior pattern is used to provide different views on the same information source - the corporate database. Once the architecture is depicted, the architect can then discuss about building or buying a solution, depending on the available schedule and expense. 6.3 Mobile Access to a Commercial Website A small company runs an entertainment web portal, which provides in- formation about latest movies and movie theaters. The company believes
  • 13. Fig. 8. Architecting Customized Mobile Access to a Corporate Database that mobile information access will provide it with an interesting advan- tage over its competitors. Moreover, since the company already has a website running, it wants to avoid having to author a parallel website for mobile access. Also, since the company has a small staff, management is heavily concerned about doubling the website maintenance effort. The software architect browses the architectural pattern catalog and sees that a Transcoder based solution can solve both the development time effort and the staffing problems. The architect takes the suggested com- mercial component list from the pattern description and browses the web for commercial solutions, comparing prices and making a report about both the architecture and the prices the commercial tools involves. The architect also discards building a transcoder in-house for the development effort it involves. However, the architect also considers a Custom Au- thoring solution and calculates the approximate development and main- tenance costs associated to it. The latter solution was also considered, since the commercial component providing access to customized sources has a significantly lower price than the transcoder-based solutions. The architect elaborates a report afterwards, and presents it to management for its cost/benefit evaluation. 7 Conclusions and Future Work The current work on mobile information system architectures is mainly focused on the technological aspect of this kind of systems. While there is considerable research in approaches for implementing systems using a certain wireless technique or other, there are no studies about how the mobility aspect conceptually relates to an information system. This paper presented an approach to describing, categorizing and ana- lyzing conceptual architectures for mobile access to information systems.
  • 14. Our approach is based on the architectural pattern concept. We pre- sented several patterns that represent common mobility configurations existing in current industrial practice. Abstracting existing configuration as architectural patterns provides the designer with a catalog of architectures. The practitioner can then choose the architectural structures that best fit the business goals, without hav- ing to rely on vendor-specific solutions or terminology. We are currently working on mining other architectural solutions that occur in existing mobile systems. Our intention is to grow a complete and solid architectural pattern language for providing mobile access to information systems. We are also working on defining an architectural methodology for the better usage of these patterns. Our main intention is to integrate these patterns into existing modeling tools and/or languages, in order to provide the architect with a toolbox of primitives so he can describe his mobile applications in a higher-level of abstraction. References 1. AcroClip. http://www.pcsync.de. 2. AvantGo M-Commerce Server. http://www.avantgo.com. 3. HotSync Technology. http://www.palm.com. 4. PumaTech BrowseIt Server. http://www.pumatech.com. 5. Transcoding Publisher. http://www.websphere.ibm.com. 6. WebML. http://www.webml.org. 7. R. J. Erich Gamma, Richard Helm and J. Vlissides. Design Pat- terns, Elements of Reusable Object-Oriented Software. Addison Wes- ley Professional Computing Series, 1994. 8. O. M. Group. UML (version 1.3). OMG, June 1999. 9. C. Hofmeister, R. Nord, and D. Soni. Applied Software Architecture. Addison Wesley, 2000. 10. G. Kappel, W. Retschitzegger, and W. Schwinger. Modeling Ubiq- uitous Web Applications: The WUML Approach. In Interna- tional Workshop on Data Semantics in Web Information Systems (DASWIS)-2001), co-located with 20th International Conference on Conceptual Modeling (ER2001), Proceedings, November 2001. 11. N. Koch and M. Wirsing. The Munich Reference Model for Adaptive Hypermedia Applications. To be presented at the 2nd International Conference on Adaptive Hypermedia and Adaptive Web Based Sys- tems, 2002. 12. P. B. Kruchten. The 4 + 1 View Model of Architecture. IEEE Software, 12(6):42–50, Nov. 1995. 13. J. Noble, C. Weir, and D. Bibby. Small Memory Software: Patterns for Systems with Limited Memory. Addison-Wesley, 2000. 14. S. Schaefer, S. Marney, T. Willis, and K. Parkkinen. OOPSLA Work- shop on Architectural Patterns for Wireless Computing. 2001. 15. M. Shaw. Patterns for Software Architectures. In J. Coplien and D. Schmidt, editors, Pattern Languages of Program Design, chap- ter 24, pages 453–462. Addison-Wesley, 1995.