ABSTRACT
In this paper, we advocate a use case based methodology for development of object oriented systems which give primacy to roles instead of class. We present an algorithm to synthesize partial collaborations between roles to obtain classes and interaction between them. It realizes temporal relations between roles by defining anonymous roles and its collaboration with other roles. During synthesis, the algorithm checks for the correctness of the partial collaborations with respect to contracts for events, and of synthesized collaboration with respect to pre, post and invariant conditions of the use case. A prototype tool has been implemented using AspectJ and GROOVE simulator to test the feasibility of the methodology
- The aspectj project. www.eclipse.org/aspectj/Google Scholar
- T.S. Arend Rensink, Harmen Kastenberg. User manual for the groove tool set. Deptt. of Computer Science, University of Twente.Google Scholar
- B.D. Chaudhary and N. Gutha. A model for temporal relations between object roles. Proceedings of Fourth IEEE International Conference on Software Engineering and Formal Methods, pages 100--107, 2006. Google ScholarDigital Library
- W. Damm and D. Harel. Lscs: Breathing life into message sequence charts. Formal Methods in System Design, 19(1):45--80, 2001. Google ScholarDigital Library
- A. Garcia, C. Chavez, U. Kulesza, and C. Lucena. Role aspect pattern. Tenth European Conference on Pattern Languages of Programs, 2005.Google Scholar
- G. Gottlob, M. Schrefl, and B. Rock. Extending object-oriented systems with roles. ACM Trans. Inf. Syst., 14(3):268--296, 1996. Google ScholarDigital Library
- K. B. Graversen. Role collaborations. Software Engineering Properties of Languages and Aspect Technologies Workshop, AOSD, 2004.Google Scholar
- E. A. Kendall. Role model designs and implementations with aspect-oriented programming. OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 353--369, 1999. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings European Conference on Object Oriented Programming, Springer-Verlag, 1241:220--242, 1997.Google Scholar
- B. B. Kristensen. Object--oriented modeling with roles. Proceedings of the 2nd International Conference on Object-Oriented Information Systems, pages 57--71, 1996.Google ScholarCross Ref
- A. Kumar. Use case driven dynamic synthesis of objects from role collaborations. M.Tech Thesis, Motilal Nehru National Institute of Technology, India, July, 2007.Google Scholar
- C. Larman. Applying UML and Patterns. Pearson Education, 2004.Google Scholar
- J. MARKOVIÄR, Lubomi¿r SOCHOR. Objects with changeable roles. 3rd International Symposium on Distributed Objects and Applications -- Short Papers, pages 69--76, 2001.Google Scholar
- B. Pernici. Objects with roles. pages 205--215, 1990.Google Scholar
- A. Rensink. The groove simulator: A tool for state space generation. Springer Verlag, 3062/2004:479--485, 2004.Google Scholar
- T. Richner and S. Ducasse. Iterative recovery of collaborations and roles in dynamically typed object-oriented languages. International Conference on Software Maintenance, October, 2002.Google Scholar
- F. Sanen, E. Steegmans, N. Picard, W. Joosen, and T. Holvoet. Using roles and aspects for designing and implementing dynamic adaptations. Workshop on Views, Aspects and Roles at the 19th European Conference on Object-Oriented Programming, July 25-29, 2005.Google Scholar
- M. Schrefl and T. Thalhammer. Using roles in java. Softw. Pract. Exper., 34(5):449--464, 2004. Google ScholarDigital Library
- J. Sun and J. S. Dong. Design synthesis from interaction and state-based specifications. IEEE Transactions on Software Engineering, 32(6):349--364, 2006. Google ScholarDigital Library
- S. Uchitel, J. Kramer, and J. Magee. Incremental elaboration of scenario-based specifications and behavior models using implied scenarios. ACM Transactions on Software Engineering and Methodology, 13(1):37--85, Jan 2004. Google ScholarDigital Library
- M. VanHilst and D. Notkin. Using role components to implement collaboration--based designs. OOPSLA '96: Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 359--369, 1996. Google ScholarDigital Library
Index Terms
- Class synthesis from role collaborations
Recommendations
Developing the role concept for computer-supported collaborative learning: An explorative synthesis
The role concept has attracted a lot of attention as a construct for facilitating and analysing interactions in the context of computer-supported collaborative learning (CSCL). So far much of this research has been carried out in isolation and the focus ...
Recognizing and supporting roles in CSCW
CSCW '00: Proceedings of the 2000 ACM conference on Computer supported cooperative workIn this paper, we describe our experience with the long-term, widespread use of CoWeb, an asynchronous collaborative tool that is mostly used to complement existing face-to-face groups (such as classes). The CoWeb is an openended tool that does not ...
The Need for a Role Ontology
The importance of employees as knowledge workers acting in the correct roles is not a new phenomenon, but as work itself becomes less tangible, concerns with understanding, describing, and managing roles becomes an increasingly complex, challenging, and ...
Comments