Personalities
This paper proposes the separation of the description of behavior from the class hierarchy and flexible injection of those behaviors into class structures. The benefit of the paper is that a small extension of Java creates a much more expressive language.

If you don't want to extend Java at all, please use the Personality Pattern.

This paper has been revised and a complete Master's thesis has been published on this topic. See Personalities Home Page for the latest information on this topic.

The paper is available in the formats:


Bibtex entries:
@INPROCEEDINGS{blando-seke:personalities,
AUTHOR       = "Luis Blando and Karl Lieberherr and Mira Mezini",
TITLE        = "{Modeling Behavior with Personalities}",
BOOKTITLE = "International Conference on Knowledge and Software Engineering",
YEAR = "1999",
ADDRESS = "Kaiserslautern",
PAGES = "",
EDITOR = "",
PUBLISHER = ""
}                  

@TECHREPORT{personalities:blandoHREPORT{blando:personalities-98,
AUTHOR = "Luis Blando",
TITLE = "{Designing and Programming with Personalities}",
INSTITUTION = "Northeastern University",
YEAR = 1998,
MONTH = "December",
NUMBER = "NU-CCS-98-12",
NOTE = "Master's Thesis"
}

AUTHOR       = "Luis Blando and Karl Lieberherr and Mira Mezini",
TITLE        = "{Modeling Behavior with Personalities}",
INSTITUTION  = "College of Computer Science, Northeastern University",
YEAR         = 1998,
MONTH        = "September",
NUMBER       = "{NU-CCS-98-08},
ADDRESS      = "Boston, MA"
}

Project ideas related to this paper:

Implement Personalities

  • Project Description by Luis Blando for Dynamic Personalities and Static Personalities. Dynamic personalities are more interesting to implement.

    Further information about the paper:

    This is a part of Luis Blando's MS Thesis.

    Personalities and Frameworks Implementation

    Consider a personality P with an upstream and downstream interface. The personifying class C has to implement the downstream interface. To make this implementation easier to reuse, we define a framework that implements the downstream interface. A personality with a framework-based implementation has the flavor of an APPC or a Class Graph View. See Luis Blando's thesis.