گومز

از ویکی‌پدیا، دانشنامهٔ آزاد

GOMS یک روش تخصصی و مشاهده‌ای جهت مدل پردازش اطلاعات انسانی برای تعامل بین انسان و کامپیوتر است که توصیف شناختی کاربر بوده و ساختار آن دارای چهار جزء است. در کتاب روانشناسی تعامل انسان کامپیوتر [۱] نوشته شده در سال ۱۹۸۳ توسط استوارت کی. کارت و توماس پی. مورن و آلن نیوول نویسندگان به معرفی این روش بر اساس مدل زیر تعریف شده است: «مجموعه‌ای از اهداف، مجموعه‌ای از کاربران، مجموعه‌ای از روشها برای دستیابی به اهداف، و مجموعه‌ای از قوانین انتخاب شده برای انتخاب میان رقابت روش برای اهداف.» GOMS به طور گسترده‌ای جهت کاربردپذیری استفاده می‌شود که توسط متخصصان برای طراحان سیستم کامپیوتری به دلیل آنکه یک سیستم پیشنهادی از نظر کیفی و کمی توسط مردم چگونه پیش‌بینی می‌شود.

بررسی اجمالی[ویرایش]

مفاهیم پشت یک مدل GOMS و روابط خود را

GOMS مرکب از روش‌های است که برای رسیدن به اهداف خاص استفاده می‌شود. این روشها سپس در سطوح پایین ترکیب می‌شوند. اپراتورها مراحل خاصی را انجام می‌دهند و اجرای هر کدام به زمان خاصی نیاز دارد. اگر یک هدف با بیش از یک روش بتواند انجام شود انتخاب قوانین برای تعیین روش مناسب استفاده می‌شود.

  • اهداف سازه‌های نمادین هستند که توسط شرایط به دست آمده و مشخص از مجموعه‌ای از روش‌های ممکن تعریف می‌شوند که ممکن است تکمیل شوند.
  • اپراتورها عناصر ادراکی، حرکتی یا شناختی هستند که عملی انجام می‌دهند. عمل آنها لازم است تا تغییر هر جنبه‌ای از وضعیت روانی کاربر یا برای تحت تأثیر قرار وظیفه محیط را باعث شود.
  • روش‌های توصیف یک روش برای دستیابی به یک هدف
  • ساختار کنترلی: انتخاب قوانین مورد نیاز هنگامی که یک هدف در حال اجرا است. ممکن است بیش از یک روش در دسترس برای کاربر برای به انجام رساندن آن وجود داشته باشد.

گونه‌های مختلفی از GOMS وجود دارد که اجازه می‌دهد برای جنبه‌های مختلف یک ارتباط مطالعه به دقت پیش بینی شود. برای تمام انواع تعاریف مفاهیم یکسان هستند. برخی انعطاف‌پذیری برای طراح/تحلیلگر تعریف از تمام اشخاص وجود دارد. مثلاً یک اپراتور در یک روش ممکن است یک هدف در روش‌های مختلف. سطح دانه‌دانه بودن تنظیم شده است را به تصرف آنچه خاص ارزیاب بررسی است. به صورت ساده و کاربردی مثال ببینید CMN-GOMS.

صلاحیت[ویرایش]

مزایای[ویرایش]

این GOMS رویکرد مدلسازی کاربر دارای نقاط قوت و نقاط ضعف است. در حالی که آن را نه لزوماً دقیق‌ترین روش برای اندازه‌گیری انسان و کامپیوتر رابط و تعامل آن اجازه می‌دهد تا دید همه رویه دانش است. با GOMS یک تحلیلگر می‌تواند به راحتی برآورد خاص تعامل و محاسبه آن را به سرعت و به آسانی. این ممکن است تنها اگر متوسط روش‌ها-زمان اندازه‌گیری داده‌ها برای هر یک وظیفه خاص است که قبلاً اندازه‌گیری شده است تجربی به درجه بالایی از دقت و صحت.[۲]

معایب[ویرایش]

GOMS تنها به ماهر کاربران است. آن کار نمی‌کند برای مبتدیان یا واسطه‌های خطا ممکن است رخ دهد که می‌تواند تغییر داده است.[۳] همچنین مدل صدق نمی‌کند به یادگیری سیستم یا یک کاربر با استفاده از این سیستم بعد از یک مدت طولانی از استفاده از آن نیست. یکی دیگر از نقطه ضعف بزرگ است که عدم وجود حساب اشتباهات حتی ماهر کاربران را از اشتباهات اما GOMS حساب نیست برای اشتباهات. بار ذهنی است نه خطاب در مدل‌های ساخت این غیرقابل پیش بینی متغیر است. همین امر به خستگی. GOMS تنها آدرس قابلیت استفاده از یک وظیفه در یک سیستم آن را نشانی قابلیت‌های آن است. کاربر شخصیت و عادات یا محدودیت‌های فیزیکی (برای مثال معلولیت) هستند نه کل در هر یک از مدل GOMS. همه کاربران در نظر گرفته بود دقیقاً همان. به تازگی برخی از الحاقات از GOMS توسعه داده شد است که اجازه می‌دهد به تدوین و فرموله کردن مدل GOMS توصیف تعامل رفتار کاربران غیرفعال شده است.[۴][۵][۶]

تغییرات[ویرایش]

اساساً وجود دارد چهار مدل GOMS: ضربه زدن به کلید-سطح مدل‌های CMN-GOMSهای NGOMSL و CPM-GOMS. هر مدل دارای یک پیچیدگی‌های مختلف و متفاوت در فعالیت‌های.

KLM[ویرایش]

این ضربه زدن به کلید-مدل سطح (KLM) اولین و ساده‌ترین GOMS روش استوارت کارتهای Thomas P. مورن و آلن نیوول ایجاد شده است. تخمین زمان اجرای یک وظیفه انجام می‌شود مثال این دنباله از اپراتورها و پس از آن در مجموع اعدام بار برای فرد اپراتورهای. با KLM تحلیلگر باید مشخص کنید این روش استفاده می‌شود برای به انجام رساندن هر کار خاص به عنوان مثال. بعلاوه مشخص شده روش محدود به بودن در توالی فرم حاوی تنها ضربه زدن به کلید-سطح ابتدایی اپراتورهای.

KLM اعدام بخش توضیح داده شده است در چهار جسمی-حرکتی اپراتور:

  • K keystroking/ keypressing
  • P با اشاره با ماوس به هدف
  • ثانیه خانگی دست بر روی صفحه کلید
  • D رسم یک پاره خط بر روی یک شبکه

یک روان اپراتور M که مخفف آن زمان یک کاربر به لحاظ ذهنی آماده‌سازی خود را برای انجام یک عمل و یک سیستم پاسخ اپراتور R با کاربر به صبر برای سیستم. زمان اجرای مجموع زمان صرف اجرای اپراتورهای مختلف انواع:

Tاجرای = TK + TP + TH + TD + TM + TRاست.

هر یک از این اپراتور دارای یک تخمین از زمان اجرای هر یک به ارزش یک پارامتر برآورد.

لمس سطح مدل (TLM)[ویرایش]

GOMS و آن گونه طراحی شده بودند برای صفحه کلید رابط امروزه نوع جدیدی از رابط کاربری است که در همه جا حاضر است. علاوه بر این به GOMS خانواده همراه با تغییرات موجود KLM اپراتور، است، به نام لمس سطح مدل (TLM). Andrew D. برنج و Jonathan W. Lartigue پیشنهاد این مدل برای استفاده به مدل انسان وظیفه عملکرد در یک محدود ورودی صفحه نمایش لمسی دستگاه و مناسب با الگوبرداری دقت پیش بینی کاربر واقعی عملکرد.[۷]

هدف این است که به ارائه یک ابزار برای تجزیه و تحلیل کمی از صفحه نمایش لمسی رابط. تعدادی از اپراتورهای اضافه شده برای صفحه نمایش لمسی تعاملات:

  • حواس پرتی (X) یک ضربی اپراتور است که به اپراتورهای دیگر به مدل واقعی جهان حواس او را پرت
  • ژست (G) حرکات مفهوم به عنوان تخصصی ترکیبی از حرکات انگشت در سراسر صفحه نمایش دستگاه
  • خرج کردن (P) اشاره به مشترک دو انگشت حرکت
  • زوم (الف) معکوس استفاده از خرج کردن اپراتور. ارزش در MS = 200 Ms
  • اولیه عمل می‌کنند (من) KLM فرض کاربر آماده است برای شروع یک اقدام دستگاه‌های صفحه نمایش لمسی نیاز کاربران به آنها را آماده برای استفاده (دکمه صفحه اصلی یا رمز عبور)
  • شیر (T) اپراتور اشاره به اقدام فیزیکی از بهره‌برداری از یک منطقه بر روی صفحه نمایش لمسی دستگاه به منظور آغاز برخی از تغییر یا اقدام
  • ضربه تند وشدید زدن (S) معمولاً به صورت افقی یا عمودی بکشید مانند تغییر صفحه در یک کتاب. ارزش در MS = Ms 70
  • شیب (L(d)) استفاده می‌شود با تعامل با دستگاه‌های مجهز به شتاب سنج است.
  • چرخش (O(d)) ژست، که در آن دو یا بیشتر از دو انگشت قرار داده شده بر روی صفحه نمایش و سپس چرخش در حدود یک نقطه مرکزی
  • کشیدن (D) شبیه به ضربه تند وشدید زدن کشیدن نیز شامل بهره‌برداری از یک محل بر روی صفحه نمایش و سپس حرکت یک یا چند انگشت در جهت خاص

CMN-GOMS[ویرایش]

CMN-GOMS اصلی GOMS مدل پیشنهاد شده توسط استوارت کارتهای Thomas P. مورن و آلن نیوول. CMN مخفف کارت مورن و Newell و آن طول می‌کشد KLM به عنوان اساسی خود را و می‌افزاید: subgoals و انتخاب قوانین. این مدل می‌تواند پیش بینی اپراتور به ترتیب به عنوان به خوبی به عنوان زمان اجرا. یک CMN-مدل GOMS می‌تواند در برنامه فرم ساخت آن متمایل به تجزیه و تحلیل و همچنین اعدام است. CMN-GOMS استفاده شده است برای کلمه مدل پردازنده و سیستم‌های CAD برای طراحی ارگونومیک (نگاه کنید به CAD).

CMN روش می‌تواند پیش بینی اپراتور توالی و زمان اجرای یک وظیفه در یک سطح کمی و می‌تواند به تمرکز توجه خود را بر روی روش‌های برای به انجام رساندن اهداف کیفی سطح. در مثال توسط بانی E. جان و دیوید E. Kieras ساده CMN-GOMS در ویرایش مقاله نشان داده شده است.

هدف: ویرایش مقاله

هدف: ویرایش-واحد-کار … تکرار تا زمانی که هیچ بیشتر وظایف واحد
هدف: به دست آوردن واحد وظیفه … اگر کار نمی یاد
هدف: تبدیل صفحه … اگر در پایان مقاله
هدف: گرفتن-از-مقاله
هدف: اجرای-واحد-کار … اگر یک واحد وظیفه پیدا شد
هدف:اصلاح متن
انتخاب: هدف: حرکت متن* … اگر آزمون به نقل مکان کرد
هدف: حذف عبارت … اگر یک عبارت است که به حذف
هدف: قرار دادن کلمه … اگر یک کلمه است که می‌تواند وارد
بررسی-ویرایش

NGOMSL[ویرایش]

NGOMSL یک ساختار طبیعی زبان نشانه گذاری برای نمایندگی GOMS مدل و روش ساخت آنها. این برنامه فرم فراهم می‌کند پیش بینی‌های اپراتور توالی زمان اجرا و زمان برای یادگیری روش. یک تحلیلگر سازه یک NGOMSL مدل با انجام یک بالا به پایین breadth-first گسترش کاربر سطح بالا اهداف به روش تا زمانی که این روش فقط شامل بدوی اپراتورها به طور معمول ضربه زدن به کلید-سطح اپراتورهای. این مدل به صراحت نشان دهنده هدف ساختار درست مثل CMN-GOMS و می‌توانید به نمایندگی‌های سطح بالا اهداف است.[۸] نشان داده شده در زیر یک مثال ساده است.

NGOMSL اظهارات
روش هدف: حرکت متن

مرحله ۱: انجام رساندن هدف: برش متن
مرحله ۲: انجام رساندن هدف: قرار دادن متن
مرحله ۳: بازگشت با هدف انجام

روش هدف: برش متن

مرحله ۱: انجام رساندن هدف: برجسته کردن متن
مرحله ۲: در حفظ این فرمان قطعو
انجام هدف: صدور فرمان
مرحله ۳: بازگشت با هدف انجام

و غیره.

CPM-GOMS[ویرایش]

بانی E. جان و دیوید Kieras توصیف چهار نوع مختلف از GOMS. CMN-GOMS, KLM و NGOMSL فرض کنیم که همه اپراتورها رخ می‌دهد در توالی و نه حاوی اپراتورها هستند که در زیر سطح فعالیت. CPM-GOMS بودن روش چهارم استفاده از اپراتورها در سطح مدل انسان پردازنده که فرض بر این است که اپراتورها از شناختی، ادراکی، و موتور پردازنده کار می‌تواند به صورت موازی به یکدیگر است. مهم‌ترین نقطه CPM-GOMS توانایی پیش بینی ماهر رفتار از توانایی خود را به مدل همپوشانی اقدامات است.[۹][۱۰]

زیر نشان داده شده است یک کپی ساده و رب،[۱۱]

هدف کپی و چسباندن متن

هدفاز کپی متن
هدفHIGHLIGH-متن
اپراتور حرکت مکان نما به آغاز
اپراتور کلیک کنید-MOUSE-BUTTON
اپراتور حرکت مکان نما به پایان
اپراتور SHIFT-CLICK-MOUSE-BUTTON
اپراتور بررسی-برجسته
هدف موضوع-کپی-فرمان
را انتخاب کنید*:
هدفUSE-MOUSE
اپراتور حرکت مکان نما-برای-ویرایش-منو
اپراتور پرس-MOUSE-BUTTON
اپراتور حرکت مکان نما-به-کپی-ITEM
اپراتور بررسی-برجسته
اپراتور آزادی-MOUSE-BUTTON
هدفاستفاده از صفحه کلید
اپراتور پرس-کلید-STRG
اپراتور پرس-کلید-C
اپراتور RELEASE-KEYS
هدف قرار دادن متن[...]

*قانون انتخاب برای هدف موضوع-کپی-فرمان
اگر دست-ها-در-صفحه کلید و سپس

انتخاب هدف با استفاده از صفحه کلید

دیگری

انتخاب هدف با استفاده از ماوس

GOMS و KLM[ویرایش]

بزرگترین تفاوت بین GOMS و KLM است که چگونه زمان اختصاص داده شده است به شناختی و ادراکی اپراتورهای وقتی که می‌آید به اعدام پیش بینی زمان. یکی دیگر از تفاوت‌های عمده‌ای است که هدف-سلسله مراتب است صریح و روشن در GOMS در حالی که آن را ضمنی در KLM. طبیعت unobservable اپراتورها یکی دیگر از تفاوت‌های مهم است. KLM تک M اپراتور است که قبل از هر شناختی واحد از عمل است. در مقابل، GOMS اختصاص هیچ وقت به چنین شناختی سربار. اما هر دو مدل عبارتند از: M-مانند اپراتورها به صورت قابل توجهی زمان مصرف روانی اقدامات مانند محل اطلاعات بر روی صفحه نمایش و تأیید نوشته است. هر دو روش اختصاص حدود همان زمان به unobservable ادراکی و شناختی فعالیت‌های. همچنین آنها را با فرضیات مختلف دربارهٔ unobservable شناختی و ادراکی اپراتورها و پس از توزیع زمان در راه‌های مختلف.[۱۲]

مفروضات و خطا[ویرایش]

اهمیت مفروضات در GOMS تجزیه و تحلیل[ویرایش]

دقیق مفروضات حیاتی در GOMS تجزیه و تحلیل. قبل از اعمال میانگین زمان دقیق توابع بسیار مهم است که یک آزمایش مطمئن شوید که او یا او اختصاص به عنوان متغیرهای بسیاری که ممکن است با استفاده از مفروضات است. آزمایشگران باید طراحی خود را GOMS تجزیه و تحلیل برای کاربرانی که به احتمال زیاد خواهد شد با استفاده از این سیستم است که در حال تجزیه و تحلیل است. در نظر بگیرید برای مثال در یک آزمایش آرزوها برای تعیین چه مدت آن را به یک F22 رپتور خلبان به ارتباط برقرار کردن با یک رابط او یا او را برای سال استفاده می‌شود. آن را احتمالاً می‌توان فرض کرد که خلبان برجسته چشم‌انداز است و در سلامت جسمی خوب است. علاوه بر آن می‌توان فرض کرد که خلبان می‌تواند ارتباط برقرار کردن با رابط به سرعت به دلیل وسیع ساعت شبیه‌سازی و استفاده قبلی او یا او را تحمل کرده است. همه چیز در نظر گرفته، این منصفانه است که به استفاده از fastman بار در این وضعیت. Contrarily در نظر بگیرید یک ۸۰ ساله به فردی با تجربه پرواز تلاش برای ارتباط برقرار کردن با همان F22 رپتور رابط. این منصفانه است که می‌گویند که دو نفر می‌توانست بسیار متفاوت مجموعه مهارت‌ها و کسانی که مجموعه مهارت باید برای محاسبه ذهنی.

حسابداری برای اشتباهات[ویرایش]

تنها راه به حساب اشتباهات در GOMS تجزیه و تحلیل برای پیش بینی که در آن خطا به احتمال زیاد به رخ می‌دهد و اندازه‌گیری زمان آن را برای اصلاح پیش بینی خطا است. برای مثال فرض کنیم یک آزمایش فکری است که در تایپ کلمه "" این احتمال وجود دارد که یک موضوع را به جای آن به اشتباه از نوع "teh." آزمایش محاسبه خواهد زمان آن طول می‌کشد به نوع کلمه نادرست زمان آن طول می‌کشد به رسمیت شناختن است که یک اشتباه ساخته شده است و زمان آن طول می‌کشد تا درست شناخته خطا.

برنامه‌های کاربردی از GOMS[ویرایش]

یک اجرای موفق از CPM-GOMS در پروژه Ernestine برگزار شده توسط New England تلفن. جدید ارگونومی در طراحی ایستگاه‌های کاری بودند در مقایسه با، ایستگاه‌های کاری از نظر بهبود در اپراتورهای تلفن' عملکرد. CPM-GOMS تجزیه و تحلیل حدود ۳ درصد کاهش در بهره‌وری است. بیش از چهار ماه محاکمه ۷۸٬۲۴۰ تماس بودند قرار گرفت و این نتیجه حاصل شد که ایستگاه‌های کاری تولید واقعی ۴٪ کاهش در بهره‌وری است. به عنوان پیشنهاد کاری مورد نیاز کمتر از کلید اصلی آن مشخص نیست از زمان محاکمات چرا کاهش رخ داده است. اما CPM-GOMS تجزیه و تحلیل آن ساخته شده آشکار است که مشکل این بود که کاری نمی استفاده از کارگران شل زمان. نه تنها CPM-GOMS به، برآورد، اما آن را به ارائه اطلاعات بیشتر از وضعیت.[۱۳]

CAD[ویرایش]

مدل GOMS شد در طراحی مجدد یک CAD (طراحی به کمک کامپیوتر) سیستم صنعتی ارگونومی.[۱۴] کاربردی GOMS مدل نشان می‌دهد که در آن رابط کاربری نیاز به طراحی دوباره و همچنین فراهم می‌کند یک بررسی مفاهیم طراحی و ایده‌های. در ریچارد گونگ's مثال زمانی که GOMS نشان مکرر هدف پشتیبانی بسیار ناکارآمد روش او تغییر روش به یک کارآمد تر. اگر GOMS نشان داد که اهداف پشتیبانی نمی‌شود با هر روشی در همه، پس از آن روش‌های جدید اضافه شد. GOMS همچنین نشان داد که در آن اهداف مشابه هستند پشتیبانی شده توسط متناقض روش یک وضعیت که در آن کاربران به احتمال زیاد به مشکلات به خاطر سپردن آنچه به انجام و نشان داد که چگونه به روش سازگار است.

نرم‌افزار ابزار[ویرایش]

وجود ابزارهای مختلف برای ایجاد و تجزیه و تحلیل Goms-مدل. انتخاب‌های ذکر شده در زیر:

  • QGoms (سریع-Goms)
  • CogTool KLM مبتنی بر ابزار مدل سازی
  • Cogulator شناختی ماشین حساب برای مدل GOMS

جستارهای وابسته[ویرایش]

  • انسان اطلاعات مدل پردازنده
  • KLM-GOMS
  • CMN-GOMS
  • NGOMSL
  • CPM-GOMS

منابع[ویرایش]

  1. Card, Stuart; Thomas P. Moran; Allen Newell (1983). The Psychology of Human Computer Interaction. Lawrence Erlbaum Associates. ISBN 0-89859-859-1.
  2. John, Bonnie E.; David E. Kieras (1996). The GOMS Family of User Interface Analysis Techniques: Comparison and Contrast. United States of America: ACM. doi:10.1145/235833.236054. ISSN 1073-0516.
  3. Rogers, Yvonne; Helen Sharp; Jenny Preece (2002). Interaction Design. United States of America: John Wiley & Sons. p. 454. ISBN 0-471-49278-7.
  4. Tonn-Eichstädt, H. (2005). Measuring website usability for visually impaired people – A modified GOMS analysis. In: ACM SIGACCESS Conference on Assistive Technology. New York: ACM Press. pp. 55–62. doi:10.1145/1168987.1168998.
  5. Schrepp, M. (2006).
  6. Card, Stuart; Thomas P. Moran; Allen Newell (1980). The keystroke-level model for user performance time with interactive systems. Lawrence Erlbaum Associates. doi:10.1145/358886.358895. ISBN 0-13-444910-X.
  7. Rice, Andrew D.; Jonathan W. Lartigue (2014). Touch-level model (TLM): evolving KLM-GOMS for touchscreen and mobile devices. ACM. doi:10.1145/2638404.2638532. ISBN 978-1-4503-2923-1.
  8. Kieras, David (1994). GOMS modeling of user interfaces using NGOMSL. ACM. doi:10.1145/259963.260467. ISBN 0-89791-651-4.
  9. John., Bonnie E.; Alonso Vera; Michael Mattesa (2002). Automating CPM-GOMS. ACM. doi:10.1145/503376.503404. ISBN 1-58113-453-3.
  10. John, Bonnie E; Wayne D. Gray (1995). CPM-GOMS: an analysis method for tasks with parallel activities. ACM. ISBN 0-89791-755-3.
  11. Voss, David (2010). Analyse, Evaluierung und Optimierung der intraoperativen Mensch-Maschine-Interaktion. Eberhard-Karls-Universität Tübingen. doi:10.1145/223355.223738.
  12. John, Bonnie E.; David E. Kieras (1996). Using GOMS for User Interface Design and Evaluation: Which Technique?. United States of America: ACM. doi:10.1145/235833.236050. ISSN 1073-0516.
  13. Empty citation (help)
  14. Gong, Richard; David Kieras (1994). A Validation of the GOMS Model Methodology in the Development of a Specialized, Commercial Software Application. ACM. doi:10.1145/191666.191782. ISBN 0-89791-650-6.

نسخه قبلی این مقاله تا حد زیادی یک کار مشتق شده از GOMS تکنیک‌های تجزیه و تحلیل نهایی مقاله (۱۹۹۷).

جستارهای وابسته[ویرایش]

Kieras, D. , John, B. , The GOMS Family of Analysis Techniques: Tools for Design and Evaluation, CMU-HCII-94-106, 1994

Judith Reitman Olson, Gary M. Olson: The Growth of Cognitive Modeling in Human-Computer Interaction Since GOMS, in: R. M. Baecker, J. Grudin, W. A. S. Buxton, S. Greenberg: Readings in Human-Computer Interaction: Towards the Year 2000. 1995, San Francisco, CA: Morgan Kaufmann. Card, S.K. ; Moran, T.P. ; Newell, A. (1983), The Psychology of Human-Computer Interaction, London: Lawrence Erlbaum Associates Card, Moran, Newell (1980). The Keystroke-Level Model for User Performance Time With Interactive Systems, Communications of the ACM, July, 23(7), 396-410. Reason, J. (1990), Human Error, Manchester: Cambridge University Press John, Bonnie E. (1995), Why GOMS?, ACM, ISSN 1072-5520 Kieras, David (1999), A Guide to GOMS Model Usability Evaluation using GOMSL and GLEAN3, Citeseer Gray, Wayne D (1993), Project Ernestine: Validating a GOMS Analysis for Predicting and Explaining Real-World Task Performance, ACM, ISSN 0737-0024 Haunold, Peter (1994), A Keystroke Level Analysis of a Graphics Application: Manual Map Digitizing, ACM