ABSTRACT
We present an approach to aspect specification based on the Protocol Modelling paradigm, which uses CSP parallel composition as the mechanism for combining partial behaviour specifications. Using the Protocol Modelling approach enables local reasoning about the behaviour of the whole model based on knowledge of behaviour of the composed aspects, and we present the proof of this key property in this paper. We describe how Protocol Modelling allows the definition of aspect join points and weaving relationships at the model level, and how different aspects may use different abstractions over the same domain. We illustrate this using a small case example.
- A. McNeile, N. Simons. Protocol Modelling. A modelling approach that supports reusable behavioural abstractions. Software and System Modeling, 5(1):91--107, 2006.Google ScholarCross Ref
- A. McNeile, N. Simons. http://www.metamaxim.com/.Google Scholar
- B. Tekinerdogan, M. Akşit. Deriving design aspects from conceptual models. LNCS 1546, pp. 587--588, 1998.Google Scholar
- C. Hoare. Communicating Sequential Processes. 1985. Google ScholarDigital Library
- C. Clifton, G. Leavens. Spectators and assistants: Enabling modular aspect-oriented reasoning. Technical Report 02-10, Iowa State University, citeseer.ist.psu.edu/clifton02spectators.html, 2002.Google Scholar
- D. Dantas, D. Walker. Harmless advice. In POPL, pp. 383--396, 2006. Google ScholarDigital Library
- D. Harel, M. Politi. Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, 1998. Google ScholarDigital Library
- D. Stein, S. Hanenberg, R. Unland. Expressing different conceptual models of join point selections in aspect-oriented design. Proc. of AOSD 2006, pp. 15--26, 2006. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, J. Irwin. Aspect-Oriented Programming. Proc. of the European Conference on Object-Oriented Programming, 1241: pp. 220--242, 1997.Google Scholar
- G. Kiczales, M. Mezini. Aspect-Oriented Programming and Modular Reasoning. Proc. of the International Conference on Software Engineering, pp. 49--58, 2005. Google ScholarDigital Library
- J. Ebert, G. Engels. Observable or invocable behaviour-You have to choose. Technical report. Universitat Koblenz, Koblenz, Germany, 1994.Google Scholar
- M. Jackson, P. Zave. Domain Descriptions. Proc. of the IEEE International Symposium on Requirements Engineering, pp. 56--64, 1993.Google Scholar
- P. O'Hearn, J. Reynolds, H. Yang. Local Reasoning about Programs that Alter Data Structures. LNCS 2142, pp. 1--19, 2000. Google ScholarDigital Library
- R. Filman, T. Elrad, S. Clarke, M. Akşit. Aspect-Oriented Software Development. Addison-Wesley, 2004. Google ScholarDigital Library
- S. Cook, J. Daniels. Designing Object Systems: Object-Oriented Modelling with Syntropy. Prentice Hall, 1994. Google ScholarDigital Library
- S. Krishnamurthi, K. Fisher, M. Greenberg. Verifying Aspect Advice Modularity. Proc. of the ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 137--146, 2004. Google ScholarDigital Library
- W. Grieskamp, F. Kicillof, N. Tillmann. Action Machines: A Framework for Encoding and Composing Partial Behaviours. Microsoft Technical Report MSR-TR-2006-11, 2006.Google Scholar
- S. Smith, D. Duke. Using CSP to specify Interaction in Virtual Environments. Technical Report YCS 321. University of York, 1999.Google Scholar
- Object Management Group. UML2.0 Superstructure: Final Adopted Specification, 2003.Google Scholar
- A. McNeile, E. Roubtsova. Protocol Modelling Semantics for Embedded Systems. Proceedings of the IEEE Second International Symposium on Industrial Embedded Systems, SIES'2007, pp. 258--265, 2007.Google ScholarCross Ref
- S. Katz. Aspect Categories and Classes of Temporal Properties. Transactions on Aspect-Oriented Software Development. LNCS 3880, Springer, pp. 106--134, 2006. Google ScholarDigital Library
Index Terms
- CSP parallel composition of aspect models
Recommendations
Aspect-oriented programming
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringAspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Aspect-oriented programming
Aspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Aspect-Oriented User Requirements Notation: Aspects in Goal and Scenario Models
Models in Software EngineeringTechnologies based on aspects and applied at the early stages of software development allow requirements engineers to better encapsulate crosscutting concerns in requirements models. The Aspect-oriented User Requirements Notation (AoURN) extends the ...
Comments