Korz: Envisioning a Paradigm for Dynamic Multidimensional Contextual Variation
نویسندگان
چکیده
Object-oriented inheritance graphs work well as long as each entity has only one dimension of variation. Sadly, as soon as a second dimension of variation is required, the object-oriented programmer is forced to resort to the visitor pattern, strategy pattern, or an aspect-oriented methodology, each requiring a cumbersome refactoring. In addition to the time spent splitting and refactoring, aspect-oriented, feature-oriented and related approaches increase effort by complicating the object model with additional modularity constructs to encapsulate concerns that do not align with the dominant dimension, and the means to compose or weave them. Moreover, modern services and applications are becoming increasingly context-aware: they must adapt their behavior to the context in which they are running, and that context can change dynamically. For example, many applications on mobile devices are locationsensitive, and change the information they show, and/or their behavior, as location changes. Programming software that can adapt to context is challenging, especially when that context can change during execution. Each user has a unique context, and many different dimensions of context come into play simultaneously, such as who the user is, what his or her access rights and preferences are, what kind of device is being used for interaction, etc. There is a growing need for a programming paradigm that provides for multidimensional, dynamic, contextual variation. Korz is a new computational model that combines implicit arguments and multiple dispatch in a slot-based model. This synthesis enables the writing of software that supports contextual variation along multiple dimensions, and graceful evolution of that software to support new, unexpected dimensions of variability, without the need for additional mechanism such as layers or aspects. Rather than bog down the object-oriented model with additional concepts such as layers, Korz provides a more fine-grained model out of which subjective objects can emerge. A Korz system consists of a sea of method and data slots in a multidimensional space. There is no fixed organization of slots into objects – a slot pertains to a number of objects instead of being contained in a single object – and slots can come together according to the implicit context in any given situation, yielding subjective objects. There is no dominant decomposition, and no dimension holds sway over any other. IDE support is essential for managing complexity when working with the slot space and with subjectivity, allowing the task at hand to dictate what subspaces to isolate and what dominance of dimensions to use when presenting nested views to the user. Computation occurs in a context, which is also multidimensional, binding specific values to some or all of the dimensions in the slot space. At each computation step, a slot is selected from the space, using multiple dispatch that is based on the context, a selector, and explicit arguments, and then that slot is evaluated. The context is implicitly passed along to this evaluation, and hence serves as a set of implicit arguments. Korz reduces to procedural programming in the zero-dimensional case, and object-oriented
منابع مشابه
Multidimensional Predicates for Prolog
In 2014, Ungar et al. proposed Korz, a new computational model for structuring adaptive (objectoriented) systems [UOK14]. Korz combines implicit parameters and multiple dispatch to structure the behavior of objects in a multidimensional space. Korz is a simple yet expressive model which does not require special programming techniques such as the Visitor or Strategy pattern to accommodate a syst...
متن کاملA trajectory formation model of articulatory movements using a multidimensional phonemic task
This paper presents a model for representing context-dependent variation of articulator movements. Our model explains the contextual e ect based on a multidimensional phonemic task and dynamic constraints of movements. The task determines the articulatory target so that invariant features of phoneme articulation are achieved. The dynamic constraints represent smoothly moving behavior of the art...
متن کاملMultidimensional Dynamic Modeling of Milk Ultrafiltration Using Neuro-Fuzzy Method and a Hybrid Physical Model
Prediction of the dynamic crossflow ultrafiltration rate of a protein solution such as milk poses a complex non-linear problem a...
متن کاملAdventure Sports Development Paradigm
In the recent years, adventure sports have been growing increasingly. Adventure sports are new and appealing activities that regularly include some kinds of physical and mental challenges and relative presence of natural environment. These activities are presenting new paths and sometime they called as a serious competitor for mainstream sport. The aim of this study was to present a paradigm fo...
متن کاملContextual recommender systems using a multidimensional approach
Recommender systems use the past experiences and preferences of the target users as a basis to provide personalized recommendations for them and as the same time, solve the information overloading problem. Context as the dynamic information describing the situation of items and users and affecting the user’s decision process is essential to be used by recommender systems. Multidimensional appro...
متن کامل