We propose a first-class change model for Change-Oriented Software Engineering (COSE). Based on an evolution scenario, we identify a lack of support in current Interactive Development Environments (IDEs) to apply COSE. We introduce a set of five extensions to an existing model of first-class changes and describe the desired behaviour of change-oriented IDEs to support COSE. With the help of an evolution scenario, we show why those extensions are required. Finally we describe ChEOPS: a prototypical implementation of a change-oriented IDE on top of VisualWorks and illustrate how it supports the extended first-class change model. ChEOPS is finally used to validate COSE as a solution for the shortcomings of existing IDEs.
Software-as-a-Service (SaaS) applications are multi-tenant software applications that are delivered as highly configurable web services to individual customers, which are called tenants in this context. For reasons of complexity management and to lower maintenance cost, SaaS providers maintain and deploy a single version of the application code for all tenants. As a result, however, custom-made extensions for individual tenants cannot be e ciently integrated and managed. In this paper we show that by using a context-oriented programming model, cross-tier tenant-specific software variations can be easily integrated into the single-version application code base. Moreover, the selection of which variations to execute can be configured on a per tenant basis. Concretely, we provide a technical case study based on Google App Engine (GAE), a cloud platform for building multitenant web applications. We contribute by showing: (a) how ContextJ, a context-oriented programming (COP) language, can be used with GAE, (b) the increase in flexibility and customizability of tenant-specific software variations using ContextJ as compared to Google's dependency injection framework Guice, and (c) that the performance of using ContextJ is comparable to Guice. Based on these observations, we come to the conclusion that COP can be helpful for providing software variations in SaaS.
Context-aware systems are software systems which adapt their behaviour according to the context of use. The requirements engineering phase is recognized as a primordial step to develop robust implementations of context-aware systems since it establishes a comprehensive understanding of the problem space. This paper proposes the Context-Oriented Domain Analysis (CODA) model which is a specialized approach for analyzing, structuring, and formalizing the software requirements of context-aware systems.
SUMMARYThe iPhone SDK provides a powerful platform for the development of applications that make use of iPhone capabilities such as sensors, GPS, Wi-Fi or Bluetooth connectivity. Thus far we observe that the development of iPhone applications is mostly restricted to using Objective-C. However, developing applications in plain Objective-C on the iPhone OS suffers from limitations such as the need for explicit memory management and lack of syntactic extension mechanism. Moreover, when developing distributed applications in Objective-C, programmers have to manually deal with distribution concerns such as service discovery, remote communication, and failure handling. In this paper, we discuss our experience on porting the Scheme programming language to the iPhone OS and how it can be used together with Objective-C to develop iPhone applications. To support the interaction between Scheme programs and the underlying iPhone APIs, we have implemented a language symbiosis layer that enables programmers to access the iPhone SDK libraries from Scheme. In addition, we have designed high-level distribution constructs to ease the development of distributed iPhone applications in an event-driven style. We validate and discuss these constructs with a series of examples including an iPod controller, a maps application and a distributed multiplayer Scrabble-like game. We discuss the lessons learned from this experience for other programming language ports to mobile platforms. key words: iPhone development; Scheme; Objective-C; language symbiosis; interactive scripting environment; event-driven programming
Abstract. Implementing context-dependent behaviour of pervasive computing applications puts a great burden on programmers: Devices need to continuously adapt not only to their own context, but also to the context of other devices they interact with. We present an approach that modularises behavioural adaptations into roles. Role selection takes the context of all the devices involved in an interaction into account, ensures an unambiguous scope of adaptation even in the presence of concurrency, and protects the privacy of the devices. Thus, our contextdependent role (CDR) model facilitates expressing interactions between applications in different, possibly conflicting contexts.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.