একটি নোডের ডেটা মডেল (DM) প্রাসঙ্গিক নয় যদি আমরা সেগুলিতে ক্রিয়াকলাপ সম্পাদন করতে না পারি। ইন্টারঅ্যাকশন মডেল ( IM ), একটি নোডের DM সম্পর্ককে অন্যান্য নোডের DM এর সাথে সংজ্ঞায়িত করে: DM গুলির মধ্যে যোগাযোগের জন্য একটি সাধারণ ভাষা।
নোডগুলি একে অপরের সাথে নিম্নলিখিতভাবে যোগাযোগ করে:
- গুণাবলী এবং ইভেন্টগুলি পড়া এবং সাবস্ক্রাইব করা
- বৈশিষ্ট্যগুলিতে লেখা
- কমান্ড আহ্বান করা
যখনই একটি নোড অন্য নোডের সাথে একটি এনক্রিপ্টেড যোগাযোগ ক্রম স্থাপন করে, তখন তারা একটি ইন্টারঅ্যাকশন সম্পর্ক গঠন করে। ইন্টারঅ্যাকশনগুলি এক বা একাধিক লেনদেনের সমন্বয়ে গঠিত হতে পারে, এবং লেনদেনগুলি এক বা একাধিক ক্রিয়া দ্বারা গঠিত যা নোডের মধ্যে IM-স্তরের বার্তা হিসাবে বোঝা যায়।

লেনদেনে বেশ কিছু অ্যাকশন সমর্থিত, যেমন একটি রিড রিকোয়েস্ট অ্যাকশন যা অন্য নোড থেকে একটি অ্যাট্রিবিউট বা ইভেন্টের অনুরোধ করে, অথবা এর প্রতিক্রিয়া, রিপোর্ট ডেটা অ্যাকশন, যা সার্ভার থেকে ক্লায়েন্টে তথ্য ফিরিয়ে নিয়ে যায়।
উদ্যোক্তা এবং লক্ষ্যবস্তু
যে নোডটি লেনদেন শুরু করে তা হল ইনিশিয়েটর , আর যে নোডটি সাড়া দেয় তা হল টার্গেট । সাধারণত ইনিশিয়েটর হল একটি ক্লায়েন্ট ক্লাস্টার এবং টার্গেট হল একটি সার্ভার ক্লাস্টার। তবে, এই প্যাটার্নের ব্যতিক্রম রয়েছে, যেমন এই বিভাগে আরও নীচে বিশ্লেষণ করা সাবস্ক্রিপশন ইন্টারঅ্যাকশনগুলিতে ।
গোষ্ঠী
Matter নোডগুলি একটি গ্রুপের অন্তর্গত হতে পারে। ডিভাইসগুলির একটি গ্রুপ হল একই অ্যাকশনে একসাথে একাধিক ডিভাইসে বার্তা পাঠানোর এবং সম্বোধন করার একটি প্রক্রিয়া। একটি গ্রুপের সমস্ত নোড একই গ্রুপ আইডি , একটি 16-বিট পূর্ণসংখ্যা ভাগ করে।
গ্রুপ-স্তরের যোগাযোগ ( Groupcast ) সম্পন্ন করার জন্য, Matter IPv6 Multicast বার্তা ব্যবহার করে এবং সমস্ত গ্রুপ সদস্যের একই Multicast ঠিকানা থাকে।
পথ
যখনই আমরা কোন অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের সাথে ইন্টারঅ্যাক্ট করতে চাই, তখন আমাদের অবশ্যই এই ইন্টারঅ্যাকশনের জন্য পাথ নির্দিষ্ট করতে হবে: একটি নোডের ডেটা মডেল হায়ারার্কিতে একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের অবস্থান। সতর্কতা হল যে পাথগুলি একসাথে একাধিক নোড বা ক্লাস্টারকে সম্বোধন করার জন্য গ্রুপ বা ওয়াইল্ডকার্ড অপারেটর ব্যবহার করতে পারে, এই ইন্টারঅ্যাকশনগুলিকে একত্রিত করে এবং এইভাবে ক্রিয়াগুলির সংখ্যা হ্রাস করে।
যোগাযোগের প্রতিক্রিয়াশীলতা বৃদ্ধির জন্য এই প্রক্রিয়াটি গুরুত্বপূর্ণ। উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী সমস্ত আলো বন্ধ করতে চান, তখন একটি ভয়েস সহকারী পৃথক ইন্টারঅ্যাকশনের ক্রম পরিবর্তনের পরিবর্তে একটি গ্রুপের মধ্যে একাধিক আলোর সাথে একক ইন্টারঅ্যাকশন স্থাপন করতে পারে। যদি ইনিশিয়েটর প্রতিটি আলোর সাথে পৃথক ইন্টারঅ্যাকশন তৈরি করে, তবে এটি ডিভাইসের প্রতিক্রিয়াশীলতায় মানুষের দ্বারা উপলব্ধিযোগ্য বিলম্ব তৈরি করতে পারে। এই প্রভাবের ফলে একাধিক ডিভাইস একটি কমান্ডের প্রতি প্রতিক্রিয়া দেখায় যার মধ্যে দৃশ্যমান বিলম্ব হয়। এটিকে প্রায়শই "পপকর্ন প্রভাব" বলা হয়।
নিচের বিকল্পগুলির মধ্যে একটি ব্যবহার করে একটি পাথ ইন Matter একত্রিত করা যেতে পারে:
<path> = <node> <endpoint> <cluster> <attribute | event | command>
<path> = <group ID>        <cluster> <attribute | event | command>
 এবং এই পাথ বিল্ডিং ব্লকের মধ্যে, endpoint এবং cluster মধ্যে একাধিক নোড ইনস্ট্যান্স নির্বাচন করার জন্য ওয়াইল্ডকার্ড অপারেটরও অন্তর্ভুক্ত থাকতে পারে।
সময়োপযোগী এবং সময়োপযোগী নয়
Write অথবা Invoke Transaction করার দুটি উপায় আছে: Timed এবং Untimed । Timed Transactions Write/Invoke Action পাঠানোর জন্য সর্বোচ্চ সময়সীমা নির্ধারণ করে। এই সময়সীমার উদ্দেশ্য হল লেনদেনের উপর Intercept আক্রমণ প্রতিরোধ করা। এটি বিশেষ করে সেই ডিভাইসগুলির জন্য প্রযোজ্য যা গ্যারেজ ওপেনার এবং লকগুলির মতো সম্পদগুলিতে অ্যাক্সেস প্রবেশ করে।
টাইমড লেনদেন বোঝার জন্য ইন্টারসেপ্ট আক্রমণ কীভাবে ঘটতে পারে এবং টাইমড লেনদেন কেন গুরুত্বপূর্ণ তা বোঝা দরকারী।
ইন্টারসেপ্ট আক্রমণ
একটি ইন্টারসেপ্ট আক্রমণের নিম্নলিখিত ধরণ থাকে:
- অ্যালিস ববকে একটি প্রাথমিক বার্তা পাঠায়, যেমন একটি লেখার অনুরোধ অ্যাকশন।
- ইভ, একজন মধ্যস্থ ব্যক্তি, বার্তাটি আটকে দেয় এবং ববকে তা গ্রহণ করতে বাধা দেয়, উদাহরণস্বরূপ, কোন ধরণের রেডিও জ্যামিংয়ের মাধ্যমে।
- ববের কাছ থেকে কোনও উত্তর না পেয়ে অ্যালিস দ্বিতীয় বার্তা পাঠায়।
- ইভ আবার বাধা দেয় এবং ববকে তা গ্রহণ করতে বাধা দেয়।
- ইভ প্রথম আটকানো বার্তাটি ববকে পাঠায়, যেন এটি অ্যালিসের কাছ থেকে আসছে।
- বব অ্যালিসকে (এবং ইভকে) উত্তর পাঠায়।
- ইভ দ্বিতীয় ইন্টারসেপ্টেড মেসেজটি ধরে রাখে পরবর্তী রিপ্লেয়ের জন্য। যেহেতু বব অ্যালিসের কাছ থেকে আসল দ্বিতীয় ইন্টারসেপ্টেড মেসেজটি কখনও পায়নি, তাই এটি এটি গ্রহণ করবে। এই মেসেজটি যখন "ওপেন লক" এর মতো একটি কমান্ড এনকোড করে তখন এটি একটি নিরাপত্তা লঙ্ঘনকে নির্দেশ করে।
এই ধরণের আক্রমণ প্রতিরোধ করার জন্য, টাইমড অ্যাকশনস লেনদেনের শুরুতে সর্বোচ্চ লেনদেনের সময়সীমা নির্ধারণ করে। এমনকি যদি ইভ আক্রমণ ভেক্টরের প্রথম ছয়টি ধাপ সম্পাদন করতে সক্ষম হয়, তবুও লেনদেনের মেয়াদ শেষ হয়ে যাওয়ার কারণে এটি ধাপ ৭-এ বার্তাটি পুনরায় চালাতে সক্ষম হবে না।
সময়োপযোগী লেনদেন জটিলতা এবং ক্রিয়াকলাপের সংখ্যা বৃদ্ধি করে। তাই প্রতিটি লেনদেনের জন্য এগুলি সুপারিশ করা হয় না, তবে কেবলমাত্র সেই ডিভাইসগুলিতে গুরুত্বপূর্ণ ক্রিয়াকলাপগুলির জন্য সুপারিশ করা হয় যেগুলির শারীরিক বা ভার্চুয়াল সুরক্ষা এবং গোপনীয়তা সম্পদের উপর নিয়ন্ত্রণ রয়েছে।
SDK বিমূর্তকরণ
"Read Transactions" , "Write Transactions" এবং "Invoke Transactions" বিভাগগুলি SDK দ্বারা সম্পাদিত ইন্টারঅ্যাকশন মডেল অ্যাকশনগুলির একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে।
Matter এসডিকে ব্যবহার করে এমন একটি পণ্য তৈরি করা ডেভেলপার সাধারণত অ্যাকশনগুলি সরাসরি কার্যকর করার জন্য কল করে না; অ্যাকশনগুলি SDK ফাংশন দ্বারা বিমূর্ত করা হয় যা এগুলিকে একটি ইন্টারঅ্যাকশনে অন্তর্ভুক্ত করবে। যাইহোক, ইঞ্জিনিয়ারকে Matter এর ক্ষমতা সম্পর্কে ভাল দক্ষতা প্রদানের জন্য, পাশাপাশি SDK বাস্তবায়নের উপর সূক্ষ্ম নিয়ন্ত্রণ প্রদানের জন্য IM অ্যাকশনগুলি বোঝা গুরুত্বপূর্ণ।