এম্বেড সফটওয়্যার ডিজাইন করা


11

আমি আরটিওএস ব্যবহার করে এমবেডেড সফ্টওয়্যার প্রোগ্রামিং শুরু করছি এবং যেহেতু আমি ইতিমধ্যে ডেস্কটপ অ্যাপ্লিকেশনগুলির জন্য বিকাশকারী, তাই আমি ভাবছিলাম যে ইউএমএল ডায়াগ্রামগুলি যেমন অ্যাক্টিভিটি ডায়াগ্রামগুলি, সিকোয়েন্স ডায়াগ্রামগুলি ব্যবহার করুন, ইত্যাদি ব্যবহার করে এম্বেডড সফ্টওয়্যারটি মডেল করা কেমন wond

ইউএমএল ব্যবহার করে এম্বেড সফটওয়্যারটি কি একইভাবে ডেস্কটপ অ্যাপ্লিকেশনগুলি তৈরি করে? এটি সেরা বিকল্প বা আরও ভাল একটি আছে? আমার কি কিছু উদাহরণ থাকতে পারে?

একটি নির্দিষ্ট সরঞ্জাম আছে যা এটি করে?


8
এম্বেড থাকা অ্যাপ্লিকেশনগুলি সম্পর্কে সুনির্দিষ্ট কিছু নেই। বিশেষ যা হ'ল রিসোর্স সীমাবদ্ধ অ্যাপ্লিকেশন , এর মধ্যে সীমাবদ্ধতাগুলির মধ্যে সর্বাধিক সাধারণ টাইমিং সীমাবদ্ধতা, উদাহরণস্বরূপ হার্ড রিয়েল টাইম প্রয়োজনীয়তা। আপনি যদি আপনার আবেদনের প্রয়োজনীয়তা সম্পর্কে আমাদের আরও জানান তবে আমরা আপনাকে একটি নির্দিষ্ট উত্তর দেওয়ার জন্য রক্তাক্ত হতে পারি।
ওয়াউটার ভ্যান ওইজেন

3
আমি রিসোর্স সীমাবদ্ধ অ্যাপ্লিকেশনগুলি সম্পর্কে @ ওউটারের মন্তব্যে সম্পূর্ণরূপে একমত, তবে আমি বিশ্বাস করি যে আরটিওএস বনাম একটি নরম-নির্ধারিত ডেস্কটপ বিকাশ পরিবেশ যেখানে ব্লকিং কলগুলি একটি স্বীকৃত অনুশীলন ব্যবহারের সাথে সম্পর্কিত সেখানে নির্দিষ্ট নকশার সূক্ষ্মতা রয়েছে।
হাইকঅনপাস্ট

1
এম্বেড থাকা ওভাররিঞ্জাইনারিং থেকে সাবধান থাকুন। আরও দেখুন "কিংস টোস্টার" ee.ryerson.ca/~elf/hack/ktoast.html
drxzcl

2
@drxzcl - অসম্মতি। প্রথমত, আমি মনে করি না যে স্থানের যোগ্য সফ্টওয়্যার ডিজাইন করার সময় আপনি খুব বেশি যত্ন নিতে পারেন । দ্বিতীয়ত, কিং এর টোস্টারে প্রকৌশলের দৃষ্টিভঙ্গি হ'ল কারণ এত রুটি পুড়ে গেছে। বেশিরভাগ টোস্টার খুব সাধারণ যা আসলে একটি অ-তুচ্ছ কাজ।
রকেটম্যাগনেট

1
@ ক্যাসিও: আমি এইটার সাথে ওউটারের সাথে আছি। আপনাকে সমস্যাটি নিজে বিশ্লেষণ করতে হবে এবং তারপরে আপনি যেটিকে উপযুক্ত মনে করছেন সিস্টেমটি ব্যবহার করে গুরুত্বপূর্ণ অংশগুলি ম্যাপ করুন। সমস্যাটি বিশ্লেষণ করার আগে একটি প্রতিনিধিত্ব বাছাই করার সমস্যাটি হ'ল সমস্যাটি আপনি কোনও নির্দিষ্ট উপায়ে দেখে আটকে যান। ইউএমএল এমন একটি উপস্থাপনা যা এর এন্টারপ্রাইজ সফ্টওয়্যারটির শিকড় রয়েছে এবং আপনি এন্টারপ্রাইজ সফ্টওয়্যার এর মতো এমবেডেড সফ্টওয়্যার ডিজাইনের প্রতি আকৃষ্ট হতে চান না।
drxzcl

উত্তর:


8

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

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

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


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

সর্বাধিক ঘন ঘন নির্মানগুলি যা আমি দেখি তা হ'ল স্টেট ডায়াগ্রাম / স্টেটচার্ট এবং সিকোয়েন্স ডায়াগ্রামগুলি প্রতিদিন ব্যবহারের জন্য। আমি সত্যই বলেছি যে আমরা ক্লাস ডায়াগ্রামগুলির থেকে আরও বেশি ব্যবহার করতে পারব, তবে আমি দেখতে পাচ্ছি যে লোকেরা কেবলমাত্র "godশ্বর বস্তু" তৈরির প্রবণতা রাখে। ওহ: আমি যে প্রতিষ্ঠানের কথা ভাবছিলাম তা হ'ল আর্টিজান সফটওয়্যার। এই লিঙ্কটি তথ্যপূর্ণ হতে পারে: werner.yellowcouch.org/Papers/rtuml/index.html#toc7
লিন্ডন

5

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

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

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

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


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

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

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

"বেশিরভাগ আরটিওএস কোনও বস্তু ভিত্তিক ভাষায় লেখা হয় না" প্রকৃতপক্ষে। তবে রিয়েল-টাইম মডেলিং এবং বাস্তবায়নের কোর্সের জন্য আমরা সি ++ এ একটি সাধারণ (অ-প্রাক-প্রাক-প্রিমিটিভ) আরটিওএস ব্যবহার করি।
ওয়াউটার ভ্যান ওইজেন

5

মডেলিং সব সম্পর্কে

  • আপনার আবেদনে কোন দিকটি কঠিন এবং জটিল তা জেনে,

  • সেই দিকের জন্য উপযুক্ত একটি মডেলিংয়ের সরঞ্জাম / ভাষা / বিমূর্ততা / সম্মেলন / স্বরলিপি সন্ধান করা

  • যে দিক নকশা

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


ধন্যবাদ @ ওয়াটার আপনি আমার জন্য একটি নতুন ধারণা চালু করেছেন: টাস্ক স্ট্রাকচার ডায়াগ্রাম, দুর্দান্ত! সুতরাং, এটি সি তে রয়েছে আপনার যদি ইউসকেসগুলি না করে সমস্ত প্রয়োজনীয়তা সহ একটি নথির কী দরকার?
ক্যাসিও

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

1

আমি স্থানের যোগ্য এমন কোনও জিনিস ডিজাইন করিনি। তবে আমি ডিপার্টমেন্ট অফ ডিফেন্সের জন্য কাজ করেছি (ডিওডি) এরোস্পেস সাবকন্ট্রাক্টর এবং আমার অনেকগুলি ডিজাইন ফ্লাইটের যোগ্য ছিল। তাদের আপনার ডিজাইনে প্রচুর ডকুমেন্টেশন প্রয়োজন এবং ডেটা আইটেম বিবরণ (ডিআইডি) সরবরাহ করে যা তারা ঠিক কী দেখতে চায়।

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

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.