diff --git a/nfc/1.0/INfc.hal b/nfc/1.0/INfc.hal
index f003b2c..1c952db 100644
--- a/nfc/1.0/INfc.hal
+++ b/nfc/1.0/INfc.hal
@@ -33,6 +33,8 @@
      * If open() returns any other value, the NCI stack will stop.
      *
      */
+    @entry
+    @callflow(next={"write", "coreInitialized", "prediscover", "powerCycle", "controlGranted"})
     open(INfcClientCallback clientCallback) generates (int32_t retval);
 
     /*
@@ -41,6 +43,8 @@
      * This method may queue writes and return immediately. The only
      * requirement is that the writes are executed in order.
      */
+    @callflow(next={"write", "prediscover", "coreInitialized", "close", "powerCycle",
+                    "controlGranted"})
     write(NfcData data) generates (int32_t retval);
 
     /*
@@ -53,6 +57,7 @@
      * If coreInitialized() returns any other value, the NCI stack will continue
      * immediately.
      */
+    @callflow(next={"write", "prediscover", "close"})
     coreInitialized(NfcData data) generates (int32_t retval);
 
     /*
@@ -66,11 +71,13 @@
      * If prediscover() returns any other value, the NCI stack will start
      * RF discovery immediately.
      */
+    @callflow(next={"write", "close", "coreInitialized", "powerCycle", "controlGranted"})
     prediscover() generates (int32_t retval);
 
     /*
      * Close the NFC controller. Should free all resources.
      */
+    @exit
     close() generates (int32_t retval);
 
     /*
@@ -79,11 +86,13 @@
      * Must only be called when there are no NCI commands pending.
      * NfcEvent.RELEASE_CONTROL will notify when HAL no longer needs exclusive control.
      */
+    @callflow(next={"write", "close", "prediscover", "coreInitialized", "powerCycle"})
     controlGranted() generates (int32_t retval);
 
      /*
      * Restart controller by power cyle;
      * NfcEvent.OPEN_CPLT will notify when operation is complete.
      */
+    @callflow(next={"write", "coreInitialized", "prediscover", "controlGranted", "close"})
     powerCycle() generates (int32_t retval);
 };
