This paper proposes a refinement method based on a set of formal refinement patterns for software architecture design using Software Architecture Model (SAM). First, an approach for specification construction through propertypreserving refinement patterns is discussed. The refinement patterns are categorized into connector refinement, component refinement and high-level Petri nets refinement. Then, modeling and refining a life insurance system is used to demonstrate how to applying the refinement patterns for software architecture design using SAM. The results demonstrate that a refinement method is an effective way to develop a high assurance system. Our result can be easily generalized to other formal methods as well.
Role-based access control (RBAC) policies have been implemented in many social network environments to enforce the security. However, enforcing RBAC policies in a social network environment also brings the design complexity and potential security vulnerabilities which may cause insecure information flows. In this paper, we present a framework for formally modeling and analyzing RBAC policies using high level Petri nets and model checking techniques. The high level Petri nets called PZ nets that have been developed based on Predicate/Transitions nets and Z notation have significant benefits for modeling security models through combining modeling capacities from both formalisms, and the analysis technique based on model checking tool SPIN provides an automatic conformance checking of RBAC policies in applications. A case study of the enforcement of RBAC policies in an online file sharing system is performed to demonstrate the effectiveness of the proposed approach.
Software architecture plays a central role in developing software systems that provide basic functionality and satisfy critical properties such as reliability and security. However, little has been done to formally model software architectures and to systematically enforce required properties. We aim to propose a formal approach to designing secure software architectures. We use the Software Architecture Model (SAM), a general software architecture model combining Petri nets and temporal logic, as the underlying formalism. Architecture design consists of the functionality part and the security part. Guidelines are proposed to design functionality of software architectures at both element level and composition level. Software security is enforced by stepwise refinement.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.