Integrated Formal Models of Tasks, States and Transformations in the Discovery Method

Integrated Formal Models of Tasks, States and Transformations in the Discovery Method
of 2
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
  Integrated Formal Models of Tasks, States and Transformations in the Discovery Method Carlos Alberto Fernandez y Fernandez, Anthony J. H. Simons  Department of Computer Science, University of Sheffield {C.Fernandez, A.Simons } Abstract This document presents the state of our research on the development of the precise semantics for the  Discovery method. We explain the importance of the  project as well as its progress and preliminary results. 1. Motivation Diagram-based methods for designing object-oriented software have gained in popularity over the last 15 years. It is clear that UML [1, 2] is the dominant notation for developing designs for object-oriented software and this is not going to change in the near future, but the fact that UML is a standard should not prevent us from trying different approaches. We need a smaller and simpler object-oriented notation that can be easier to learn and to use. This notation should be supported by a formal semantic definition with the aim of providing a specific meaning for the elements of the notation. The Discovery Method [3, 4] for developing object-oriented systems uses a series of intuitive structure and flow-based diagrams to capture the requirements model. 2. Objectives The aim of our project is to formalise the common underlying representation of structure, flow and state models and define the semantics of these representations and of their mutual transformations. In order to do this, we need to define the representation for at least 5 diagrammatic models of Discovery: the Task Structure Model, the Task Flow Model, the Data Model, the State Model, and the Collaboration Model. 3. Methodology The process included an analysis of formal notations such as Alloy [5], Z [6], and OCL [7] looking for the most convenient language for representing the abstract syntax and the semantics for the state-based models of the Discovery method. The abstract syntax was determined by examining every design model used in the Discovery Method, then describing each relevant model element and the constraints upon that element. We used Alloy for developing an abstract syntax for the different models organised on 3 views (i.e. System view, Model view, Diagram view). Also we analysed LTS and some process algebras (ACP [8], CSP [9], FSP [10], CCS [11]). Our intention is to represent the behaviour using one of these process algebras. The only problem that remains is that the semantics does not correspond exactly what we want to represent for business the model. One of the characteristics we are looking for is true concurrency, which is not defined in the process algebras mentioned before. Even if there are variants of process algebra with true concurrency  (e.g. KCSP [12]), probably a better solution would be to define a small and custom-made notation. 4. State of the research We developed the abstract syntax for 5 of the Discovery models using Alloy. Instances of models can be checked against the abstract syntax defined [13], but the result is reached in terms of minutes, even for small models. A possible alternative to this problem could be to define a simpler abstract syntax taking advance of the semantics of the formal language used to model it. With this option we could  do quicker analysis of bigger models but we could lose details and we will be more dependent on the characteristics of the language. We have been experimenting with representations for Task Flow models and State models (the event-based models of the Discovery method) using LTS and process algebras. But we still consider these options unsatisfactory for our purposes. The problem is the semantics of these algebras do not correspond accurately to what we are trying to represent: the kind of business workflow represented in Discovery includes context-sensitivity with early termination, which interacts in powerful ways with compositionality. Therefore, now we are experimenting defining our own process algebra to define the behaviour of the State model and the Task Flow model. This process algebra should be used to model the behaviour of the event-based Task Flow model and the State model. A Task Flow diagram can be transformed into a State diagram and both have the same semantic representation. 5. Preliminary results Our abstract syntax on Alloy includes a good detail of the elements from the Discovery method diagrams. However, for complicate models, it works too slowly. A solution could be found by simplifying the representation of the Discovery models to use only the elements for structural meaning, having a major advantage over the Alloy semantics. This method could be applied to the state-based models. On the other hand, for the event-based models we are defining our own process algebra with accurate definitions in correspondence with the common ideas used in business process for the state and task flow model. Two major requirements for our process algebra are: true concurrency and early exit termination. References [1] G. Booch, J. Rumbaugh, and I. Jacobson, The unified modeling language user guide . Reading Mass.: Addison-Wesley, 1999. [2] C. A. Fernández y Fernández, "Modelado Visual con UML," in TEMAS de Ciencia y Tecnología , vol. 6, 2002, pp. 54-58. [3] A. J. H. Simons, "Object Discovery - A process for developing medium-sized applications," presented at ECOOP, Brussels, 1998. [4] A. J. H. Simons, Discovery Method. Systems Analysis and Design for Object-Oriented Applications, University of Sheffield  , Sheffield, 2002, [5] D. Jackson, "Alloy: A Lightweight Object Modelling Notation,"  ACM Transactions on Software Engineering and  Methodology (TOSEM) , vol. 11, pp. 256-290, 2002. [6] J. M. Spivey, The Z Notation: A Reference Manual : Prentice Hall, 1992. [7] OMG, "Object Constraint Language Specification," in OMG Unified Modeling Language Specification : OMG, 2003. [8] J. C. M. Baeten and W. P. Weijland, Process algebra . Cambridge; New York: Cambridge University Press, 1990. [9] C. A. R. Hoare, Communicating sequential processes . Englewood Cliffs, N.J.: Prentice/Hall International, 1985. [10] J. Magee and J. Kramer, Concurrency: state models &  Java programs . Chichester, England; New York: Wiley, 1999. [11] R. Milner,  A calculus of communicating systems . Berlin; New York: Springer-Verlag, 1980. [12] A. E. Lawrence, "HCSP: Imperative State and True Concurrency," presented at Communicating Process Architectures 2002, Amsterdam, 2002. [13] A. J. H. Simons and C. A. Fernández y Fernández, "Using Alloy to model-check visual design notations," presented at International Conference in Computer Science, ENC 2005, Puebla, México, 2005.
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!