Funded by
European Union
European Social Funds (ESF-080951805)
Free State of Saxony
Outline
Project Results and Prototypes
Overview
Based on the the concepts propsed in the research project CRUISe, EDYRA strives for the provision of methods and tools enabling end users to develop mashups independently.
Essentially, end users are supported by recommendation and appropriate abstraction of technical details, in order to solve their situational problems and tasks.
The target group of EDYRA are non-programmers, domain experts without programming knowledge, who are interested in independently creating custom mashup applications. Such end-users are, amongst others, characterizable as follows.
- lack of understanding of technical concepts and terminology
- missing experience on design practices
- think in terms of a domain problem to be solved, and typically know a solution in terms and concepts of that domain, but however fail at mapping the problem to a mashup composition
Another core principle of EDYRA is interweaving usage and development of a mashup application, called Live Sophistication. Thereby, the mashup runtime environment directly provides all necessary means, so that
end users get instant feedback on their composition steps.
Besides a purely client-side runtime environment, a distributed solution has been developed within the EDYRA project. Further, repositories of components, mashups and composition knowledge serve as back-end and offer web service interfaces for the runtime environment.
Figure 1: Rough overview of the CRUISe/EDYRA architecture
Semantic Component Description (SMCDL)
The basic component model complies with the one proposed by CRUISe. Thereby, components of all application layers (UI, business logic, data) are uniformly descibed as black-box with a publicly accessible interface. Component internals and implementation details are hidden this way. Components can, for instance, encapsulate or represent REST and SOAP web services, feeds, JavaScript-APIs and widgets.
- Operations: Invocable methods offered by a component
- Events: propagate state changes of a component
- Properties: attributes of a component which serve for configuration and as representation of the current component state at runtime
For the formal description of components we utilize the Semantic Mashup Component Description Language (SMCDL). SMCDL implements the component model and extends it with semantic annotations (c.f. Figure 2). The latter allow for declaring the following dimensions of component semantics by referring to concepts in domain ontologies.
- Data semantics: Typing of properties und parameters of operations and events
- Functional semantics: Capabilities
- Non-functional semantics: Meta data, for instance author, price, visual characteristics
- Behavioral semantics: limited via dependencies on capabilities (attribut dependsOn of events)
Figure 2: Overview of the semantic annotations used in SMCDL
Within EDYRA, the declaration of functional semantics has been revised. Capabilities are tuples consisting of
<activity, entity, requiresInteraction>
and describe, which action/task is performed with/on a certain domain object. Whether or not the end user is involved in the activity, is stated by requiresInteraction. Capabilities can be specified at the level of the whole component as well as interface level. Events themselves refer the capabiltites that cause their occurrance via the attribute dependsOn.
Furthermore, requirements of components regarding their contexts can be declarativley described now (element requirements. This way, it can be stated, that a component requires the runtime environment to provide certain software and/or hardware features, in order to function correctly. It is also possible to express requirements regarding the user, for instance, that the he/she has to have credentials for successful service access.
If a requirement affects specific component functionality, this can be declared by referencing corresponding capabilities (attribute capsRef). We utilize SPARQL queries to formalize requirements. During component discovery they are matched with the semantic component descriptions.
Implementation details of components, like dependencies on external JavaScript or CSS files and the constructor code, are declared in the so-called binding.
Additional ressources:
Further reading:
Mashup Composition Model (MCM)
For the declarative description of all aspects of a mashup application, EDYRA largely re-uses the concepts of the CRUISe composition model. Basically, the following application-specific aspects are covered by the composition model:
- components to be used and their configuration
- inter-component communication (event-based, publish-subscribe paradigm)
- arrangement of components in views and transistions between views
While in CRUISe the composition model is instantiated utilizing a dedicated authoring tool, and end-user-development has been no focus, the runtime environment of EDYRA provides itself features for creating and manipulating a composition model respecitively. This way, the mashup developer, in context of EDYRA the end user, is not directly confronted with the composition model.
Further reading:
Mediation Techniques for Mashups
Mediation serves for resolving incompatibilities at signature level if possible. To this end, the following mediation techniques have been defined in a diploma thesis based up on concepts presented in a earlier publication:
- Upcasts: Provides a view on a individual in compliance with a superclass. Example:
- Converts: Conversion of primitive instance data utilizing a transformation ontology or on the level of classes, if they are declared as equivalentClass in the ontology. Example:
- Semantic Split: Tries to split/query information from a individual in order to distribute them to multiple target parameters. Example:
- Location → hasLatitude, hasLongitude
- Semantic Join: Tries to create a new individual with the help of the given instance data from several source parameters. Thereby, all restrictions according to the class definition in the ontology have to be fulfillable. Example:
- hasLatitude, hasLongitude → Location
- Syntactic Join: Serves for the synchronization of several source parameters, provided by several source interface elements, that should be delivered together to one target interface element. The synchronization mode defines when the syntactic joiner transfers the parameters to the target interface element.
- Partial Substitution: Updates or sets a data or object property of an individual represented by a component property. Can be understood as an inverse semantic split. Example:
- Location → Event.hasLocation
For each communication channel (explicit like Link etc. and implicit like drag & drop) a mapping definition exists. It declaratively describes the mediation techniques necessary for coupling two compatible signatures S1 and S2
where Si= { parameter-type+ }. Mapping definitions are part of the communication model.
Further reading:
Mashup Development Guided by Recommendations
In EDYRA, end users are guided by recommendations on composition steps like adding and substituting components or integrating whole subcompositions including several channels and components. Thereby, a hybrid recommendation approach is utilized, combining semantics-based techniques and statistical analysis of existing mashup applications to leverage the knowledge of the crowd.
The overall approach has similarities to an adaptation loop, which, separated from the application, includes continuous monitoring of the context and the application, analyzing (i. e., evaluation of trigger conditions and calculating recommendations in terms of patterns), planing (i. e., deriving an action specification), and adapting the application by executing the plan (i. e., implementation of the action specification).
Triggers are entities that start the recommendation procedure. They continuously monitor the application, context and/or user interactions and check conditions to determine whether to set off or not. There are different types of Triggers:
- Explicit: The recommendation procedure is started deliberately by the end user.
- Implicit: Starting the recommendation procedure is done without inducement by the end user.
- Pro-active: the system determines recommendations without necessary external context changes, e.g. periodically
- Reactive: reaction on external context changes (notifications from context service)
If a trigger fires, it delivers a data structure with all necessary information to the Recommendation Manager. The latter consolidates, filters, and priorizes triggers. Then, useful recommendations in terms of Patterns are queried and ranked for each trigger and shown to the user. Patterns are composition fragments and can be semantically reasoned or mined from existing composition models. For the pattern selected by the user, an Action Specification is derived. The latter states all steps required to integrate a pattern in the running mashup and is executed by the adaptation system.
Figure 3: Architectural overview of the EDYRA platform focused on recommendation concepts
Further reading:
CapView
As shown in Figure 3, there are several views on a mashup composition in EDYRA. The LiveView merely visualizes UI representations of components according to their layout.
Further views may overlap the LiveView and thus reveal details of the underlying composition logic, suitable for experience and skills of the end user. The ProfessionalView shows all interface details, allows the creation and manipulation of communication channels and offers limited testing facilities. However, no abstraction of terminology of the composition model takes place, so that understanding of technical concepts, data structures and so on is mandatory.
This is an issue when targeting non-programmers, of course. In order to overcome this, the CapView provides a task/activity-oriented abstraction of the composition model.
Thereby, the following use cases are facilitated with the help of the CapView. A non-programmer wants to...
- understand the functionality of single components or a whole mashup, provided by the functional interplay of components.
- manipulate the mashup functionality in order to adapt it to specific needs.
- extend the mashup functionality, for instance based on recommendations.
Our basic assumption is, that components serve to solve tasks, and that a composition of components can fulfil more complex tasks accordingly.
For this purpose, components may require inputs and provide outputs, respectively. That can easily be transfered to the model defined above: tasks → capabilities and input/output → operations/events.
Figure 4: Exemplified overview of the CapView
The CapView is a functionally abstracting view on a Mashup in use or under development (in EDYRA, there is no real distiction in this regard).
Further reading:
Try it out – Platform Prototype
We are continuously elaborating our live demonstrator in order to test and validate the developed concepts.
Although we are working hard on it, please keep in mind that this is a research prototype, i.e, bugs are not unlikely. Therefore, access is currently restricted. Please contact one of the project members if you want to try the demo.
Publications
-
C. Radeck,
K. Meißner:
Assisted End User Development for Non-programmers: Awareness, Exploration and Explanation of Composite Web Application Functionality, Web Information Systems and Technologies, Series Lecture Notes in Business Information Processing (LNBIP), Volume 322, 249-275, Springer International Publishing, 2018
-
C. Radeck,
K. Meißner:
A Customizable Recommender System for Mashup Platforms, Proceedings of the 19th International Conference on Information Integration and Web-based Applications & Services (iiWAS2017), Salzburg, Austria, 66 – 75, ACM, 12/2017
https://dl.acm.org/citation.cfm?id=3151787
-
C. Radeck,
G. Blichmann,
K. Meißner:
Modeling and Calculating Capabilities of Composite Web Applications for Assisted End User Development, Web Information Systems and Technologies – 12th International Conference, WEBIST 2016, Rome, Italy, April 23–25, 2016, Revised Selected Papers, Series Lecture Notes in Business Information Processing, Volume 292, 58-82, Springer International Publishing, 10/2017
-
G. Blichmann,
C. Radeck,
R. Starke,
K. Meißner:
Enabling End-Users to Individually Share Parts of Composite Web Applications, Web Information Systems and Technologies – 12th International Conference, WEBIST 2016, Rome, Italy, April 23–25, 2016, Revised Selected Papers, Series Lecture Notes in Business Information Processing, Volume 292, 164-184, Springer International Publishing, Monfort, V., Krempels, K.-H., Majchrzak, T.A., Traverso, P. , ISBN 978-3-319-664, 10/2017
http://www.springer.com/de/book/9783319664675
-
C. Radeck,
K. Meißner:
Helping Non-programmers to Understand the Functionality of Composite Web Applications, Proceedings of the 13th International Conference on Web Information Systems and Technologies (WEBIST 2017), Porto, Portugal, 149-159, Scitepress, 4/2017
-
C. Radeck,
G. Blichmann,
K. Meißner:
Estimating the Functionality of Mashup Applications for Assisted, Capability-centered End User Development, In Proceedings of the 12th International Conference on Web Information Systems and Technologies (WEBIST 2016), Volume 2, Rome, Italy, 109-120, 4/2016
-
G. Blichmann,
C. Radeck,
R. Starke,
K. Meißner:
Triple-based Sharing of Context-Aware Composite Web Applications for Non-programmers, In Proceedings of the 12th International Conference on Web Information Systems and Technologies (WEBIST 2016), Volume 2, Rome, Italy, 17-26, 4/2016
-
G. Blichmann,
C. Radeck,
S. Hahn,
K. Meißner:
Component-based Workspace Awareness Support for Composite Web Applications, In Proceedings of the 17th International Conference on Information Integration and Web-based Applications & Services (iiWas 2015), Brussels, Belgium, 12/2015
-
A. Rümpel,
C. Radeck,
J. Tichomirow,
K. Meißner:
Fuzzy Mashup Quality Requirements Specification for Web Users, Proceedings of the Ninth International Conference on the Quality of Information and Communications Technology, 262–267, IEEE Computer Society, Alberto Rodrigues da Silva, António Rito Silva, Miguel A. Brito, Ricardo J. Machado, ISBN 9781479961337, DOI 10.1109/QUATIC.2014.42, 9/2014
http://ieeexplore.ieee.org/document/6984131
-
C. Radeck,
G. Blichmann,
O. Mroß,
K. Meißner:
Semantic Mediation Techniques for Composite Web Applications, Proceedings of the 14th International Conference on Web Engineering (ICWE 2014), Series LNCS, Toulouse, Frankreich, Springer, 7/2014
-
C. Radeck,
G. Blichmann,
K. Meißner:
CapView - Functionality-Aware Visual Mashup Development for Non-programmers, Proceedings of the 13th International Conference on Web Engineering (ICWE 2013), Series LNCS, Volume 7977, Aalborg, Denmark, 140-155, Springer, 7/2013
-
V. Tietz,
O. Mroß,
A. Rümpel,
C. Radeck,
K. Meißner:
A Requirements Model for Composite and Distributed Web Mashups, Proceedings of the The Eighth International Conference on Internet and Web Applications and Services (ICIW 2013), Rome, Italy, 75–82, Xpert Publishing Services, Ioannis Moscholios, Marek Rychly, ISBN 9781612082806, 6/2013
http://www.thinkmind.org/index.php?view=article&articleid=iciw_2013_4_10_20161
-
G. Blichmann,
C. Radeck,
K. Meißner:
Enabling End Users to Build Situational Collaborative Mashups at Runtime, Proceedings of the 8th International Conference on Internet and Web Applications and Services (ICIW2013), Rome, Italy, 6/2013
-
C. Radeck,
A. Lorz,
G. Blichmann,
K. Meißner:
Hybrid Recommendation of Composition Knowledge for End User Development of Mashups, Proceedings of the 7th International Conference on Internet and Web Applications and Services (ICIW2012), Stuttgart, Germany, 5/2012
-
A. Lorz,
A. Rümpel,
C. Radeck,
G. Blichmann,
S. Pietschmann:
Introducing the EDYRA Vision: Engineering of Do-It-Yourself Rich Internet Applications, Proceedings of the International Conference on Internet Technologies & Society 2011 (ITS 2011), Shanghai, 330–332, Piet Kommers, Ji-ping Zhang, Tomayess Issa, Pedro Isaías, ISBN 9789728939557, 12/2011
https://mmt.inf.tu-dresden.de/Forschung/Projekte/EDYRA/docs/ITS2011_Poster.pdf
-
A. Rümpel,
C. Radeck,
G. Blichmann,
A. Lorz,
K. Meißner:
Towards Do-It-Yourself Development of Composite Web Applications, Proceedings of the International Conference on Internet Technologies & Society 2011 (ITS 2011), Shanghai, 231–235, Piet Kommers, Ji-ping Zhang, Tomayess Issa, Pedro Isaías, ISBN 9789728939557, 12/2011
https://mmt.inf.tu-dresden.de/Forschung/Projekte/EDYRA/docs/ITS2011.pdf
-
S. Pietschmann,
C. Radeck,
K. Meißner:
Facilitating Context-Awareness in Composite Mashup Applications, Proceedings of the 3rd International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE), Rome, Italy, XPS, ISBN 978-1-61208-0, 9/2011
-
S. Pietschmann,
C. Radeck,
K. Meißner:
Semantics-Based Discovery, Selection and Mediation for Presentation-Oriented Mashups, Proceedings of the 5th International Workshop on Web APIs and Service Mashups (Mashups 2011), Lugano, Switzerland, ACM, 9/2011
-
V. Tietz,
G. Blichmann,
S. Pietschmann,
K. Meißner:
Task-Based Recommendation of Mashup Components, Current Trends in Web Engineering, Series LNCS, 25-36, Springer-Verlag, ISBN 9783642279966, 6/2011
-
V. Tietz,
G. Blichmann,
S. Pietschmann,
K. Meißner,
A. Casall,
B. Grams:
Towards Task-Based Development of Enterprise Mashups, Proc. of the 13th International Conference on Information Integration and Web-based Applications & Services (iiWAS 2011), Ho Chi Minh City, Vietnam, ACM, ISBN 978-1-4503-07, 12/2011