Design and validation of computer protocols
Design and validation of computer protocols
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Bandera: a source-level interface for model checking Java programs
Proceedings of the 22nd international conference on Software engineering
Verifying Erlang Code: A Resource Locker Case-Study
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
CADP - A Protocol Validation and Verification Toolbox
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Correct Performance of Transaction Capabilities
ACSD '01 Proceedings of the Second International Conference on Application of Concurrency to System Design
Computer assisted manipulation of algebraic process specifications
Computer assisted manipulation of algebraic process specifications
The syntax and semantics of timed $\mu CRL$
The syntax and semantics of timed $\'mu CRL$
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Extending the VoDKA architecture to improve resource modelling
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
Verifying fault-tolerant Erlang programs
Proceedings of the 2005 ACM SIGPLAN workshop on Erlang
Model checking a video-on-demand server using McErlang
EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
Hi-index | 0.00 |
The VoDka server is a video-on-demand system for a Spanish cable company. We look at the distributed scheduler of this system. This scheduler enables that whenever a user agent is asking for a certain movie, this request is transferred through the system and a set of possible play-back qualities is returned to the agent. In case of a non-empty set, the agent selects one and the movie is streamed to the user.The storage subsystem of the server is composed by a hierarchy of different storage systems, i.e. disks, CD players or tapes. These devices all have restrictions of which the process controlling the device is aware of. A second layer of processes controls a set of devices in one machine and has restrictions, for example, the bandwidth of its connection. A third layer may be further out in the network and serve as a cache to store more popular movies.Every process in the scheduler of the system has a function determining local restrictions, given the configuration and present state of the system. We have built a tool to construct complete models of several configurations. With techniques from the area of formal methods (in particular model checking) these models are used to determine global properties of the system, such as the maximum number of a certain class of movies that can be served in parallel.