شگفتی علمی سوره توحید از منظر شیءگرایی در مهندسی سیستمهای نرمافزاری
چکیده
منطق شیءگرایی نظریه ای با قدمت نیم قرن در مهندسی نرم افزار و علوم رایانشی است که صدها پژوهشگر به صورت مستقیم و هزاران پژوهشگر به صورت غیرمستقیم در تکوین و تکامل آن نقش داشته اند و جزء معدود بنیانهای نظری علمی در حیطه مهندسی سیستم های نرم افزاری است. بارزترین و مهمترین دستاوردهای شیءگرایی، اولا برنامه نویسی شیءگرا در زمینه فن پیاده سازی سیستم ها و در ثانی نمودار کلاس در زمینه مدلسازی سیستم هاست. منطق و رویکرد شیءگرایی (چه در برنامه نویسی شیءگرا و چه در مدلسازی شیءگرا) موفقیت خود را در زمینه ایجاد سیستمهای نرم افزاری به صورت مکرر و متواتر ثابت نموده است. شیءگرایی (مانند هر نظریه دیگر)، بر روی ستونها (یا اصول موضوعه ای) بنا شده است، مواردی مانند: انتزاع، توارث، مدلسازی ساختاری و مدیریت پیچیدگی. تمامی این ستونها و اصول موضوعه، به روشنی و صراحت، در سوره مبارکه توحید، جمع آمده است و می توان کل نظریه شیءگرایی را بر اساس سوره توحید، بازتوصیف نمود. فی الواقع یکی از ابعاد شگفتی علمی یا اعجاز علمی در سوره توحید، در بیان کردن تمامی اصول موضوعه لازم برای روش توصیف صفات، هویتها و روش تعریف معانی برای مدلسازی و توصیف انواع موجودیتها و سامانه هاست. در حدیثی از امام سجاد(ع) به امکان تعمق در آیات سوره توحید در آخرالزمان اشاره شده است. بر اساس برداشت علمی علامه طباطبائی (ره) از این حدیث شریف، در این مقاله پیشنهاد شده است که شاید یکی از مصادیق تعمق علمی در سوره توحید، تدبر در زمینه اعجاز علمی این سوره در زمینه علوم نرم افزاری و روش توصیف موجودیت ها و سیستم هاست.
واژگان کلیدی
اعجاز علمی قرآن کریم؛ شیءگرایی؛ مهندسی نرم افزار؛ سوره توحید؛ انتزاع؛ توارث؛ مدلساز
1. مقدمه
شیءگرایی[۱] یکی از معدود بنیانهای نظری مشترک و پذیرفته شده[۲] در زمینه مهندسی سیستمهای نرم افزاری رایانه ای (و حتی بعضا غیر رایانه ای) است. اگرچه تنها حدود نیم قرن از تاسیس و تکامل تدریجی این نظریه گذشته است، ولی می توان برخی ریشههای آن را به علوم منطق، معناشناسی، ریاضیات و روش فلسفی تحلیل مرتبط دانست. شیءگرایی یک رویکرد[۳] ، گفتمان[۴] و روش[۵] برای تحلیل، طراحی، ساخت و پیادهسازی[۶] سیستمهای نرم افزاری (برای کل چرخه حیات شامل ایجاد[۷] ، نگهداری و تکامل سیستم) است.
از منظر شیءگرایی، هر سیستم نرم افزاری از سنگ بناهایی به نام "شیء" درست شده است. این اشیاء هستند که سیستم را می سازند. اشیاء را می توان واحدهای معنادار انتزاعی[۸] یا تصوری دانست که هر کدام از این واحدها، دربرگیرنده بخشی از محتواهای سیستم (یا بخشی از تحقق و تصدیق سیستم) هستند. لذا مدل شیءگرایی (همانند ریاضیات جبری و منطق)، با پیوند دادن دو حوزهی "تصور و تصدیق" یا همان "انتزاع[۹] و پالایش[۱۰] " یا همان "اعلان[۱۱] و پیاده سازی[۱۲] "سروکار دارد. به دلیل وجه انتزاعی-تصوری-اعلانی خود، برای تحلیل سیستم بسیار مناسب است. به دلیل وجه پالایشی-تصدیقی-پیادهسازی خود، برای پیاده سازی سیستم هم بسیار مناسب است. چون هم وجه تحلیل و هم وجه پیاده سازی را توامان پوشش می دهد، برای طراحی سیستم ها هم بسیار مناسب است. در واقع نوعی نظریه انسجام بخش برای مراحل و جنبه های مختلف چرخه ایجاد و تکامل نرم افزار است. همانند هر نظریه خوشساخت دیگر، شیءگرایی بر روی چند ستون اساسی بنا شده است که از اهم آن می توان به انتزاع (کلاس ها و اشیاء)، توارث (شامل تخصیص[۱۳] و تعمیم[۱۴] (GenSpec))، مدلسازی ساختاری (مانند انواع روابط بین کلاس های اشیاء) و مدیریت پیچیدگی (مانند چندریختی[۱۵] و کلاس های واسط[۱۶] ) اشاره کرد.
با رویکرد تفسیر و تدبر علمی در آیات سوره مبارکه توحید، این نظریه قابل پیشنهاد است که تمامی این ستونها و اصول موضوعه، به روشنی و صراحت، در سوره مبارکه توحید، جمع آمده است و می توان کل نظریه شیءگرایی را بر اساس سوره توحید، بازتوصیف نمود. فی الواقع یکی از ابعاد شگفتی علمی یا اعجاز علمی در سوره توحید، در بیان کردن تمامی اصول موضوعه لازم برای روش توصیف صفات[۱۷] ، هویتها[۱۸] و روش تعریف معانی[۱۹] برای مدلسازی و توصیف انواع موجودیتها[۲۰] و سامانه هاست.
۲. پیشینه پژوهش
مطالعاتی وجود دارد که میان شیءگرایی و فلسفه صدرایی نگاشت برقرار کرده اند. از آنجائیکه فلسفه صدرایی، نوعی مطالعات تالهی است، و از آنجائیکه موضوع سوره توحید را می توان (به نوعی) تاله دانست، لذا این دسته از پژوهش ها به صورت ضمنی (و نه صریح) به موضوع این مقاله حاضر نزدیک شده اند. همچنین نظریاتی میان برخی از فقهای صدرایی (مانند علامه جوادی آملی) وجود دارد که علوم ریاضی و انتزاعی را با علوم توحید، به نوعی، مرتبط می دانند. این دست از نظریات هم همراستا با رویکرد این مقاله حاضر است. نظریه ای به نام "وضع الفاظ برای ارواح معانی" در میان فقهای صدرایی (منبعث از تفقه ایشان در اصول فقه) وجود دارد (مانند امام خمینی (ره)) که با رویکرد هستان نگاری و هستان شناسی و همچنین نحوه معناشناسی موجود در روش شیءگرایی دارای مشابهتهای جدی است. به دیگر سخن، قسمی از شیءگرایی و معناشناسی و هستان نگاری آن در قالب این نظریه منطقی-اصول فقهی صدرائیون، تجلی یافته است. پس نه تنها نویسندگان مقاله حاضر، بلکه پیشتر از ایشان، علمای صدرایی موفق به استنباط یک منطق دارای مشابهت با شیءگرایی از دل معارف توحیدی اسلام و مکتب امام صادق (ع) (یعنی اصول فقه) شده اند. پس استخراج منطق شیءگرایی از دل معارف توحیدی، اینگونه که عرض شد، مسبوق به سابقه است. برخی پژوهشگران میان آراء معناشناسی پاتنم (متفکر معاصر غربی-یهودی) با آراء برخی متالهان شرقی، شباهتهایی تشخیص داده اند. نظر به اینکه آراء پاتنم، بی ارتباط با روش معناشناسی در شیءگرایی نیست، می توان این یافته این پژوهشگران را در جهت رویکرد مقاله حاضر دانست.
از مرحوم علامه طباطبائی (ره) (که صاحب روش رئالیسم است و جالب اینکه شیءگرایی را دانشمندان فن، نوعی روش رئالیسمی می دانند) منقول است که کل معارف (اصولى و فروعى و اخلاقى) بر مبنای توحید قرآنی سوره توحید بنا شده است و می توان از محتوای سوره توحید آن ها را استنباط نمود. اگر روش رئالیسم علامه طباطبائی(ره) را بخشی از دیانت ایشان (یا مرتبط با آن دانست)، لذا می توان فرض کرد که از جمله اموری که از سوره توحید قابل استنباط است، روش رئالیسم است. این نزدیکترین رویکرد پیشین به رویکرد مقاله حاضر است.
۳. روش شناسی
در این مقاله ما به تحلیل مقایسه ای مفاهیم و محتوای سوره توحید با مفاهیم و محتوای اصول نظریه شیءگرایی می پردازیم و سپس ارتباط و اشتراکات مفهومی بین این دو سامانه محتوایی را تبیین می نماییم) این امر نوعی برقراری نگاشت بین مفاهیم و محتوای دو نظریه است و از این لحاظ در زمره مطالعات تحلیل و مدلسازی رسمی مفاهیم می گنجد(. از این رهگذر نتیجه می گیریم که مفاهیم و محتوای اصول نظریه شیءگرایی را می توان با محتوای سوره توحید، بازتوصیف نمود. لذا به نظر می رسد که اصول و مفاهیم بنیانی نظریه شیءگرایی برای تحلیل سیستم ها، در سوره توحید بیان شده است والله اعلم. ۴. یافته ها
از نص و مفاهیم آیه اول سوره مبارکه توحید می توان به مفهوم لفافه بندی[۲۱] که یکی از اصول شیءگرایی برشمرده می شود و همچنین مفهوم انتزاع که از اصول اساسی ریاضیات، علوم تجریدی و همچنین شیءگرایی به شمار می رود، دلالتیابی نمود. زنجیره دلالتیابی مفهومی بین نص آیه اول سوره مبارکه توحید و این مفاهیم در نمودار 1 آورده شده است. از نص و مفاهیم آیه دوم سوره مبارکه توحید، علاوه بر مفهوم لفافه بندی و همچنین مفهوم انتزاع، می توان به مفهوم فراهمآوری عملیات[۲۲] دلالتیابی نمود. زنجیره دلالتیابی مفهومی بین نص آیه دوم سوره مبارکه توحید و این مفاهیم در نمودار 2 آورده شده است.
مفهوم ارثبری[۲۳] و در پی آن چندریختی، در نمودار 3 از نص آیه سوم سوره مبارکه توحید دلالت یابی شده است. مفاهیم چندی[۲۴] ، چندریختی، ارتباط همنشینی[۲۵] و مدلسازی ساختاری[۲۶] از نص آیه چهارم سوره مبارکه توحید در نمودار 4 دلالت یابی شده است. همچنین لازم به ذکر است که انتزاع، چندریختی، ارثبری و مدلسازی ساختاری همگی نمونههایی از الگوهای مدیریت پیچیدگی هستند. لذا از طریق دلالتیابی این مفاهیم، می توان نهایتا مدیریت پیچیدگی را نیز دلالت یابی نمود.
نمودار (1): دلالت یابی برخی مفاهیم و اصول شیءگرایی از آیه اول سوره توحید.
نمودار (2): دلالت یابی برخی مفاهیم و اصول شیءگرایی از آیه دوم سوره توحید.
نمودار (3): دلالت یابی برخی مفاهیم و اصول شیءگرایی از آیه سوم سوره توحید.
نمودار (4): دلالت یابی برخی مفاهیم و اصول شیءگرایی از آیه چهارم سوره توحید.
۵. بحث و بررسی
همان طور که در بخش پیشین دیدیم، اصول و مفاهیم اساسی شیءگرایی (یعنی لفافهبندی، انتزاع، ارثبری، چندریختی، مدلسازی ساختاری و مدیریت پیچیدگی) را می توان از آیات سوره توحید با روش دلالتیابی، استخراج نمود. آیا دیگر جزئیات نظریات تالهی و توحیدی را نیز می توان با دیگر جزئیات شیءگرایی، مرتبط یافت؟ در این مجال به ذکر چند نمونه اکتفا می کنیم تا نشان دهیم که جزئیات دیگر نیز در این دو نظریه، با یکدیگر قابل ارتباط اند.
علم الله، امر الله، روح الله، خلق الله و. .. از مفاهیمی هستند که اگرچه منتسب به خداوند هستند ولی می توان آن ها را مستقلا نیز توصیف و ادراک نمود (ولو جزئی یا از طریق تجلیات آنها). شبیه این ساختار مفهومی، می توان به کلاسهای انتزاعی[۲۷] و واسطها[۲۸] در شیءگرایی اشاره نمود که جنبه ای قابل توصیف مستقل یا ادراک مستقل از یک شیء ارائه می کند که اگرچه تصدیقا بین آن جنبه و شیء، وحدت در ذات شیء وجود دارد (یعنی به نحوی یکپارچه درون شیء یا کلاس مربوطه پیاده سازی شده است)، ولی به صورت مستقل هم قابل تصور (و ارجاع) است. مثلا شیء کبوتر از کلاس پرنده، دارای واسطی به نام "پریدنی" است که اگرچه پیاده سازی آن (تصدیق آن) با ذات شیء کبوتر دارای وحدت است، اما تصورا می توان امضاء[۲۹] واسط "پریدنی" را توصیف نمود.
مثال دیگر، کلاس Object در زبان های شیءگرایی است که تمامی کلاس های دیگر، از آن مشتق شده اند. در مفاهیم توحیدی هم با مفهوم "امر واحده الهی" و "بسیطه الحقیقه کل الاشیاء" روبرو هستیم که تمامی اشیاء را از حیث حقیقت وجودی، یک خلق واحد الهی و هم سنخ می داند که "از واحد جز واحد صادر نمی شود". با لحاظ "رحمتی وسعت کل شیء"، می توان صفت الهی "رحمه الله" را به صورت یک کلاس تکین[۳۰] مدلسازی نمود که تحت فراخوانی دیگر اشیاء قرار می گیرد و از این طریق، اشیاء "نعمت" و "رزق" را در اختیار دیگر اشیاء قرار می دهد. فراخوانی تابع "دریافت" این شیء تکین، در تابع سازنده[۳۱] کلاس های دیگر (و دیگر توابع آنها) انجام می شود. اما جندالله را می توان به صورت یک کلاس انتزاعی دارای تعداد بسیار زیادی نمونه[۳۲] مدلسازی نمود.
از رهگذر این مدلسازی ها می توان به مدلسازی معارف اسلامی با شیءگرایی و همچنین مدلسازی مسائل جهان واقع[۳۳] با تکیه بر الگوها[۳۴] ، معماری ها و مدلهای منتزع از ساختارها و ساختمانهای ملکوت (بر اساس معارف اسلامی) پرداخت. یعنی به استنباط[۳۵] مدلها و الگوهایی از نظام پیچیده ملکوت (بر اساس معارف توحیدی و اسلامی) پرداخت و از آنها برای سازماندهی سیستم های پیچیده الهام گرفت. در علوم مهندسی معمول است که از طبیعت الگو می گیرند و می توان با تکیه بر معارف توحیدی، از ملکوت هم برای سازماندهی سیستم های مهندسی، الگو برداری کرد. در اینجا به سه نمونه اشاره می کنیم: مورد اول) در ادعیه صحیفه سجادیه هنگام فراخوانی و دعا به درگاه الهی، دعا معمولا با صلوات آغاز می شود. می توان از این موضوع الگو برداشت و یک روش یا الگوی جدید فراخوانی را برای سیستم های مهندسی نرم افزار و همچنین برنامه نویسی پیشنهاد نمود. به این نحو که هر مولفهی[۳۶] نرم افزاری یا هر شیء که می خواهد یک فراخوانی[۳۷] را انجام دهد، بایستی ابتدا یک بافت معنایی[۳۸] را مشخص کند که به آن پایبند[۳۹] است و علاوه بر متغیرها و بافت شامل ایشان، بایستی آن بافت معنایی که به آن پایبند است را نیز به مقصد فراخوانی معرفی یا ارسال نماید (مثلا از طریق ارسال یک هستان شناسی[۴۰] یا گراف دانش[۴۱] ). چنین الگو یا مدلی می تواند برخی از مشکلات و مسائل سیستم های نرم افزاری خصوصا در زمینه بررسی پایبندی[۴۲] را حل نماید. مورد دوم) نقش ولی الله الاعظم از نظر واسطه خیر و رحمت الهی بودن و جایگاه توسلی ایشان برای مومنین، می تواند الهام بخش یک معماری چندعاملی برای سیستم های پیچیده باشد. مورد سوم) زبان برنامه نویسی Reo [۴۳] که برای مدلسازی هماهنگی[۴۴] در سیستم های طراحی شده است ]9[، لایه پروتوکل کنترلی(امر) [۴۵] را از لایه پردازش داده ای (خلق) در سیستم های کامپیوتری هم روند[۴۶] جدا می کند. این تفکیک، کاملا مشابه با ساختار تفکیکی ملک و ملکوت و وظیفه ملائکه نسبت به دنیای مادی است. می توان از جزئیات معارف اسلامی پیرامون این تفکیک برای تکامل زبان Reo، الهام مهندسی گرفت.
۶. نتیجه گیری
در حدیثی از امام سجاد (ع) به امکان تعمق در آیات سوره توحید در آخرالزمان اشاره شده است[8]. بر اساس برداشت علمی فقهای صدرایی از این حدیث شریف می توان تصور نمود که مردمان متعمق آخرالزمان بتوانند نکاتی در تدبر و تفسیر سوره توحید بیابند که تا حدی جدید باشد. بر اساس روش تحلیل رسمی مفاهیم با کمک مدلسازی زنجیره دلالت مفاهیم، دیدیم که اصول و مفاهیم اساسی شیءگرایی (یعنی لفافهبندی، انتزاع، ارثبری، چندریختی، مدلسازی ساختاری و مدیریت پیچیدگی) را می توان از آیات سوره توحید با روش دلالتیابی، استخراج نمود. همچنین هم در ادبیات پیشین و هم در دو نمونه ای که در این مقاله ارائه شد، دیدیم که برخی از دیگر جزئیات نظریات متالهین (خصوصا صدرایی) با نظریه شیءگرایی دارای قرابت و ارتباط است.
پانویس و منابع
- ↑ Object Orientation
- ↑ De facto Standard
- ↑ Approach
- ↑ Paradigm
- ↑ Methodology
- ↑ Implementation
- ↑ Development
- ↑ Abstractions
- ↑ Abstraction
- ↑ Refinement
- ↑ Declaration
- ↑ Implementation
- ↑ Specialization
- ↑ Generalization
- ↑ Polymorphism
- ↑ Interfaces
- ↑ Attributes
- ↑ Identities
- ↑ Signature \ Definition
- ↑ Entities
- ↑ Encapsulation
- ↑ Operation
- ↑ Inheritance
- ↑ Multiplicity
- ↑ Association
- ↑ Structural Modeling
- ↑ Abstract Classes
- ↑ Interfaces
- ↑ Signature
- ↑ Singleton
- ↑ Constructor
- ↑ Instance
- ↑ Real World Problems
- ↑ Patterns
- ↑ Inspiration
- ↑ Component
- ↑ Method Call \ Function Call
- ↑ Semantic Context
- ↑ Compliance
- ↑ Ontology
- ↑ Knowledge Graph
- ↑ Compliance Checking
- ↑ Reo Coordination Language
- ↑ Coordination
- ↑ Control
- ↑ Concurrent
1. علامه طباطبائی، سید محمد حسین، المیزان فی تفسیر القرآن.
2. متولیان، محمد رضا، ایزدی، محمد، پروژه کارشناسی مهندسی نرم افزار، دانشگاه صنعتی شریف، 1390.
3. علامه جوادی آملی، منزلت عقل در هندسه معرفت دینی، انتشارات اسراء، 1395.
4. خمینی، سید حسن، مخبر، سیدمحمدحسن، صادقی، سیدمحمود، گوهر معنا: بررسی قاعده وضع الفاظ برای ارواح معانی، انتشارات اطلاعات، 1396.
5. اکبری تختمشلو، جواد، گلشنی، مهدی، رئالیسم درونی: جایگزین پاتنم برای رئالیسم متافیزیکی، متافیزیک، سال پنجم، پاییز و زمستان 1392، شماره 16.
6. عسکرى سلیمانى، ژرفنگران در حدیث امام سجاد(ع)، نقد و نظر، دوره 9، شماره 33-34، بهار 1385.