JAWIRO Role Model
JAWIRO, a feature-rich role model proposed for better modeling of dynamic systems, is accessible from this page.
This work is based on the Ph.D. thesis of Yunus Emre Selcuk, Computer Engineer, M.Sc.
Rationale
The relationship between an object and its respective class is persistent, static and exclusive
in the class-based object-oriented programming (OOP) paradigm. This property of OOP makes it efficient
at modeling real world objects that can be divided into distinct classes and never change their classes.
However, the real world mainly contains objects that constantly change and evolve.
When modeling evolving entities, specialization at the instance level is a better approach than
specialization at the class level. In this case, an entity is represented by multiple objects, each
executing a different role that the real-world entity is required to perform.
Role models introduce the capability of instance-level specialization for better modeling of
dynamic systems. JAWIRO is such a role model which extends the Java programming language with role support.
Usage
- The package containing the JAWIRO role model can be downloaded from this link.
- The documentation for the JAWIRO role model can be downloaded from this link.
- The online documentation for the JAWIRO role model is available in this link.
- The .jar file containing a sample program which uses the JAWIRO role model can be downloaded from
this link with its source code in this link. (Note: The JAWIRO role package is needed as well.)
- A simple example using some features of JAWIRO is available here.
References
- Yunus Emre Selçuk, Nadia Erdoğan. "How to Solve the Inefficiencies of Object Oriented Programming:
A Survey Biased on Role-Based Programming".
7th World Multiconf. on Systemics, Cybernetics and Informatics (SCI 2003), Orlando, Florida, USA, July 2003.
Vol. XIII, pp. 160-165.
- Yunus Emre Selçuk, Nadia Erdoğan. "JAWIRO: Enhancing Java with Roles".
The 19th Int'l. Symp. on Computer and Information Sciences (ISCIS 2004), Kemer, Antalya, Turkey, October 2004.
LNCS 3280, pp. 927-934, Springer-Verlag Berlin Heidelberg 2004.
- Yunus Emre Selçuk, Nadia Erdoğan. "JAWIRO: An Extended Role Model for Java".
The Int'l. Conf. on Computational Intelligence (ICCI 2004), Istanbul, Turkey, December 2004. pp. 207-210.
- Yunus Emre Selçuk, Nadia Erdoğan. "Using Roles with JAWIRO".
AAAI 2005 Fall Symposium Series, Roles: An Interdisciplinary Perspective subtopic, Arlington, Virginia, USA, November 2005.
- Yunus Emre Selçuk, Nadia Erdoğan. "A Role Model for Description of Agent Behavior and Coordination".
6th Int'l. Workshop on Engineering Societies in the Agents' World (ESAW 2005), Kusadasi, Turkey, October 2005. LNCS 3963, pp. 29-49, Springer-Verlag Berlin Heidelberg 2006.
Latest Updates
-
Role checking and switching commands now work with subclasses of a desired role, if that desired role does not exist in a hierarchy. Moreover, the dominateSearch method is also accessible as makeDominant method (July 7th, 2008).
-
The RoleInterface.asList(String) method, which enables iteration within the aggregate roles of a specific type, is added with JAWIRO version 1.1.2 (November 20th, 2007).
-
The peristence mechanism is enhanced with JAWIRO version 1.1 and this enhancement is incorparated into the sample program, as well as the documentation (May 24th, 2006).
Back to home page