বুনন স্কিমা

বুনন স্কিমা

স্কিমা অন্তর্নিহিত ডেটা মডেলকে বর্ণনা করে যা একটি ওয়েভ সিস্টেমে লজিক্যাল বা ফিজিক্যাল ডিভাইস দ্বারা নির্গত ডেটার উপস্থাপনা এবং ব্যাখ্যা চালায়।

স্কিমা হল:

  • মানসম্মত — এতে কার্যকারিতার আনুষ্ঠানিকভাবে-অনুমোদিত সংজ্ঞা রয়েছে যা বাস্তবায়ন নির্বিশেষে একটি সামঞ্জস্যপূর্ণ ইন্টারফেস প্রদান করে। উদাহরণ স্বরূপ, স্কিমায় উপস্থাপিত একটি লাইট বাল্বের সর্বদা মূল কার্যকারিতা থাকবে যেমন অন/অফ অবস্থা এবং অ্যাকশন বা ম্লান হওয়ার মাত্রা।
  • কম্পোজেবল — একজন ব্যবহারকারী সু-সংজ্ঞায়িত কার্যকারিতার ছোট বিটের সমন্বয়ে জটিল সম্পদ তৈরি করতে পারে। উদাহরণস্বরূপ, একটি নেস্ট ডিটেক্টে দুটি ধরণের সেন্সর থাকে: গতি এবং খোলা/বন্ধ। এই ধরনের সেন্সরের কার্যকারিতা স্কিমাতে প্রমিত এবং ডিভাইস জুড়ে পুনরায় ব্যবহারযোগ্য।
  • এক্সটেনসিবল — একজন ব্যবহারকারী স্ট্যান্ডার্ড কার্যকারিতার কাস্টম এক্সটেনশন তৈরি করতে পারে। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট নিরাপত্তা অ্যাপ্লিকেশনের জন্য অতিরিক্ত কার্যকারিতা সহ স্কিমার স্ট্যান্ডার্ড মোশন সেন্সর কার্যকারিতা প্রসারিত করতে চাইতে পারেন।
  • সংস্করণ করা হয়েছে — স্কিমার সমস্ত পরিবর্তন ফরোয়ার্ড এবং পিছন দিকে সামঞ্জস্যের জন্য সংস্করণ করা হয়েছে।

স্কিমা তিনটি উপাদান সংজ্ঞায়িত করে: বৈশিষ্ট্য, ইন্টারফেস এবং সম্পদ। দৈনন্দিন কাজের জন্য নেস্ট ইকোসিস্টেমের প্রায় সমস্ত কার্যকারিতা স্কিমাতে সংজ্ঞায়িত করা হয়েছে। আসুন আরও গভীরে প্রতিটি উপাদানের উপর যান।

বৈশিষ্ট্য

একটি বৈশিষ্ট্য মৌলিক কার্যকারিতা একটি ইউনিট. সেগুলি ডিভাইসের সাধারণ অবস্থা বা ক্ষমতা হতে পারে, অথবা কনফিগারেশনের বর্ণনা দিতে পারে যা এর আচরণকে জানায়। একটি একক বৈশিষ্ট্য অনেক ডিভাইসে সাধারণ হতে পারে বা এক ধরনের ডিভাইসের জন্য নির্দিষ্ট।

উদাহরণস্বরূপ, স্কিমাতে আপনি নেস্ট ডিভাইসে ব্যবহারের জন্য নিম্নলিখিত বৈশিষ্ট্যগুলি সংজ্ঞায়িত করতে পারেন:

বৈশিষ্ট্য

ইন্টারফেস

আমরা বৈশিষ্ট্যগুলির সংমিশ্রণযোগ্যতাকে একত্রিত করে প্রসারিত করতে পারি, বিশেষ করে যদি একাধিক বৈশিষ্ট্য একটি নতুন, নির্দিষ্ট ফাংশনকে প্রতিনিধিত্ব করে। এই ধরনের বৈশিষ্ট্যের একটি গ্রুপকে ইন্টারফেস বলা হয়।

উদাহরণস্বরূপ, একটি ইন্টারকম ইন্টারফেসে স্পিকার এবং মাইক্রোফোন বৈশিষ্ট্যগুলি অন্তর্ভুক্ত থাকতে পারে:

বৈশিষ্ট্য এবং ইন্টারফেস

সম্পদ

একটি রিসোর্স একটি যৌক্তিক বা শারীরিক জিনিস উপস্থাপন করে। উদাহরণস্বরূপ, নেস্ট প্রোটেক্ট একটি সম্পদ। একজন নেস্ট গার্ডও তাই। অথবা একটি ব্যবহারকারী, বা একটি কাঠামো যেমন ব্যবহারকারীর বাড়ির.

সম্পদগুলি এমন বৈশিষ্ট্যগুলির একটি সেট নিয়ে গঠিত যা তাদের কনফিগারেশন, অবস্থা এবং ক্ষমতাকে আবদ্ধ করে।

সম্পদ, ইন্টারফেস এবং বৈশিষ্ট্যের মধ্যে সম্পর্ক এইরকম দেখায়:

সম্পদ, ইন্টারফেস, এবং বৈশিষ্ট্য

আপনি দেখতে পাচ্ছেন, কিছু বৈশিষ্ট্য, যেমন মোশন বৈশিষ্ট্য, বিভিন্ন সংস্থানের জন্য সাধারণ। এবং কিছু ইন্টারফেস, যেমন ইন্টারকম ইন্টারফেস, বিভিন্ন সংস্থানগুলির জন্যও সাধারণ। বৈশিষ্ট্য, ইন্টারফেস এবং সংস্থানগুলি একবার স্কিমাতে সংজ্ঞায়িত করা হয় এবং ওয়েভ সিস্টেমে বিভিন্ন সংস্থান এবং ডিভাইসগুলিতে পুনরায় ব্যবহার করা হয়।

বৈশিষ্ট্য উপাদান

বৈশিষ্ট্যগুলি আরও তিনটি প্রাথমিক উপাদানে বিভক্ত: বৈশিষ্ট্য, আদেশ এবং ঘটনা। আসুন প্রতিটি বৈশিষ্ট্যের উপাদানের উদাহরণ দেখি।

বৈশিষ্ট্য

বৈশিষ্ট্য একটি বৈশিষ্ট্য রাষ্ট্র প্রতিনিধিত্ব. বৈশিষ্ট্যগুলি হয় পঠন-লেখা বা শুধুমাত্র-পঠন।

উদাহরণ স্বরূপ:

  • সফ্টওয়্যার সংস্করণ ডিভাইস আইডেন্টিটি বৈশিষ্ট্যের একটি সম্পত্তি। এটি একটি সাধারণ বৈশিষ্ট্য যা বেশিরভাগ ডিভাইসে থাকে। নেস্ট থার্মোস্ট্যাট, ক্যামেরা এবং প্রোটেক্টস—এসবগুলিরই নিজস্ব নির্দিষ্ট সফ্টওয়্যার সংস্করণ রয়েছে।
  • বোল্ট স্টেট হল বোল্ট লক বৈশিষ্ট্যের একটি সম্পত্তি, কিন্তু ইয়েল x নেস্ট লকের মতো একটি ডিভাইসের জন্য নির্দিষ্ট। উদাহরণস্বরূপ, আপনি নেস্ট থার্মোস্ট্যাটে একটি বোল্ট লক খুঁজে পাবেন না।

কমান্ড

কমান্ড হল প্রত্যাশিত প্রতিক্রিয়া সহ একটি বৈশিষ্ট্যের কর্মের জন্য বৈশিষ্ট্য-নির্দিষ্ট কাস্টম অনুরোধ । এগুলিকে সাধারণত কাস্টম কমান্ড বলা হয় এবং বৈশিষ্ট্যগুলির জন্য নির্দিষ্ট অবস্থার পরিবর্তনগুলিতে প্রসারিত করা যেতে পারে। উদাহরণ স্বরূপ:

  • বোল্ট লক পরিবর্তন একটি কাস্টম কমান্ড যা বোল্ট লক বৈশিষ্ট্যের বোল্ট স্টেট বৈশিষ্ট্য পরিবর্তন করে।
  • ব্যবহারকারী পিনকোড সেট করুন একটি কাস্টম কমান্ড যা ব্যবহারকারী পিনকোড সেটিংস বৈশিষ্ট্যের একটি নতুন ব্যবহারকারী পিনকোড বৈশিষ্ট্য তৈরি করে বা আপডেট করে।

ঘটনা

ইভেন্ট হল একটি বৈশিষ্ট্যের ঘটনার রেকর্ড । তারা একটি গ্রাহককে বৈশিষ্ট্য বৈশিষ্ট্যের পরিবর্তন বা অন্য কোন ধরনের ঘটছে, যেমন একটি সিস্টেম রিসেট সম্পর্কে অবহিত করে।

উদাহরণস্বরূপ, বোল্ট লক বৈশিষ্ট্যের বোল্ট অ্যাকচুয়েটর স্টেট চেঞ্জ ইভেন্টটি একজন গ্রাহককে একাধিক বোল্ট লক বৈশিষ্ট্যের বর্তমান অবস্থা সম্পর্কে জানায়, সেইসাথে অভিনেতা যিনি সর্বশেষ বোল্ট অ্যাকচুয়েটর স্টেট সম্পত্তির পরিবর্তন ঘটিয়েছিলেন। এই সমস্ত তথ্য একটি একক ইভেন্ট হিসাবে বিতরণ করা হয়.

বুনা স্কিমা বর্ণনা ভাষা

ওয়েভ-এর স্কিমা বৈশিষ্ট্য, ইন্টারফেস এবং সংস্থানগুলি একটি ডোমেন-নির্দিষ্ট ভাষা (DSL) ব্যবহার করে সংজ্ঞায়িত এবং বর্ণনা করা হয় যা Google Protocol Buffers v3-এর সিনট্যাক্সকে কাজে লাগায়। এই ভাষাটিকে বলা হয় ওয়েভ স্কিমা বর্ণনা ভাষা (WDL)

WDL একটি কম্পাইলারের মাধ্যমে চালিত হয় যা বিভিন্ন প্ল্যাটফর্ম-নির্দিষ্ট উপলব্ধি এবং এনকোডিং তৈরি করে। উত্পন্ন কোডের ধরন সম্পদের উপর নির্ভর করে:

  • অবজেক্টিভ-সি, সুইফট, জাভা, স্কালা — মোবাইল অ্যাপস এবং ক্লাউড পরিষেবা
  • ওয়েভ TLV এনকোডিং সহ C++ — এম্বেড করা ডিভাইস এবং মোবাইল অ্যাপ

আমরা পরে WDL উদাহরণগুলি আরও গভীরভাবে অনুসন্ধান করব।

রিক্যাপ

আপনি যা শিখেছেন:

  • স্কিমা একটি ওয়েভ সিস্টেমের অন্তর্নিহিত ডেটা মডেল বর্ণনা করে।
  • স্কিমা তিনটি উপাদান সংজ্ঞায়িত করে:
    • বৈশিষ্ট্য মৌলিক কার্যকারিতা একটি একক
    • ইন্টারফেস বৈশিষ্ট্যের একটি গ্রুপ যা একটি নতুন, নির্দিষ্ট ফাংশন উপস্থাপন করে
    • রিসোর্স একটি যৌক্তিক বা শারীরিক জিনিস
  • বৈশিষ্ট্য বৈশিষ্ট্য, আদেশ, এবং ঘটনা গঠিত:
    • সম্পত্তি একটি সম্পদ বৈশিষ্ট্য অবস্থা
    • কমান্ড একটি বৈশিষ্ট্যের কর্মের জন্য কাস্টম অনুরোধ
    • ইভেন্ট একটি বৈশিষ্ট্যের ঘটনার রেকর্ড
  • স্কিমাটি Weave Schema Description Language (WDL) ব্যবহার করে সংজ্ঞায়িত করা হয়েছে, যা Google Protocol Buffers v3 এর উপর ভিত্তি করে

আরও গভীরতর তথ্যের জন্য, দেখুন: