J Supercomput (2007) 39: 347–357 DOI 10.1007/s11227-006-0017-0 A method to test concurrent systems using architectural specification Hassan Reza · Emanuel S. Grant Published online: 24 February 2007 © Springer Science+Business Media, LLC 2007 Abstract In this paper, we discuss a testing method for integration testing of com- plex and concurrent systems. Integration testing is considered the least well under- stood and hence is the most problematic level of testing related to concurrent system development. This is so, because integration testing is not completely unit (or code) neither testing nor it is completely system testing. To achieve this goal of improv- ing integration testing, our proposed method exploits architectural specification of concurrent and distributed systems defined in the high level Petri nets, known as Hi- erarchical Predicate Transition Nets (HPrTNs). More specifically, our testing method implements the separation of concerns strategy to handle both the essential complex- ity associated with the front-end software development of inherently concurrent and distributed systems, i.e. architectural specification, and the difficulty and cost associ- ated with the back-end development of these systems, namely, software testing. Keywords Software architecture · Hierarchical Predicate Transition Nets (HPrTNs) · Concurrent systems · Software testing · Architectural Description Languages (ADLs) 1 Introduction Software testing main objective is to verify that the system under the test meets the ex- pectations of the user; it is considered the ultimate obstacle to the release of software The authors were partially supported by an NASA grant NCC5-582 H. Reza () · E.S. Grant Department of Computer Science, School of Aerospace, University of North Dakota, Grand Forks 58202, USA e-mail: reza@cs.und.edu E.S. Grant e-mail: grante@cs.und.edu