تحقیقات ما بر ایجاد یک متا مدل برای تولید یک برنامه نقشه برداری وب متمرکز است. برای توسعه دهندگان غیر ژئوماتیک دشوار بود که یک برنامه نقشه برداری وب را پیاده سازی کنند. در واقع، این نوع برنامه از داده های مکانی استفاده می کند که به مهارت های ژئوماتیک نیاز دارد. به همین دلیل، به منظور کمک به توسعه دهندگان غیر ژئوماتیک برای راه اندازی یک برنامه نقشه برداری وب، ما یک مدل متا طراحی کرده ایم که به طور خودکار یک برنامه نقشه برداری وب را با استفاده از مهندسی مدل محور تولید می کند. متا مدل ایجاد شده توسط توسعه دهندگان غیر ژئوماتیک برای نوشتن صریح نحو بتن خاص برنامه نقشه برداری وب با استفاده از ابزار xtext استفاده می شود. این نحو بتن به طور خودکار با استفاده از ابزار xtend بدون دخالت توسعه دهندگان غیر ژئوماتیک به کد منبع تبدیل می شود.
کلید واژه ها
نقشه برداری وب ، مهندسی مدل محور ، معماری مدل محور ، متا مدل ، WebGis ، GIS
1. مقدمه
تکامل فناوری همیشه ابزارهای قدرتمندتری را به خصوص در زمینه پردازش اطلاعات و به طور دقیق تر در پردازش داده های مکانی-زمانی به ارمغان می آورد. در میان زمینههای استفاده از تکنیک پردازش دادههای مکانی، یک ابزار بسیار پیچیده بهترین استفاده را دارد: سیستم اطلاعات جغرافیایی و دقیقتر نقشهبرداری آنلاین یا نقشهبرداری وب [ 1 ].
هر بار که کاربر، بهطور دقیقتر تصمیمگیرنده، میخواست اطلاعات مکانی مربوط به یک دامنه خاص را داشته باشد، موظف بود با یک زمینشناس، یعنی هم توسعهدهنده و هم متخصص سیستمهای اطلاعات جغرافیایی تماس بگیرد. بنابراین، کاربر، خواه دانشمند کامپیوتر، جغرافی، توپوگرافی یا جغرافیدان باشد، حتی اگر متخصص ژئوماتیک نباشد، به ابزاری برای توسعه یا تولید خودکار یک برنامه نقشهبرداری وب نیاز دارد. بنابراین، این تحقیق در تداوم کار قبلی در مورد تولید پلتفرم WebGis توسط دی مارتینو [ 2 ] و Ceri [ 3 ] است.] . به عبارت دیگر، ما به یک مدل منحصر به فرد برای پیاده سازی برای تولید هر برنامه نقشه برداری وب نیاز داریم. در این زمینه است که این مقاله اعمال می شود، ما علاقه مند به ایجاد یک متا مدل برای تولید یک برنامه نقشه برداری وب هستیم.
برای ایجاد یک متا مدل، ما بهویژه به مهندسی مدلمحور و بهطور دقیقتر به معماری MDA یا Model Driven Architecture فکر میکنیم [ 4 ]. بنابراین، ابتدا شاهد وضعیت هنر مهندسی مدل محور خواهیم بود، سپس وضعیت هنر نقشه برداری وب. سپس آزمایش هایی را که با استفاده از ابزارها و چارچوب های مختلف انجام داده ایم و به دنبال آن یک پیشنهاد راه حل خواهیم دید. در نهایت نتایج به دست آمده در چارچوب این تحقیق را ارائه خواهیم کرد.
2. زمینه و مسائل
از اواخر قرن بیستم تا به امروز، برای یک توسعهدهنده غیر ژئوماتیک یا یک کاربر ساده، راهاندازی یک برنامه نقشهبرداری آنلاین مخصوص دامنه برای تجسم دادههای مکانی به صورت آنلاین دشوار بود. به محض اینکه یک دامنه نیاز به یک برنامه کاربردی داشت، تصمیم گیرنده موظف بود یک متخصص ژئوماتیک را استخدام کند که هم فناوری سیستم اطلاعات جغرافیایی را برای پردازش داده های مکانی و هم اطمینان از یکپارچگی داده ها برای پیاده سازی می دانست و سپس باید از توسعه رایانه مطلع باشد. با بسیاری از ابزارهای پیاده سازی نقشه وب.
همانطور که در شکل 1 نشان داده شده است ، بسیاری از متخصصان در پیاده سازی یک برنامه نقشه برداری وب با مشکلاتی روبرو بودند زیرا به دانش سیستم های اطلاعات جغرافیایی و پیشینه خوب در علوم کامپیوتر، به ویژه در توسعه برنامه ها نیاز دارد.
در این دو زمینه مختلف، از یک طرف، توسعه مجدد یک برنامه نقشه برداری وب و از طرف دیگر، انتخاب ابزارهای پیاده سازی، می توانیم این مشکل را فرموله کنیم: چگونه توسعه یک برنامه نقشه برداری وب را با در نظر گرفتن تمام مفاهیم مدل سازی کنیم. ? به عبارت دیگر نحوه ایجاد یک
شکل 1 . کاربران یک برنامه نقشه برداری وب
زبان اختصاصی با متا مدل به طوری که همه کاربران بتوانند با پیاده سازی یک مدل به راحتی یک برنامه نقشه برداری وب ایجاد و تولید کنند.
در واقع این مقاله به منظور تولید ابزاری برای تولید خودکار یک اپلیکیشن نقشه برداری وب با در نظر گرفتن تمامی مفاهیم لازم ساخته شده است. نتیجه این تحقیق باید به همه کاربران ذکر شده در شکل 1 اجازه دهد تا به راحتی یک برنامه نقشه برداری پویا را توسعه دهند یا حتی تولید کنند.
3. روش شناسی
هدف از این سند راه اندازی یک مدل متا است که امکان تولید خودکار یک برنامه نقشه برداری وب را بدون نگرانی در مورد زبان های توسعه و چارچوب های مختلف موجود فراهم می کند. روش مورد استفاده مبتنی بر آزمایش و مهندسی مدل محور است. رویکرد ما با برخی آزمایشها در توسعه یک برنامه نقشهبرداری وب که تجربه کردهایم شروع میشود. از این آزمایشها، به عقب برمیگردیم و توسعه این برنامهها را تعمیم میدهیم و مفاهیم مورد نیاز برای ایجاد متا مدل خود را شناسایی میکنیم. اما قبل از شروع این آزمایش ها، خواهیم دید که نقشه وب چیست.
3.1. نقشه برداری وب
نقشه برداری وب یک اصطلاح عمومی است که هم فرآیند توزیع نقشه ها از طریق شبکه ای مانند اینترنت یا اینترانت و هم مشاهده آنها در مرورگر را تعریف می کند. به عبارت دیگر می توان آن را وب GIS نامید.
نقشه کشی به ایجاد و مطالعه نقشه ها اشاره دارد. مجموعه ای از تکنیک های مورد استفاده برای تولید نقشه ها را بسیج می کند [ 5 ]. کارتوگرافی یکی از ابزارهای ممتاز برای تجزیه و تحلیل و ارتباط در جغرافیا است. برای درک بهتر فضا، قلمروها و مناظر استفاده می شود. همچنین در علوم مرتبط، جمعیت شناسی و اقتصاد به منظور پیشنهاد خواندن فضایی از پدیده ها استفاده می شود.
کارتوگرافی آنلاین نیازهای واقعی برای انتشار سریع اطلاعات و به روز رسانی از راه دور داده ها را برآورده می کند [ 6 ]. اگرچه نتیجه نقشهکشی اجازه میدهد تا درک فضای اطراف را تسهیل کند، پیادهسازی چنین پلتفرمهایی نیاز به مهارتهای عرضی هم در علوم کامپیوتر و هم در جغرافیا دارد. شکل 2 اصل اساسی نقشه برداری اینترنتی را نشان می دهد.
معماری برنامه نقشه برداری وب
معماری برنامه نقشه برداری وب تقریباً شبیه معماری یک برنامه وب است. جدا از وب سرور، سرور داده و کلاینت تنها تفاوت وجود سرور نقشه به همراه کانکتورهای wms، wfs و wcs است که در شکل 3 نشان داده شده است.
3.2. آزمایشات
رویکرد ما مبتنی بر تجربهای است که در توسعه برنامههای نقشهبرداری وب داشتیم، به همین دلیل آزمایشهای خاصی را در زمینه توسعه برنامههای نقشهبرداری وب ارائه خواهیم کرد.
شکل 2 . اصل نقشه برداری اینترنتی
شکل 3 . معماری برنامه نقشه برداری وب
3.2.1. نقشه برداری وب ROAD-M
این سیستم کاربردی نقشه برداری آنلاین برای مدیریت و نمایش داده های راه و سازه پس از بررسی میدانی و همچنین تجزیه و تحلیل این داده های نقشه برداری برای تسهیل بهتر تصمیم گیری راه اندازی شده است. بنابراین، این پروژه نقشه برداری نشان داده شده در شکل 4 برای کمک به پردازش شبکه های جاده ای در ماداگاسکار [ 7 ] متولد شد.
3.2.2. نقشه برداری وب سایت Cent
وبنگاشت Cenit برنامهای است که برای پردازش نتایج انتخابات در ماداگاسکار از طریق سیستم پشتیبانی تصمیمگیری نقشه وب استفاده میشود. این کار منجر به یک برنامه کاربردی شده است که امکان تصمیم گیری برای جمع آوری نتایج انتخابات در مراکز رای گیری در رابطه با مرکز انتخابات ناحیه را فراهم می کند. شکل 5 صفحه اصلی برنامه نقشه برداری وب cenit را نشان می دهد.
3.2.3. ترموگرافی هوایی
ترموگرافی هوایی در شکل 6 یک ابزار تشخیصی بود که امکان تجسم اتلاف حرارت از طریق سقف ها را فراهم می کند. هدف نظارت بر تلفات انرژی از طریق پشت بام ها به منظور افزایش آگاهی افراد، مشاغل و مجتمع های مسکونی در مورد نیاز فوری به عایق کاری خانه ها یا ساختمان هایشان است.
در اصل، برای توسعه یک برنامه نقشه برداری وب، فایل های برنامه همگی با تمام ماژول ها ارائه می شوند. بنابراین کار توسعه دهندگان تنظیم و پیکربندی سه فایل اصلی، یعنی: Mapfile، Mapbook و Framework است.
شکل 4 . صفحه اصلی نقشه برداری ROAD-M.
شکل 5 . نقشهبرداری وب CENI-T، ناحیه موردی Ambohimahasoa ماداگاسکار.
شکل 6 . ترموگرافی هوایی Crepy en Valois.
Mapfile قلب برنامه نقشه برداری است، روابط بین اشیاء را تعریف می کند، به سرور می گوید که داده ها در کجا قرار دارند و نحوه ترسیم چیزها را تعریف می کند [ 8 ].
سند mapbook یک فایل XML است که به عنوان یک فایل پیکربندی برای یک برنامه استفاده می شود. برای پیکربندی مواردی مانند منابع نقشه، لایهها، سرویسها و ابزارهای برنامه استفاده میشود.
فایل فریمورک برای پیکربندی ماژول ها، زبان ها، روش ها و اجزای رابط نصب شده استفاده می شود.
بنابراین ما باید هر یک از این 3 مفهوم را مدل کنیم. برای انجام این کار، از مهندسی مدل محور [ 9 ]، به طور دقیق تر از رویکرد معماری مدل محور [ 4 ] استفاده خواهیم کرد.
3.3. مهندسی مدل محور
Model Driven Engineering مدلسازی برنامههای کاربردی را در سطح بالایی از انتزاع پیشنهاد میکند و مدل را در قلب فرآیند طراحی قرار میدهد و سپس به طور خودکار کد برنامه را از مدلها تولید میکند.
در تداوم اصل در دهه 80 که «همه چیز شی است»، ایجاد نرم افزار به سمت مهندسی مدل محور [ 8 ] و اصل «همه چیز مدل است» پیش می رود. این رویکرد جدید را می توان هم در تداوم و هم در گسست با کارهای قبلی در نظر گرفت [ 9 ] [ 10 ].
در حال حاضر، بیشترین استفاده از رویکردهای مهندسی مدل محور MDA [ 11 ]، EMP [ 12 ]، نرم افزار فاکتوریل [ 13 ]، AToM3 [ 14 ]، KM3 [ 15 ] و Kermeta [ 16 ] است. در میان این رویکردهای IDM، ما نگاهی دقیق تر به رویکرد MDA خواهیم داشت [ 17 ].
MDA به دلیل پیچیدگی فزاینده سیستم های اطلاعاتی و هزینه های بالای مهاجرت تکنولوژیک متولد شد. یکی از ابتکارات عمده ای که از طریق آن گروه مدیریت شیء به این هدف دست می یابد، ارتقای معماری مدل محور (MDA) به عنوان یک چارچوب معماری برای توسعه نرم افزار است. این چارچوب بر روی تعدادی از مشخصات دقیق OMG ساخته شده است که به طور گسترده توسط جامعه توسعه استفاده می شود [ 4 ].
در سال 2001، OMG معماری مدل محور را به عنوان رویکردی برای استفاده از مدل ها در توسعه نرم افزار پذیرفت. سه هدف اصلی آن عبارتند از قابلیت حمل، قابلیت همکاری و قابلیت استفاده مجدد از طریق جداسازی معماری نگرانی ها. یکی از جنبه های اساسی MDA توانایی آن برای پرداختن به کل چرخه عمر توسعه است که شامل تجزیه و تحلیل و طراحی، برنامه نویسی، آزمایش، مونتاژ اجزا و استقرار و نگهداری می شود [ 18 ] [ 19 ].
OMG چهار مدل استاندارد را در راهنمای خود در مورد MDA تعریف می کند که در شکل 7 [ 20 ] نشان داده شده است:
• CIM: CIM مخفف Computation Independent Model است.
• PIM: اصطلاح PIM مخفف Platform Independent Model است.
• PSM: PSM مخفف Platform Specific Model است.
• PDM: مخفف PDM مخفف Platform Description Model است.
4. مدل سازی و نتایج
برای رسیدن به هدف خود، ابتدا مفاهیم لازم برای تولید یک برنامه نقشه برداری وب را مدلسازی می کنیم و سپس متا مدل نهایی را پیشنهاد می کنیم.
شکل 7 . نمونه ای از استفاده از مدل های MDA برای ساختن یک برنامه کاربردی [ 12 ].
4.1. مدل سازی سه مفهوم بر اساس Mda
بر اساس رویکرد MDA، سه مفهوم ارائه شده عبارتند از:
• یک متا مدل برای تولید یک فایل نقشه بوک ( شکل 8 ).
• یک متا مدل برای تولید یک نقشه فایل ( شکل 9 ).
• یک متا مدل برای تولید یک فایل چارچوب ( شکل 10 ).
رابطه بین این متامدل ها به این صورت است که وقتی یک نقشه فایل تولید می کنیم، باید یک فایل نقشه بوک برای خواندن این فایل تولید کنیم و تولید یک فایل فریم ورک مستقل از تولید این دو فایل است، اما باید محتوای فریمورک را بسازیم. فایل همزمان با داده های wms یک سرور.
بنابراین پیشنهاد در شکل 11 نشان داده شده است.
اولین (1) مربوط به متا مدلی است که ما برای تولید فایل نقشه بوک تنظیم کرده ایم ( شکل 8 )، سپس مدل دوم (2) متا مدل برای تولید فایل های نقشه فایل است ( شکل 9). ) و در نهایت مورد سوم (3) برای تولید فریمورک و فایل های پیکربندی ضروری است ( شکل 10 ). آنها توسط لایه ها به یکدیگر متصل می شوند.
4.2. مثال کاربردی
متا-مدل ایجاد شده برای نوشتن صریح نحو مشخص مخصوص برنامه نقشه برداری وب با استفاده از ابزار xtext استفاده می شود:
شکل 8 . مفهوم نقشه بوک.
شکل 9 . مفهوم نقشه فایل
شکل 10 . مفهوم چارچوب پیکربندی
شکل 11 . متا مدل پیشنهادی
;
این نحو مشخص به طور خودکار با استفاده از xtend به کد منبع تبدیل می شود:
ژنراتور XTend به طور خودکار فایل های پیکربندی را برای برنامه نقشه برداری وب ما تولید می کند. این تست بر روی اپلیکیشن نقشه برداری وب Road-m (آزمایش 3.2.1) انجام شد و توانستیم تمامی فایل های لازم برای این اپلیکیشن را تولید کنیم. این گزیده ای از کد منبع تولید شده است.
4.3. منافع پیشنهاد ما
اولاً، علاقه استفاده از پروپوزال ما در مقایسه با پیشرفتهای دستی، سرعت توسعه یک برنامه نقشهبرداری وب است، زیرا ما فقط باید مدل خود را بسازیم تا تمام فایلهای لازم را با تمام پارامترهای موجود در برنامه تولید کنیم، دیگر مشکلی در پیادهسازی پیدا نمیکنیم. چندین فایل و پیوند بین آنها.
ثانیا، بزرگترین مزیت پیشنهاد ما این است که همه کاربران، یعنی توسعه دهندگان، دانشمندان کامپیوتر، زمین شناسان، توپوگرافی ها، کاربران ساده ای که نمی دانند چگونه یک برنامه را توسعه دهند، می توانند با یک کلیک ساده یا فقط با یک کلیک، اپلیکیشن خود را در زمینه خاص خود ایجاد کنند. پالت های گرافیکی متحرک پس از نوشتن سینتکس بتن، قالب ما تمام فایل ها را تولید می کند و شما فقط باید url برنامه را راه اندازی کنید.
ثالثاً، تمام کاربرانی که در پاراگراف قبل به آنها اشاره کردیم، دیگر نیازی به دانستن رابطه بین همه ابزارهای پیاده سازی ندارند، زیرا همه چیز توسط مدل ما تولید می شود.
5. نتیجه گیری و دیدگاه ها
برای نتیجه گیری، ایجاد یک برنامه نقشه برداری وب چه برای یک کاربر یا حتی یک توسعه دهنده دشوار است، از این رو نیاز به ایجاد یک مدل متا برای تولید یک برنامه نقشه برداری وب است. برای رسیدن به این هدف، مهندسی مدل محور، به طور دقیق تر رویکرد معماری مدل محور را بررسی کردیم، و سپس آنچه را که باید در مورد نقشه برداری و نقشه وب بدانیم، روشن کردیم.
تجربیات و مفاهیمی که ارائه کردیم به ما این امکان را داد که به عقب برگردیم و به طور کلی اصل توسعه یک برنامه نقشه برداری وب به منظور پیشنهاد یک متا مدل را ببینیم. از آنجایی که مهندسی معکوس برای تولید فایلهای خاص به صورت دستی است، ما یک نحو مشخص بر اساس متا مدل پیشنهادی با استفاده از xtext ایجاد کردهایم و سپس برای تبدیل از xtend استفاده کردهایم تا به طور خودکار کدهای منبع را تولید کنیم. ما این متا مدل را با سینتکس بتن و تولید خودکار xtend آزمایش کرده بودیم و موفق به بازتولید برنامه “ROAD-M Webmapping” و برنامه “WEBMAPPING CENIT” شدیم.
اگرچه این متا مدل انجام شده است، اما این زبان ها هنوز در حال تایید هستند، در حال بهبود هستند و برای داشتن یک زبان “عمومی و شهودی” باید چندین آزمون را دنبال کنند.
هنگامی که متا مدل بهینه شده اعتبار سنجی شد و زبان ایجاد شده نیازهای کاربران را برآورده کرد، آن را مستقر کرده و در خدمت قرار می دهیم تا توسط مخاطبان مورد استفاده قرار گیرد. هدف ما داشتن یک زبان متنی و گرافیکی قابل استفاده برای همه کاربران است تا با پیاده سازی معماری بر اساس نیاز خود و با ابزارهایی که می خواهند با استفاده از یک متا مدل منحصر به فرد پیاده سازی کنند، یک برنامه نقشه برداری وب در یک دامنه خاص تولید کنند.
در این تحقیق ما یک مدل متا را برای تولید یک برنامه نقشه برداری وب ارائه کرده ایم. و در حال حاضر، ما قصد داریم مدل ها را با نرم افزارهای رایگان مانند QGIS، Grass Gis، Udig پیوند دهیم تا پردازش داده ها را برای پیاده سازی با برنامه تولید شده تسهیل کنیم. ما همچنین می توانیم این مدل را با یک پلت فرم موقعیت جغرافیایی موبایل پیوند دهیم.
منابع
[ 1 ] | Baldé, I. (2008) Mise en place d’une plateforme de cartographie dynamique, Mémoire ingénieur de conception en Génie Informatique. |
[ 2 ] | Di Martino, S., Ferrucci, F., McArdle, G. and Petillo, G. (2009) تولید خودکار یک WebGIS تطبیقی. سمپوزیوم بین المللی در وب و سیستم های اطلاعات جغرافیایی بی سیم، Maynooth، 7-8 دسامبر 2009، 171-186. https://doi.org/10.1007/978-3-642-10601-9_12 |
[ 3 ] | Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S. and Matera, M. (2002) طراحی برنامه های کاربردی وب با داده فشرده. ناشران مورگان-کافمن، برلینگتون. |
[ 4 ] | مغربی، ایکس. (2003) معماری مدل محور، معتبر pour développer un progiciel de gestion intégré, école doktorale system. |
[ 5 ] | Coutard، M.، Klipfel، J.-P. و Blanc، S. (2005) نقشه برداری SIG در خط نقشه برداری وب: Les outils libres état des lieux des solutions applicatives autour MapServer. https://mappemonde.mgm.fr |
[ 6 ] | Mappemonde Portails d’information. https://journals.openedition.org/mappemonde/ |
[ 7 ] | Antenaina, H. (2016) Mise en place d’une application cartographique sur web baptisee road-m webmapping, au ministère des travaux publics, antananarivo, ماداگاسکار آوریل. |
[ 8 ] | Lime, S. and McKenna, J. (2021) Mapfile در Mapserver. https://www.mapserver.org/mapfile |
[ 9 ] | Bézivin, J. (2004) Sur les principes de base de l’ingénierie des modeles. L’Objet, 10, 145-157. https://doi.org/10.3166/objet.10.4.145-157 |
[ 10 ] | Bézivin, J. (2005) در مورد قدرت یکسان سازی مدل ها. نرم افزار و مدل سازی سیستم، 4، 171-188. https://doi.org/10.1007/s10270-005-0079-0 |
[ 11 ] | Kleppe, A., Warmer, J. and Bast, W. (2003) MDA توضیح داد: تمرین و وعده معماری مبتنی بر مدل. ادیسون وسلی حرفه ای، لندن. |
[ 12 ] | Gronback، RC (2009) پروژه مدلسازی Eclipse: مجموعه ابزار زبان مخصوص دامنه (DSL). آموزش پیرسون، لندن. |
[ 13 ] | Greenfield, J. (2004) کارخانه های نرم افزاری که برنامه ها را با الگوها، مدل ها، چارچوب ها و ابزارها جمع آوری می کنند. کنفرانس بین المللی خطوط تولید نرم افزار، بوستون، 30 اوت-2 سپتامبر 2004، 304. https://doi.org/10.1007/978-3-540-28630-1_19 |
[ 14 ] | Vangheluwe، H. و De Lara، J. (2002) AToM3: ابزاری برای مدلسازی چند فرمالیسم و متا مدلسازی. کنفرانس های اروپایی نظریه و عمل مهندسی نرم افزار ETAPS’02، گرنوبل، 8-12 آوریل 2002، 174-188. https://doi.org/10.1007/3-540-45923-5_12 |
[ 15 ] | Bézivin, J. and Jouault, F. (2003) KM3: A DSL for Metamodel Specification. |
[ 16 ] | مولر، P.-A. (2006). |
[ 17 ] | مینسکی، ام. (1968) ماده، ذهن و مدل ها. در: Minsky, M., Ed., Semantic Information Processing, MIT Press, Cambridge, 425-432. |
[ 18 ] | Bezivin, J. and Blanc, X. (2002) MDA vers un nouveau paradigme (1). Développeur Référence, 2, 7-11. https://mfworld42.free.fr/cnam/nfe115-informatique_decisionnelle/MDA.Partie1.JBXB.Last.prn.pdf |
[ 19 ] | Bezivin, J. (2002) Les nouveaux défis des system complexes et la Réponse MDA de l’OMG. https://dblp.org/db/conf/jfsma/jfsma2002.html#Bezivin02 |
[ 20 ] | OMG (2001) معماری مدل محور، یک دیدگاه فنی. https://www.omg.org/mda/mda_files/Model-Driven_Architecture.pdf |
بدون دیدگاه