The web is growing quickly, substructures are coming up: a {social, semantic, etc.} web, or the {business, services, etc.} ecosystem which includes all resources of a specific web habitat. In the mashup ecosystem, developers are in intense scientific activity, what is easily measured by the number of their recent papers. Since mashups inherit an opportunistic (participatory) attitude, a main point of research is enabling users to create situation-specific mashups with little effort. After an overview, the chapter highlights areas of intensive discussion one by one: mashup description and modeling, semantic mashups, media mashups, ubiquitous mashups and end-user related development. Information is organized in two levels: right under the headings, a block of topic-related references may pop up. It is addressed to readers with deeper interest. After that, the text for everybody explains and illustrates innovative approaches. The chapter ends with an almost fail-safe outlook: given the growth of the web, the ecosystem of mashups will keep branching out. Core mashup features such as reuse of resources, user orientation, and versatile coordination (loose coupling) of components will propagate. 1.1 The Mashup Ecosystem On the Ecosystem: [10, 14, 18, 28, 71, 109, 126, 152, 155, 171, 187, 196, 208, 209, 224, 229, 230, 239, 240, 242] Mashups are advancing on the internet, the web, and the semantic web. They have no problems to adapt to the cultures in the web [10], performing on the semantic web as on the internet or web in general. Their count is going up. They expand their services into new areas. They take root. Their simple principle of building upon work of others is gaining acceptance. As far as one can see mashups will remain on the move. In [208] Spivack illustrates how he anticipates the web and the semantic web will go on developing (see Fig. 1.1). Corresponding to the fast expansion of the web, people tend to define substructures: a social web, a web of services, a semantic B. Endres-Niggemeyer (B) Heidegrün 36, 30179 Hanover, Germany e-mail: brigitteen@googlemail.com B. Endres-Niggemeyer (ed.), Semantic Mashups, DOI 10.1007/978-3-642-36403-7_1, © Springer-Verlag Berlin Heidelberg 2013 1 2 B. Endres-Niggemeyer Fig. 1.1 Timeline of internet and web development (from [208]). Notice mashups coming up towards 2010 web, a mobile web, a web of things, and so on. The subwebs overlap as shown in Fig. 1.2. Like smaller geographical or organizational units, let us say the regions of a country, these subwebs partition the web universe, so that local communities can concentrate on the concerns of their own subunit. Fig. 1.2 Subwebs of the web (from [90]) Fig. 1.3 The mashup ecosystem linking mashups and APIs. Mashups in red circles, APIs in blue squares (from [240]) 1 The Mashup Ecosystem 3 Fig. 1.4 The mashup ecosystem evolution. Mashups in red, APIs in blue (source: [240]) (Color figure online) Mashups are a relatively new web concept. Their history begins with DJ mashups of songs and with web 1.0 portals. The oldest mashup on Programmable Web1 was added in 2005. The mashup ecosystem [240] may be seen as linking mashups and web APIs (see Fig. 1.3). [196] conceives it as configuration of service providers, mashup authors, and users without any central authority. The mashup ecosystem also appears as a specific software ecosystem (details in [28]). Thus the mashup ecosystem integrates mashups and their cohabitants wherever they may be spread on the web. Like a biological ecosystem, it interconnects all species that are needed for its functioning, such as users, tools or script languages. The affinity of mashups to composite web services [71, 171] is evident, so that methods from both sides cross the border without trouble. The mashup ecosystem is growing quickly. Some evidence available for instant inspection is shown in Fig. 1.4. [229–231] describe a growth model in detail. Success factors for mashups are the activation of end-users as creators/designers, the attractivity of the most popular APIs (all readers will guess right: Google Maps, Twitter, YouTube and so on—more on the ProgrammableWeb hit list2), and the simple technique of copying—the reuse of existing resources. The mashup ecosystem shares the innovation rate of the web and its service ecosystem (also called internet/web of services—more detailed description in [14, 187]). [126, 155] explain the computational marketplace ecosystem. It serves mashups, too—why should mashups pick up their APIs anywhere on the web instead of going straight to the service market for shopping? As the whole service ecosystem, the mashup ecosystem is assumed to follow a pattern of open innovation (Fig. 1.5), branching out, advancing into new domains, reaching more developers and users, and so on. In the following we inspect the mashup ecosystem where the discussion is particularly active and innovative: mashup description and modeling, semantic mashups, media mashups, ubiquitous mashups, and end-user related development. 1http://www.programmableweb.com. 2http://www.programmableweb.com/apis/directory/1?sort=mashups. 4 B. Endres-Niggemeyer Fig. 1.5 Innovation expanding from a service ecosystem (source: [187]) 1.2 Mashup Description and Modeling On Model Descriptions: [8, 47, 59, 61, 62, 66, 69, 78, 80, 96, 101, 105, 112– 114, 117, 151, 164, 165, 177, 179, 190, 191, 221] Mashups came later and as lightweight web applications into an environment where enterprise WSDL/SOAP web services with their more elaborated scheme were already established. In particular for enterprise mashups in intranets, the standards of earlier web services were and are kept up, while consumer mashups are being watched less for WSDL/SOAP compliance. Possibly mashups may, however, relax the climate for enterprise services. [79] states that enterprise mashups must realize the benefits already touted by end-user mashups. This would summon earlier monoliths to adapt to the more flexible and abstract mashup concept. Much effort is observed in modeling and description of mashups. Many mashup developers pursue the functional standards of the SOA-based web services habitat. In parallel, enterprise services and mashups begin to exploit web features such as semantic annotation, so that both parties are sharing more common ground. A choice from the competing modeling and description activities on the market: • Web Mashup Scripting Language (WMSL—[190]) • Enterprise Mashup Markup Language (EMML)3 of the Open Mashup Alliance (OMA) • Mashup Component Description Language (MCDL—[78]) • Universal model of components and composition [62] • Universal model based on MetaObject Facility (MOF)4 standards [180] 3http://www.openmashup.org/omadocs/v1.0/index.html. 4http://www.omg.org/mof/. 1 The Mashup Ecosystem 5 • UML2 model for a set of integrated mashups [80] • ResEval Mash [113, 114] with a domain-specific description language (DSL) The first and the last approach are chosen for closer inspection: • The WMSL AM-AO use case because of its OWL ontology alignment of web services • ResEval because of its two-level model with an abstract and a domain-related layer and the requirement-driven interface From the mashup quality models [185], PEUDOM [39] is selected for a more detailed description. Context awareness and personalization are main modeling issues as well. As they mostly happen in a ubiquitous environment, they will be dealt with there. 1.2.1 AM-AO: Web Mashup Scripting with OWL Ontology Use Imagine that AM (Air Mobility) and AO (Air Operations) cooperate. The AM system is responsible for missions like mid-air refueling and the movement of vehicles while the AO system is primarily concerned with offensive and defensive missions [192]. Each party has an ontology of its own [78, 190, 191]. A Web Mashup Scripting Language (WMSL) script permits end-users to combine AM and AO services. WMSL uses both its own script language and standard Fig. 1.6 Alignment of diverging OWL ontologies of Air Mobility and Air Operations (source: [192]) 6 B. Endres-Niggemeyer HTML commands/tags. The scripts deal with input of resources (WSDL files, schemas, ontologies, and WSML scripts), with the alignment of concepts, and with workflow. WMSL embeds mapping relations in HTML. Look at the encoding for a concept alignment (compare pattern 1 in Fig. 1.6) in the AM and AO ontology: <dl class = "owl-equivalentClass"> <dt> <a href= "http://mitre.org/owl/1.1/AM#CallSign"> AM#CallSign</a><dt> <dt> <a href= "http://mitre.org/owl/1.1/AO#CallSignName"> AO#CallSignName</a><dt> <dl> In Fig. 1.6 the OWL ontologies of Air Mobility (AM) and Air Operations (AO) are reconciled by three mediating patterns. Pattern 1 uses the simple equivalence of two concepts with different names whereas the match in pattern 2 depends on the ‘owl:sameAs’ identity of subconcepts on both sides. 1.2.2 Domain-Specific Description and Modeling: ResEval Mash While most mashup tools are domain-independent, the ResEval Mash [113, 114] is dedicated to a specific task with an own body of knowledge: research evaluation. The authors combine a generic mashup meta-model with a domain-specific description language (DSL) as a sublanguage. The DSL specifies a class of mashups, in the present case for research evaluation, using terms specified in cooperation with domain experts. The more abstract generic mashup meta-model is addressed by IT developers, e.g. for entering new components, whereas a graphical user interface with a visual DSL (Fig. 1.7) helps domain experts to set up their mashups for concrete tasks. Fig. 1.7 ResEval Mash: The user interface (from [113]) 1 The Mashup Ecosystem 7 Fig. 1.8 Mashup quality model (from [38]) Fig. 1.9 Google Maps description: Code sample for event-based handling on the left and quality attributes on the right (source: [38]) 1.2.3 Mashup Quality—The PEUDOM Mashup Tool On Quality: [2, 12, 23, 36–38, 40, 45, 176, 185, 247, 249, 255] Mashup content largely decides on mas
[1]
Paul Libbrecht.
What You Check is What You Get: Authoring with jEditOQMath
,
2010,
2010 10th IEEE International Conference on Advanced Learning Technologies.
[2]
Ulrich Kortenkamp,et al.
I2Geo: a Web-Library of Interactive Geometry
,
2009
.
[3]
Till Mossakowski,et al.
Project Abstract: Logic Atlas and Integrator (LATIN)
,
2011,
Calculemus/MKM.
[4]
Michael Kohlhase,et al.
Re examining the MKM Value Proposition: From Math Web Search to Math Web Re Search
,
2007,
Calculemus/MKM.
[5]
Geoff Sutcliffe,et al.
The state of CASC
,
2006,
AI Commun..
[6]
Andriy Kovalchuk,et al.
The formulator MathML editor project: user-friendly authoring of content markup documents
,
2010,
AISC'10/MKM'10/Calculemus'10.
[7]
Michael Kohlhase,et al.
Semantic Alliance: A Framework for Semantic Allies
,
2012,
AISC/MKM/Calculemus.
[8]
Luca Padovani,et al.
Mathematical Knowledge Management in HELM
,
2003,
Annals of Mathematics and Artificial Intelligence.
[9]
Stephen M. Watt,et al.
Mathematical Markup Language (MathML) Version 3.0
,
2001,
WWW 2001.
[10]
Mike Dewar,et al.
Mathematical Service Matching Using Description Logic and OWL
,
2004,
MKM.
[11]
Andrei Voronkov,et al.
Handbook of Automated Reasoning: Volume 1
,
2001
.
[12]
Christoph Lange,et al.
Semantics of Governmental Statistics Data
,
2010
.
[13]
Luca Padovani,et al.
An Investigation on the Dynamics of Direct-Manipulation Editors for Mathematics
,
2004,
MKM.
[14]
Michael Kohlhase,et al.
XML Format ] Database for [ insert cool application ]
,
2009
.
[15]
Tim J. Smith,et al.
WIRIS OM tools: a semantic formula editor
,
2006
.
[16]
Steve Linton,et al.
Easy composition of symbolic computation software: a new lingua franca for symbolic computation
,
2010,
ISSAC.
[17]
William M. Farmer.
MKM: a new interdisciplinary field of research
,
2004,
SIGS.
[18]
Bettina Heintz,et al.
Die innenwelt der mathematik : zur kultur und praxis einer beweisenden disziplin
,
2000
.
[19]
Anupriya Ankolekar,et al.
The two cultures: Mashing up Web 2.0 and the Semantic Web
,
2008,
J. Web Semant..
[20]
Christoph Lange,et al.
Interactive Documents as Interfaces to Computer Algebra Systems : JOBAD and Wolfram | Alpha ?
,
2010
.
[21]
Peter Horn,et al.
OpenMath in SCIEnce: SCSCP and POPCORN
,
2009,
Calculemus/MKM.
[22]
Jesse Alama,et al.
Large Formal Wikis: Issues and Solutions
,
2011,
Calculemus/MKM.
[23]
Christoph Lange,et al.
Bringing Mathematics to the Web of Data: The Case of the Mathematics Subject Classification
,
2012,
ESWC.
[24]
Christoph Lange,et al.
The Planetary System: Web 3.0 & Active Documents for STEM
,
2011,
ICCS.
[25]
Christoph Lange,et al.
Authoring and Publishing of Units and Quantities in Semantic Documents
,
2011,
SePublica.
[26]
Tom Heath,et al.
Linked Data: Evolving the Web into a Global Data Space
,
2011,
Linked Data.
[27]
Michael Kohlhase,et al.
The LaTeXML Daemon: Editable Math on the Collaborative Web
,
2011,
LWA.
[28]
Michael J. Barany,et al.
'[B]ut this is blog maths and we're free to make up conventions as we go along': Polymath1 and the modalities of 'massively collaborative mathematics'
,
2010,
Int. Sym. Wikis.
[29]
Paul Libbrecht,et al.
Authoring Presentation for OpenMath
,
2005,
MKM.
[30]
Christoph Lange,et al.
Ontologies and languages for representing mathematical knowledge on the Semantic Web
,
2013,
Semantic Web.
[31]
Michael Kohlhase,et al.
Notations for Living Mathematical Documents
,
2008,
AISC/MKM/Calculemus.
[32]
Michael Kohlhase,et al.
OMDoc - An Open Markup Format for Mathematical Documents [version 1.2]
,
2006,
Lecture Notes in Computer Science.
[33]
Toshihiro Kita,et al.
Mashup approach for embedding algebraic manipulations, formulas and graphs in web pages
,
2011,
2011 IEEE Global Engineering Education Conference (EDUCON).
[34]
Paul Libbrecht,et al.
ActiveMath: A Generic and Adaptive Web-Based Learning Environment
,
2001
.
[35]
Michael Kohlhase,et al.
Using L A T E X as a Semantic Markup Format
,
2008
.
[36]
Michael Kohlhase,et al.
CPoint: Dissolving the Author's Dilemma
,
2004,
MKM.
[37]
Christoph Lange.
Krextor - An Extensible Framework for Contributing Content Math to the Web of Data
,
2011,
Calculemus/MKM.
[38]
William Billingsley,et al.
The Intelligent Book: technologies for intelligent and adaptive textbooks, focussing on Discrete Mathematics
,
2008
.
[39]
David Gay,et al.
User-friendly functional programming for web mashups
,
2007,
ICFP '07.
[40]
Christoph Lange,et al.
Integrating Web Services into Active Mathematical Documents
,
2009,
Calculemus/MKM.
[41]
Christoph Lange,et al.
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web Integration
,
2011,
Studies on the Semantic Web.
[42]
Jesse Alama,et al.
A wiki for Mizar: motivation, considerations, and initial prototype
,
2010,
AISC'10/MKM'10/Calculemus'10.
[43]
Stefan Decker,et al.
Produce and Consume Linked Data with Drupal!
,
2009,
SEMWEB.
[44]
Axel Polleres,et al.
Rapid prototyping of semantic mash-ups through semantic web pipes
,
2009,
WWW '09.
[45]
I. Lakatos.
PROOFS AND REFUTATIONS (I)*†
,
1963,
The British Journal for the Philosophy of Science.
[46]
Jonathan M. Borwein,et al.
Knowledge and community in mathematics
,
2005
.
[47]
Kenneth R. Koedinger,et al.
Evaluation of multimodal input for entering mathematical equations on the computer
,
2005,
CHI Extended Abstracts.
[48]
Michael Kohlhase,et al.
Towards MKM in the large: modular representation and scalable software architecture
,
2010,
AISC'10/MKM'10/Calculemus'10.
[49]
Erica Melis,et al.
Lessons for (Pedagogic) Usability of eLearning Systems
,
2003
.
[50]
Paul Libbrecht,et al.
Culturally adapted mathematics education with ActiveMath
,
2009,
AI & SOCIETY.
[51]
Herman Geuvers,et al.
Social processes, program verification and all that
,
2009,
Mathematical Structures in Computer Science.
[52]
Christine Müller,et al.
Adaptation of Mathematical Documents
,
2010
.
[53]
Stefano Zacchiroli,et al.
User interaction widgets for interactive theorem proving
,
2007
.
[54]
Jacques Carette,et al.
A Review of Mathematical Knowledge Management
,
2009,
Calculemus/MKM.
[55]
Massimo Marchiori,et al.
The Mathematical Semantic Web
,
2003,
MKM.