runtime model for role based software systems
play

Runtime Model for Role-based Software Systems Tobias Jckel * , - PowerPoint PPT Presentation

Department of Computer Science Institute of Systems Architecture, Computer Networks Group Position Paper: Runtime Model for Role-based Software Systems Tobias Jckel * , Martin Weibach , Kai Herrmann * , Hannes Voigt * , Max Leuthuser


  1. Department of Computer Science Institute of Systems Architecture, Computer Networks Group Position Paper: Runtime Model for Role-based Software Systems Tobias Jäckel * , Martin Weißbach † , Kai Herrmann * , Hannes Voigt * , Max Leuthäuser ‡ * Database Systems Group † Computer Networks Group ‡ Software Technology Group

  2. Motivation Department of Computer Science Institute of Systems Architecture, Computer Networks Group Modeling Languages Programming Languages Language Engineering, Cham: Springer International Publishing, 2014, pp. 141–160. Modeling & Programming Languages taken from: T Family for Role - Based Modeling and Programming Languages, Helena- DCI (in Onto-UML JavaStage NextEJ Rumer Approach Scala) (2012) (2012) (2009) (2007) (2014) (2009) Metamodel powerJava ORM 2 Raw OT/J INM (2009) for Roles (2006) (2005) (2006) (2005) (2007) • roles allows for an intuitive separation of static and dynamic, context - dependent behavior . Kühn, et al., “ • investigation of roles throughout all steps of the ” in Software A Metamodel software development process and across all layers of developed software applications DFG · RoSI · Martin Weißbach 2

  3. Motivation Department of Computer Science Institute of Systems Architecture, Computer Networks Group Compartment Role Object Model Formal Foundation (CROM) [3],[4] LyRT SCROLL Programming Language / [1],[2] [6] Framework Runtime Environment Java Virtual Machine (JVM) RSQL Database [4] DFG · RoSI · Martin Weißbach 3

  4. Department of Computer Science Institute of Systems Architecture, Computer Networks Group Our Assumed Role Model DFG · RoSI · Martin Weißbach 4

  5. Our Assumed Role Model Department of Computer Science Institute of Systems Architecture, Computer Networks Group BrightEnvironment BrightDisplay +displayContent() LowBandwidth objects may LazyLoading objects may play features of an acquire and +fetchData() Browser different roles object can be +fetchData() abandon roles HighBandwidth +displayContent() simultaneously role - specific EagerLoading dynamically +fetchData() Downloadable +download() +save(File) DFG · RoSI · Martin Weißbach 5

  6. Our Assumed Role Model Department of Computer Science Institute of Systems Architecture, Computer Networks Group • Roles have properties and behaviors • objects may play different roles simultaneously • objects may acquire and abandon roles dynamically • roles can be transferred between objects • the state of an object can be role - specific Browser • features of an object can be role - specific +fetchData() • an object and its roles share identity +displayContent() • an object and its roles have different identity • roles depend on compartments Downloadable +download() • compartments have their own identity +save(File) 6 DFG · RoSI · Martin Weißbach

  7. Role States Department of Computer Science Institute of Systems Architecture, Computer Networks Group • applied role concept to different layers of the application independently • Are the states of roles the same on each layer? • Are any transitions between layer - specific role states possible? Application D1:Downloadable B1:Browser B1:Browser D1:Downloadable Runtime Database B1:Browser D1:Downloadable 7 DFG · RoSI · Martin Weißbach

  8. Application Layer (AL) Department of Computer Science Institute of Systems Architecture, Computer Networks Group Application Layer • Bound Active roles’ behavior is ‘visible’ to the user Active Not Bound • Bound Passive roles’ Existent Passive behavior is not perceivable • role - base application thats behavior can be modified dynamically at run time (through roles) LowBandwidth • user - interaction, business logic etc. LazyLoading HighBandwidth B1:Browser EagerLoading DFG · RoSI · Martin Weißbach 8

  9. Runtime Environment Layer (REL) Department of Computer Science Institute of Systems Architecture, Computer Networks Group Runtime Environment Layer • Bound roles are considered for the method dispatch Player Not • Unbound states are Existent Unbound transparent for the Compartment Bound application and transient • book - keeping of currently played roles (binding information) fetchData() • dispatch of method invocations B1:Browser • creation, deletion, binding etc. of roles fetchData() LazyLoading HighBandwidth EagerLoading DFG · RoSI · Martin Weißbach 9

  10. Persistence Layer (PL) Department of Computer Science Institute of Systems Architecture, Computer Networks Group Persistence Layer Not • Bound roles are stored to the Bound Existent database • mapping of the programming - language specific object instances of roles and players to their respective representation on the database layer • autonomous storage to the database on changes made to the objects DFG · RoSI · Martin Weißbach 10

  11. Database Layer (DBL) Department of Computer Science Institute of Systems Architecture, Computer Networks Group Database Layer • Only information about roles Not being bound to players are Bound Existent required being persistent • stores roles, players and bind information persistently DFG · RoSI · Martin Weißbach 11

  12. Global Role State Department of Computer Science Institute of Systems Architecture, Computer Networks Group • combinatorics allow invalid states → might also occur if the system is left unattended • motivation: roles instances might exist on a single layer only, but the “entity” of the role cuts all layers in the layer stack • limit space of possible transitions of a role, globally in the system 12 DFG · RoSI · Martin Weißbach

  13. Create and Store a Role Department of Computer Science Institute of Systems Architecture, Computer Networks Group C1:BrightEnvironment P1:Browser R1:BrightDisplay bound not Application Layer bound Passive existent Active Unbound Player not Runtime Environment Layer bound existent Unbound Compartment not Persistence Layer bound existent not bound Database Layer existent DFG · RoSI · Martin Weißbach 13

  14. Reload a Role from the Database Department of Computer Science Institute of Systems Architecture, Computer Networks Group C1:BrightEnvironment P1:Browser R1:BrightDisplay bound not Application Layer bound Passive existent Active Unbound Player not Runtime Environment Layer bound existent Unbound Compartment not Persistence Layer bound existent bound Database Layer DFG · RoSI · Martin Weißbach 14

  15. The Global State Manager Department of Computer Science Institute of Systems Architecture, Computer Networks Group C1:BrightEnvironment P1:Browser R1:Downloadable Application Layer bound Active Global State Manager Runtime Environment Layer bound Persistence Layer bound bound Database Layer DFG · RoSI · Martin Weißbach 15

  16. The Global State Manager Department of Computer Science Institute of Systems Architecture, Computer Networks Group …knows… Global State Manager R1 • the roles in the {ba,b,nex,nex} {ba,b,nex,nex} R6 system {ba,b,nex,nex} • their current state on R2 each layer {ba,b,b,b} R3 R4 {nex,nex,nex,nex} R7 {bp,b,nex,nex} R5 {nex,nex,nex,b} {AL,REL,PL,DBL} DFG · RoSI · Martin Weißbach 16

  17. Benefits Department of Computer Science Institute of Systems Architecture, Computer Networks Group • transitions of global role states can be checked at run time • model can be used to check the system in advance for correctness • possibly especially interesting in the case of constraints or collaborations between roles 17 DFG · RoSI · Martin Weißbach

  18. The Global State Manager Department of Computer Science Institute of Systems Architecture, Computer Networks Group …knows… Global State Manager {ba,b,nex,nex} R1 constraint • the roles in the {ba,b,nex,nex} to be R6 P2 P1 system always played • their current state on R2 together {ba,b,nex,nex} each layer collaboration • roles and their {ba,b,b,b} R3 P3 P4 players • the object net of R4 players {bp,b,nex,nex} R5 P5 {nex,nex,nex,b} {AL,REL,PL,DBL} DFG · RoSI · Martin Weißbach 18

  19. Benefits Department of Computer Science Institute of Systems Architecture, Computer Networks Group • transitions of global role states can be checked at run time • transactional changes of multiple roles can both be checked and guided • model can be used to check the system in advance for correctness • possibly especially interesting in the case of constraints or collaborations between roles 19 DFG · RoSI · Martin Weißbach

  20. Conclusion Department of Computer Science Institute of Systems Architecture, Computer Networks Group • role - concept on the modeling and programming language level • exemplary investigation of the role - concept in an entire software application • argument to incorporate the concept in a run - time model to allow for dynamic adaptation and validation 20 DFG · RoSI · Martin Weißbach

  21. Future Work Department of Computer Science Institute of Systems Architecture, Computer Networks Group • refinement of layers • superset of role models that fulfil the state machine • different quality / isolation levels • e.g. transactional storage of changes of role bindings / creations vs. lazy storage that allows information loss • distributed settings & decentralization aspects 21 DFG · RoSI · Martin Weißbach

  22. Department of Computer Science Institute of Systems Architecture, Computer Networks Group Thank you for your attention! Questions?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend