The BSP Design Model, Going Beyond MVC.
1. What is the BSP (Behaviour, Service, Presentation) Model ?
BSP is a progression in the evolution of software design models. It extends to address the whole UI App design, while honouring the cornerstone principles of view-models from MVC. It decouples the unique, abstract application behaviour from the system services that the App merely exercises. It separates the App design into three models, the structurally rich Behaviour model and the thin hosted OS Service and Presentation models.
It expresses the design as a fabric of Actors interacting via notifications through well defined pathways called Notifiers. So the Behaviour, Service and Presentation models are idealised as Actors emitting and observing Request and Event notifications. This separates the concept of activity, represented by the Request and Event Notifiers from the actual behaviour, given by the Actors.
The basic BSP model in diagram form is given below:
For a proper explanation of BSP please read the associated PDF doc:
There is also an example App (in source form), to give an idea of what a BSP App actually looks like. The provided example is given as a fully functional iPad Xcode project, written in Swift 5.5:
2. What are the benefits of BSP ?
BSP as a technology:
Addresses: | The whole UI App design, | for design completeness. |
Classifies: | Levels of behaviour, | to recognize behaviour context. |
Provides for: | The decomposition of behaviour, | to express in terms of simpler behaviour. |
Supports: | An incremental, collaborative design process, | to share through design visualization. |
Decouples: | Design from implementation, | to provide a design workspace that expresses behaviour in terms of interactions: |
BSP provides a number of design constructs which in turn provide design capabilities:
3. The BSP Talk Slide Set.
The BSP talk slides are also available in three formats:
4. More information.
Contact Terry Stillone (terry@originware.com) for more direct information.
Home
About
Contact
Originware is based in Sydney, Australia.
Email: | Terry Stillone (terry@originware.com) |
Linked-in | Terry Stillone |
Mobile International: | +61-456091812 |
Mobile Australia: | 045 6091 812 |
Originware designs and develops software for a broad range of platforms: Mobile, Web, Desktop and Embedded.
The Development Process is just as important to us as the function and design of code. We strive for iterative feedback to converge to a product that works for all interested parties. Software management is about finding the appropriate balance between elements of concern. Those concerns may not be apparent at project initiation as each project and environment is different. Key tools are active listening and engagement (from all parties, including users).
The quality of human intercommunication during development reflects in the appropriateness and framing of product features.
Originware is based in Sydney Australia. (ABN: 71 209 353 700)