In order to claim conformance with a Java Specification Request, a Java implementation has to pass all tests in an associated Technology Compatibility Kit. This paper presents a model-based development of a Technology Compatibility Kit test suite and a test execution tool for the draft safety-critical Java profile specification. The Java Modeling Language is used to model conformance constraints for the profile. Java Modeling Language annotations define contracts for classes and interfaces. The annotations are translated by a tool into runtime assertion checks. Hereby, the design and elaboration of the concrete test cases are simplified, because the expected results are derived from contracts and thus do not need to be provided explicitly. Bottom-up testing is applied for testing methods of the safety-critical Java classes, whereas topdown testing is applied for testing global properties, such as protocols, memory management, and real-time properties, including scheduling. The tests are executed using a simplified version of JUnit, which makes the test suite executable on resource-constrained platforms. Furthermore, Section 2 gives an overview of SCJ and its three conformance levels and concludes with a short overview of Java Modeling Language (JML).It is probably impossible to develop a test suite without familiarity with the language being tested. In our case, we have followed the development of the SCJ specification closely, commented on intermediate draft specifications and, over the years, acquired considerable insight in the details of the specification, as we have developed several prototype implementations [4][5][6]; the most recent one includes all three SCJ levels [7,8].This implementation is developed for resource-constrained embedded platforms, specifically the hardware-near virtual machine (HVM) [9]. Other prototype implementations are [6, 10,11].The draft specification work has nearly finished now (September 2016), although it has been delayed by a combined effort to revise the Real-Time Specification for Java (RTSJ) [12] to version 2.0. Because SCJ builds on RTSJ, this has led to many last minute changes to the SCJ specification. Yet, in order to complete the JSR process for SCJ, we began working on the TCK component in early 2013 [13] and reported on our progress in [14]. This paper consolidates the work of these papers and reports on the most recent progress with building the TCK. Furthermore, the approach is related to model-based testing in general, so it should be of interest for other developers of suites for conformance testing.A TCK is first of all a suite of tests checking whether an implementation of the SCJ technology conforms to the SCJ specification. Of course, the test suite must be based on the SCJ specification only and not be tailored for a particular implementation of the SCJ technology. The specification is written in natural language (English), where the detailed behavior of Java constructs such as classes and methods is documented in the Javadoc standard format.Writing test cod...