Results 1 - 10
of
33
Interaction between Objects in powerJava
- JOURNAL OF OBJECT TECHNOLOGY
, 2003
"... 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 sec ..."
Abstract
-
Cited by 17 (10 self)
- Add to MetaCart
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 means of access control and keep track of the state of the interaction with each user by means of sessions. The current vision in object orientation, instead, considers attributes and operations of objects as being objective and independent from the interaction with another object, which is sessionless. To introduce these features in the interaction between objects directly in object oriented programming languages, we take inspiration from how access control is regulated by means of roles. Roles allow objects to offer different operations depending on the type of the role, of the type and identity of the player of the role, and to define session-aware interaction. We start from a definition of roles given in ontologies and knowledge representation and we discuss how this definition of roles can be introduced in Java, building our language powerJava.
Bridging Agent Theory and Object Orientation: Importing Social Roles in Object Oriented Languages
- In Procs. of PROMAS’05 workshop at AAMAS’05
, 2005
"... Abstract. Social roles structure social institutions like organizations in Multi-Agent Systems (MAS). In this paper we describe how to introduce the notion of social role in programming languages. To avoid the commitment to a particular agent model, architecture or language, we decided to extend Jav ..."
Abstract
-
Cited by 13 (10 self)
- Add to MetaCart
Abstract. Social roles structure social institutions like organizations in Multi-Agent Systems (MAS). In this paper we describe how to introduce the notion of social role in programming languages. To avoid the commitment to a particular agent model, architecture or language, we decided to extend Java, the most prominent object oriented programming language, by adding social roles. The obtained language allows an easier implementation of MAS’s w.r.t. the Java language. We also show that many important properties of social roles, studied in the MAS field, can be applied to objects. Two are the essential features of social roles according to an analysis reported in the paper: social roles are defined by other entities (called institutions), and when an agent plays a role it is endowed with powers by the institution that defines it. We interpret these two features into the object oriented paradigm as the fact that social roles are objects, which are defined in and exist only inside other objects (corresponding to institutions), and that, through a role, external objects playing the role can access to the object (institution) the role belongs to. 1
Compositional construction of web services using Reo
- In Proc. International Workshop on Web Services: Modeling, Architecture and Infrastructure (ICEIS 2004
, 2004
"... CWI is a founding member of ERCIM, the European Research Consortium for Informatics and Mathematics. CWI's research has a theme-oriented structure and is grouped into four clusters. Listed below are the names of the clusters and in parentheses their acronyms. ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
CWI is a founding member of ERCIM, the European Research Consortium for Informatics and Mathematics. CWI's research has a theme-oriented structure and is grouped into four clusters. Listed below are the names of the clusters and in parentheses their acronyms.
Roles as a coordination construct: Introducing powerJava
- In Procs. of MTCoord’05 workshop at COORDINATION’05
, 2005
"... In this paper we apply the role metaphor to coordination. Roles are used in sociology as a way for structuring organizations and for coordinating their behavior. In our model, the distinguishing features of roles are their dependence on an institution, and the powers they assign to the players of ro ..."
Abstract
-
Cited by 13 (12 self)
- Add to MetaCart
In this paper we apply the role metaphor to coordination. Roles are used in sociology as a way for structuring organizations and for coordinating their behavior. In our model, the distinguishing features of roles are their dependence on an institution, and the powers they assign to the players of roles. The institution represents an environment where the different components interact with each other by using the powers attributed to them by the roles they play, even when they do not know each other. The interaction between a component playing a role and the role is performed via precise interfaces stating the requirements to play a role, and which powers are attributed by roles. Roles encapsulate their players ’ capabilities to interact with the institution and with the other roles, thus achieving separation of concerns between computation and coordination. The institution acts as a coordinator which manages the interactions among components by acting on the roles they play, thus achieving a form of exogenous coordination. As an example, we introduce the role construct in the Java programming language, providing a precompiler for it. In order to better explain the proposal, we show how to use the role construct as a coordination means by applying it to a dining philosophers problem extended with dynamic reconfiguration. 1
Composing architectural styles from architectural primitives
- Proc. ESEC-10/FSE-11
, 2003
"... Architectural styles are named collections of constraints on configurations of architectural elements, and are believed to bring economies of scale in applying software architecture techniques to software development. Most research on architectural styles focuses on analyzing and observing the prope ..."
Abstract
-
Cited by 11 (4 self)
- Add to MetaCart
Architectural styles are named collections of constraints on configurations of architectural elements, and are believed to bring economies of scale in applying software architecture techniques to software development. Most research on architectural styles focuses on analyzing and observing the properties of such styles from their descriptions. However, comparatively little is known about the systematic design and construction of software architectures using architectural styles. Existing classifications bring out differences between architectural styles, but none provides a clear understanding of the similarities among a large number of styles. The basis of our research is the observation that architectural styles share many underlying concepts. These shared concepts lead to “architectural primitives ” that can be systematically and constructively composed to obtain elements of architectural styles. We have identified eight forms and nine functions as architectural primitives that, in our understanding, reflect the syntactic and semantic characteristics of a large number of styles. While proving such a hypothesis is difficult in the general case, we demonstrate it within the domain of network-based styles. Partial formal models of style elements composed from these architectural primitives are also constructed and shown to be analyzable.
Causality Interfaces and Compositional Causality Analysis
- FIT 2005 PRELIMINARY VERSION
, 2005
"... In this paper, we consider concurrent models of computation where ”actors” (components that are in charge of their own actions) communicate by exchanging messages. The interfaces of actors principally consist of “ports,” which mediate the exchange of messages. Actor-oriented architectures contrast w ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
In this paper, we consider concurrent models of computation where ”actors” (components that are in charge of their own actions) communicate by exchanging messages. The interfaces of actors principally consist of “ports,” which mediate the exchange of messages. Actor-oriented architectures contrast with and complement object-oriented models by emphasizing the exchange of data between concurrent components rather than transfer of control. Examples of such models of computation include the classical actor model, synchronous languages, dataflow models, and discrete-event models. Many of these models of computation benefit considerably from having access to causality information about the components. This paper augments the interfaces of such components to include such causality information. It shows how this causality information can be algebraically composed so that compositions of components acquire causality interfaces that are inferred from their components and the interconnections. We illustrate the use of these causality interfaces to statically analyze discrete-event models for uniqueness of behaviors, synchronous models for causality loops, and dataflow models for schedulability.
Compositionality in synchronous data flow: Modular code generation from hierarchical sdf graphs
, 2010
"... Hierarchical SDF models are not compositional: a composite SDF actor cannot be represented as an atomic SDF actor without loss of information that can lead to rate inconsistency or deadlock. Motivated by the need for incremental and modular code generation from hierarchical SDF models, we introduce ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
Hierarchical SDF models are not compositional: a composite SDF actor cannot be represented as an atomic SDF actor without loss of information that can lead to rate inconsistency or deadlock. Motivated by the need for incremental and modular code generation from hierarchical SDF models, we introduce in this paper DSSF profiles. DSSF (Deterministic SDF with Shared FIFOs) forms a compositional abstraction of composite actors that can be used for modular compilation. We provide algorithms for automatic synthesis of non-monolithic DSSF profiles of composite actors given DSSF profiles of their sub-actors. We show how different tradeoffs can be explored when synthesizing such profiles, in terms of modularity (keeping the size of the generated DSSF profile small) versus reusability (maintaining necessary information to preserve rate consistency and deadlock-absence) as well as algorithmic complexity. We show that our method guarantees maximal reusability and report on a prototype implementation. 1
Effective modeling of software architectural assemblies using Constraint Automata
- Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ
, 2003
"... CWI is a founding member of ERCIM, the European Research Consortium for Informatics and Mathematics. CWI's research has a theme-oriented structure and is grouped into four clusters. Listed below are the names of the clusters and in parentheses their acronyms. ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
CWI is a founding member of ERCIM, the European Research Consortium for Informatics and Mathematics. CWI's research has a theme-oriented structure and is grouped into four clusters. Listed below are the names of the clusters and in parentheses their acronyms.

