Table 1 - uploaded by Damiano Distante
Content may be subject to copyright.
Characteristics of volatile functionalities with example values.

Characteristics of volatile functionalities with example values.

Source publication
Article
Full-text available
One of the main characteristics of most Web applications is their high dynamism. Once implemented and deployed for the first time, new functionalities are added to meet new or changed requirements. Some of these functionalities may appear on the Web in response to an unexpected event, or phenomena (such as a natural calamity) after which they are r...

Contexts in source publication

Context 1
... each of the characteristics and sub-characteristics described above, we identified a set of possible, but not exhaustive, values it can assume. Overall, we obtained the characterization framework for volatile functionalities reported in Table 1. • Navigation / navigation nodes, navigation links, navigation paths, etc. ...
Context 2
... is interesting to highlight some particular characteristics of volatile functionalities shown in Table 1, which reflect the results of our analysis on successful Web sites. First, volatility, which always arises at the requirements level, can affect any application concern (content, navigation, interface and behavior); in some cases, volatile functionalities might span different concerns, e.g., a new content or link implies modifying the navigation and interface layers. ...
Context 3
... interesting and certainly challenging situation arises when a volatile functionality crosscuts with core functionalities, e.g., when its insertion modifies existing behaviors in the core model. Crosscutting might manifest in different ways and, according to our characterization in Table 1, it might affect the conceptual, navigation and interface models. Crosscutting in the conceptual model can be solved in a straightforward way using well-known software engineering techniques, such as aspect-orientation, or with the correct use of certain patterns, as shown in our approach. ...

Similar publications

Conference Paper
Full-text available
Due to today's rapidly changing corporate environments, business processes are increasingly subject to dynamic configuration and evolution. The evolution of new deployment architectures, as illustrated by the move towards mobile platforms and the Internet Of Services, and the introduction of new security regulations (imposed by national and interna...

Citations

... When using a tradi-tional OO approach, volatile functionality development does not only compromise the coding task, but it also demands additional effort on testing, since the affected features must be tested twice, both for the introduction and removal of the augmentation requirement, if the community does not adopt it, like augmentations. Maintaining volatile code has been studied in our previous works [10,[43][44][45] where we pointed out the detrimental consequences of maintaining this kind of features. -Client-side Web Augmentation (CS Aug. ): In this case, skilled end users with strong knowledge of programming in cutting-edge technologies, such as HTML, CSS, JavaScript frameworks and Web browser extensions development, undertake the Web application augmentation development by manipulating the DOM. ...
Article
Full-text available
Web augmentation is a set of techniques allowing users to define and execute software which is dependent on the presentation layer of a concrete Web page. Through the use of specialized Web augmentation artifacts, the end users may satisfy several kinds of requirements that were not considered by the analysts, developers and stakeholders that built the application. Although some augmentation approaches are contemplating a server-side counterpart (to support aspects such as collaboration or cross-browser session management), the augmentation artifacts are usually purely client-side. The server-side support increases the capabilities of the augmentations, since it may allow sharing information among users and devices. So far, this support is often defined and developed in an ad hoc way. Although it is clear that server-side support brings new possibilities, it is also true that developing and deploying server-side Web applications is a challenging task that end users hardly may handle. This work presents a novel approach for designing Web augmentation applications based on client-side and server-side components. We propose a model-driven approach that raises the abstraction level of both, client- and server-side developments. We provide a set of tools for designing the composition of the core application with new features on the back-end and the augmentation of pages in the front-end. The usability and the value of the produced augmentations have been evaluated through two experiments involving 30 people in total.
... The extended design models such as in [9][10] enhances OOHDM in terms of the object-oriented approach. OOHDM extension version of [9] focuses on high dynamism issues in web applications design model. ...
... The extended design models such as in [9][10] enhances OOHDM in terms of the object-oriented approach. OOHDM extension version of [9] focuses on high dynamism issues in web applications design model. This approach decouples the design and implementation of volatile functionalities from the core functionalities of the web applications. ...
... In order to incorporate interaction processes, [9] introduce a design layer for volatile functionalities, which comprise of a requirements model, a conceptual model, a navigational model and an interface model. The new behaviors of volatile layer are modeled as first class objects and separate integration specification (navigation and interface design) is used to specify the connection between core and volatile nodes. ...
Article
Full-text available
Web applications act as an important platform nowadays. Many daily management systems have been practiced in a web-based application. Thus, promising web applications should be developed from a structured web design. Although there is several numbers of designs modeling concepts exists in web application nowadays, new issues raises such as interrelated process flow, navigational interaction issues and graphical user interface concerns. In this paper, we present a literature review on web applications design methodology that focus on interaction processes flow design. At the end of this paper, discussions are made from the reviewed design methods and a finding is presented and briefly summarized.
... Nowadays business must adapt to global trends in order to keep users engaged; unplanned marketing campaigns, season promotions (final season sales), crisis management, among other business requirements are examples of unexpected requisites that stress the whole applications' infrastructure. Volatile functionalities [38] are unexpected and unforeseen features developed once that they are enabled within the application by business or time event and deactivated in the same way. They are common in most popular Web applications; sometimes these are new features, which are experimented for a period of time and then discarded because the user does not find them useful (aka Beta). ...
... For this last, we left as further work the study of whether or not the development methodology is a performance constraint. Consequently, several existing MDWE are excluded from this work that can be used to tackle Volatile Functionalities [38] or support evolutive requirements such as WebComposition Process Model [12], Distributed Concern Delivery [5] or, more general principles, such as refactoring [11] and patterns [13]. In order to study how different components of both a IFML Web application and a Code-Based one are affected by the introduction and later removal of volatile functionalities, we conducted an experiment with a set of developers. ...
... The transition of Web Applications' versions is shown in Figure 2. We have selected two applications as running examples that have been modified to introduce volatile functionalities: a Code-Based application that allows managing a Petshop (from now on Petshop) and a Model-Driven application for selling furniture (from now on ACME). For these applications, we have conceived volatile functionalities like those already discussed in [38]. The applications and their volatile functionalities will have a thorough description later on. ...
Article
Web applications must quickly adapt to new business demands to keep clients onboard. When unexpected and unforeseen requirements appear, the changes pose challenges to software engineers as they were not considered in the application design and such new functionality can be only valid only for a period in certain situations. This work presents a comparison of maintenance consequences in the software quality when using a Model‐Driven approach against a Code‐Based one where changes are managed in an ad hoc way. We used the removal of volatile functionality as case of study due to the fact that its characteristics stress the development process. We considered both external and internal quality of deliverables. For assessing the quality of deliverables, we evaluated the production of more than 35 students using both approaches considering their perception gathered through questionnaires and their deliverables. We present the preliminary evidence that there is no significant difference between approaches. Model‐Driven performed slightly better than Code‐Based, but both responded negatively in terms of deliverables' quality. Results show that maintenance tasks are detrimental to software quality where Model‐Driven approach does not excel over Code‐Based approach. The Model‐Driven approach only highlighted on productivity.
... 2.2 Separation of concern in MDWE Several existing Model-Driven Web Engineering (MDWE) allows to seamlessly compose Web applications' concerns such as our previous Work to tackle Volatile Functionalities (Urbieta et al., 2012) or support evolutive requirements such as WebComposition Process Model (Gaedke and Gräf, 2001), Distributed Concern Delivery (Cerny et al., 2015) or, more general principles, such as refactoring (Fowler et al., 1999) and patterns (Gamma et al., 1995). However, all of these approaches are focused to compose concerns at server side only when the developer has access to the core application which is not the case of Web augmentation's purpose. ...
... However, functional applications concerns were poorly considered by MDE, nor there was support for this in MDWE approaches. To address the lack of design support, OOHDM used advanced separation of concerns to deal with volatile requirements [100]. Hera [12] used aspect-oriented concepts to deal with crosscutting concerns. ...
Article
Full-text available
odel-Driven Web Engineering (MDWE) approaches aim to improve the Web applications development process by focusing on modeling instead of coding, and deriving the running application by transformations from conceptual models to code. The emergence of the Interaction Flow Modeling Language (IFML) has been an important milestone in the evolution of Web modeling languages, indicating not only the maturity of the field but also a final convergence of languages. In this paper we explain the evolution of modeling and design approaches since the early years (the 90’s) detailing the forces which drove that evolution and discussing the strengths and weaknesses of some of those approaches. A brief presentation of IFML is accompanied with a thorough analysis of the most important achievements of the MDWE community as well as the problems and obstacles that hinder the dissemination of model-driven techniques in the Web engineering field.
... On the other hand, Web pages can be augmented using document transformation technologies (XSLT [30]) but those available do not replace AOP for classes modification. In this work, we complement our approach for designing VF [17] with a meta-framework for instrumenting a new functionality modeled with the approach. This meta-framework defines the requirements that a platform must meet for supporting unexpected and unforeseen requirements with a seamless solution. ...
... As most of the problems discussed so far apply to all development approaches, we will first describe the philosophy underlying our technical solutions in such a way that it can be reused. In [17] we describe its usage with OOHDM design models and briefly discuss how each part of our approach could be adapted to other methods. ...
... These requirements, when satisfied by the underlying technology of either a new or legacy application, permit to configure VF abstracting from activation/ deactivation rules, seamless entities enrichments and Web page augmentations. We have already discussed how to manage VF in MDWE in [17]. ...
Conference Paper
One of the main features of most Web applications today is their great dynamism. They are undoubtedly characterized by a continuous evolution. After implementing and performing the first deployment of a Web application, some new requirements are bound to arise, which involve the need to incorporate new functionalities, generally unknown during the design stage. This type of functionalities, which arise as a response to unexpected requirements of the business layer, have the peculiarity that they eventually need to be removed due to the expiration of their commercial value. The continuous incorporation and removal of these functionalities, which we will call “volatile functionalities”, usually has a negative impact on some important aspects of the Web application. Volatile Functionality meta-framework is a conceptual framework that permits to support the lifespan of volatile functionalities in Web applications. We have developed diverse techniques enabling full support of volatile functionalities for enterprise application. Moreover, we have performed an evaluation for assessing developers’ experience and solutions’ performance.
... According to [1], complex web applications involve dynamic information, complex navigational paths and rich interfaces. Thus, several design models of web applications has been extended for the past few years such as OOHDM [19], W2000 [14], WSDMDA [20] and UWE [15]. However, some design models are not sufficient enough to cope with current issues and challenges in designing and developing web applications [3]. ...
Article
Full-text available
Different complex features in web applications have raised new issues on the modeling approach. Web designers should define complex processes in web applications and provide a clear view of the application domain. In this paper, we propose a design model called UEWDM, which applies UML Profiles as the graphical notation in the modeling stage. UEWDM cope with conceptual design by divided it into two-sub design called informational class and dynamic process design. Our contributions rely on new UML specific modeling elements to support those complex process modeling. To validate our design modeling, a case study of Academic Management System is provided.
... In this paper we present the state of the art of our approach for handling volatile functionalities regarding business processes. This paper summaries our previous work [4][6][9] [10] and introduces challenges that must be addressed for further work in this topic. ...
Conference Paper
Full-text available
Web applications allow business to offer services or products to numerous users with different culture, context, and needs. There are situations where applications must adapt to unforeseen and temporary business requirements, such as a one-off market campaign to launch a new product, beta features for engaging users, or disaster solidarity features that remain in the application for a period of time. In this paper, we summarize an approach for dealing with this sort of volatile requirements and present challenges in the research field that must be addressed.
... having collected a concrete sum of money. (See a more thorough analysis of this kind of "volatile" requirements in [11,17]). ...
... To support this activation/deactivation process we use a specific DSL named Activation Rules [17]. The active period of an AR is defined using two rules: one rule that specifies when the AR will be active and another one defines when the requirement is not longer needed. ...
Conference Paper
Workflows play a major role in nowadays business and therefore its requirement elicitation must be accurate and clear for achieving the closest solution to business's needs. Due to Web applications popularity, the Web is becoming the standard platform for implementing business workflows. In this context, Web applications and their workflows must be adapted to market demands in such a way to minimize development effort. In this work we present a model-driven approach for specifying Web workflows adaptations using a Domain Specific Language for Web application requirement called WebSpec. We present an extension to WebSpec based on Pattern Specifications for dealing with crosscutting workflow requirements by identifying tangled and scattered behaviour and reducing inconsistencies early in the requirement gathering phase. Using simple but illustrative examples we show the expressive power of the approach.
... In this aspect we focus on Web workflow requirements, specifically in analysis and modelling aspects. Their impact in different application tiers has been already presented in [14,12]. The approach comprises a set of steps that are depicted in Figure 4 and described below: ...
Conference Paper
Workflow plays a major role in nowadays business and therefore its requirement elicitation must be accurate and clear for achieving the solution closest to business's needs. Due to Web applications popularity, the Web is becoming the standard platform for implementing business workflows. In this context, Web applications and their workflows must be adapted to market demands in such a way that time and effort are minimize. As they get more popular, they must give support to different functional requirements but also they contain tangled and scattered behaviour. In this work we present a model-driven approach for modelling workflows using a Domain Specific Language for Web application requirement called WebSpec. We present an extension to WebSpec based on Pattern Specifications for modelling crosscutting workflow requirements identifying tangled and scattered behaviour and reducing inconsistencies early in the cycle.