An implementation of roles as affordances: powerJava

نویسندگان

  • Erik Arnaudo
  • Matteo Baldoni
  • Guido Boella
  • Valerio Genovese
  • Roberto Grenna
چکیده

This document shortly describes powerJava, a Java extension which provides the instructions to manage roles. After defined the environment in which we have worked, we will discuss the language’s new instructions and we will show an example. I. SOMETHING ABOUT ROLES Object orientation is a leading paradigm in programming languages, modeling, knowledge representation and databases. When we think to an object, we do it in terms of attributes and methods, and if we refer to object interaction, we do it in terms of public attributes and public methods: these are the only ways to realize it! In computer science literature, other kinds of interaction between entities have been proposed at levels higher than programming languages. We can properly speak about sessions, which contain the interaction state (as at web services level), but a very important concept is that of role. Steimann [1] provided an interesting role representation, giving three types of “role as”: roles as named places, role as specialization and/or generalization, roles as adjunct instances. Our approach is to consider roles as affordances; we consider roles as instances having a different identity respect to the players that play them. Inspired by research in cognitive science, this view sees the properties (attributes and operations) of an object as something not independent from whom is interacting with it. In this way, an object “affords” different ways of interaction to different kinds of objects. The notion of “affordance” has been made popular by Norman [3] (p. 9): “The term affordance refers to the perceived and actual properties of the thing, primarily those fundamental properties that determine just how the thing could possibly be used. A chair affords (‘is for’) support, and, therefore, affords sitting.” How can we use the concept of “affordance” to introduce new modeling concepts in object oriented knowledge representation? The affordances of an object are not isolated, but they are associated with a given specie. So we have to consider sets of affordances. We will call a role type the different sets of interaction possibilities, the affordances of an object, which depend on the class of the interactant manipulating the object: the player of the role. To manipulate an object it is necessary to specify the role in which the interaction is made. A given role type can be instantiated, depending on a certain player of a role (which must have the required properties), and the role instance represents the state of the interaction with that role player. Just to better explain the possible use of roles as affordances, we introduce the following figures, which introduce different ways to interact with an object through the roles it offers. Figure 1 An object interacts with another one by means of the role

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Interaction among Objects via Roles: Sessions and Affordances

In this paper we present a new vision in object oriented programming languages where the objects’ attributes and operations depend on who is interacting with them. This vision is based on a new definition of the notion of role, which is inspired to the concept of affordance as developed in cognitive science. The current vision of objects considers attributes and operations as being objective an...

متن کامل

Affordances and limitations of technology: Voices from EFL teachers and learners

With the developments of new technologies appearing very quickly, the attention has been focused more on technology than learning. English centers and institutes have mostly been busy accommodating new programs and technologies and hence have not spent enough time to evaluate the CALL programs and technologies employed to find their affordances and limitations. The present study was an attempt ...

متن کامل

Interaction between Objects in powerJava

In this paper we start from the consideration that high level interaction between entities like web services has very different properties with respect to the interaction between objects at the lower level of programming languages in the object oriented paradigm. In particular, web services, for security, usability and user adaptability reasons, offer different operations to different users by ...

متن کامل

Introducing Ontologically Founded Roles in Object Oriented Programming: PowerJava

In this paper we introduce a new view on roles in Object Oriented programming languages. Our notion is based on an ontological analysis of social roles and attributes to roles the following properties: first, a role is always associated not only to an object instance playing the role, but also to another object instance which constitutes the context of the role and which we call institution. Se...

متن کامل

The Interplay between Relationships, Roles and Objects

In this paper we study the interconnection between relationships and roles. We start from the patterns used to introduce relationships in object oriented languages. We show how the role model proposed in powerJava can be used to define roles in an abstract way in objects representing relationships, to specify the interconnections between the roles. Abstract roles cannot be instantiated. To part...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007