Taming distributed system complexity through formal patterns
Solutions to frequently occurring problems in distributed systems can be made generic and reusable as formal patterns. Such formal patterns can greatly reduce the complexities of designing, verifying, and implementing a system. Formal patterns can be made executable in rewriting logic and come with semantic applicability conditions and formal guarantees. The paper defines the semantics of formal patterns and illustrates their usefulness in various cyber-physical, medical, and security applications.
distributed systems rewriting logic software patterns formal specification and verification maude