110 likes | 267 Views
University of Leicester June 2005. Metamaxim Ltd. Ashley McNeile Metamaxim Ltd. Metamaxim Ltd. Founded by Ashley McNeile and Nick Simons in 2001 Specialises in using behavioural modelling for exploring system requirements
E N D
University of Leicester June 2005 Metamaxim Ltd. Ashley McNeile Metamaxim Ltd.
Metamaxim Ltd. • Founded by Ashley McNeile and Nick Simons in 2001 • Specialises in using behavioural modelling for exploring system requirements • Uses ideas that derive from Jackson System Development (JSD) and Hoare’s Communicating Sequential Processes (CSP) • Developed ModelScope -- an executable modelling tool for requirements validation Metamaxim
Our Vision Initial Modelling(Whiteboard) Real Build (Perhaps generate from the Model) Executable Model+GUI Prototypes From here on, you are validating working software! Metamaxim
Our Focus Initial Modelling(Whiteboard) Real Build (Perhaps generate from the Model) Executable Model+GUI Prototypes From here on, you are validating working software! Metamaxim
“Model Driven Agility” Initial Modelling(Whiteboard) Real Build (Perhaps generate from the Model) Executable Model+GUI Prototypes From here on, you are validating working software! High level of abstraction (Events and State Machines) Refactoring is fast Low level of abstraction (Messages and Methods) Refactoring is slower and more difficult Metamaxim
Modelling Technique • Behaviour Modelling is Crucial • Static Models are good for generating Infrastructure code • Infrastructure is not important when validating behaviour • The user is interested in the behaviour of the application, not the structure of the software • We use State Transition Diagrams • To show the “business protocol” of objects Metamaxim
“Protocol Machine” • A software machine that is: • Event Driven • Quiescent between Events • Has a defined “repertoire” of Events • When presented with an Event will do one of: • Consume it • Refuse it (and signal refusal) • Ignore it • Protocol Machines can be composed • The result of composition is another Protocol Machine • The composition is the same as || in CSP Metamaxim
Order Processing Model CUSTOMER PRODUCT Register Introduce Discontinue Available Dropped Registered Place(an Order) Place(an Order) Change Price ChangeQuantity ORDER Place Confirm Deliver Invoice Open Confirmed Delivered Invoiced Cancel ReceivePayment Cancelled Paid Metamaxim
Extreme Modelling • Extreme Modelling • Tight-loop model, test, demonstrate, change • Refactoring to improve the quality of the abstractions A UI that a User can understand and use The Model The business logic A persistency mechanism Metamaxim
User Interface Metamaxim
On-Going Work • “Deontic” modelling • Using “typed” protocol machines to qualify possible events in terms of whether they are allowed and/or desired • Modelling Workflow and Choreography • Investigating how applications (workflows) that expose deontic protocol interfaces can interact Metamaxim