گزارش سمینار نگاه هستان شناسانه بر معماری نرم افزار

تعداد صفحات: 137 فرمت فایل: word کد فایل: 10001924
سال: 1385 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۲۰,۳۰۰ تومان
قیمت: ۱۸,۲۰۰ تومان
دانلود فایل
  • خلاصه
  • فهرست و منابع
  • خلاصه گزارش سمینار نگاه هستان شناسانه بر معماری نرم افزار

    سمینار کارشناسی ارشد مهندسی کامپیوتر گرایش نرم افزار 

    چکیده

    فناوری وب معنایی ریشه در مهندسی دانش دارد. از سویی ، کاربرد مهندسی دانش در مهندسی نرم افزار، رویکردی است به اثبات رسیده که مدت زیادی از آن میگذرد و مزایای آن غیرقابل انکار است . بنابراین کاربرد فناوریهای وب معنایی که علاوه بر دارا بودن خواص مفید زبان های عمومی مهندسی دانش یعنی مبتنی بر منطق و رسمی بودن ، تحت وب نیز هستند، در مهندسی نرم افزار و بخصوص معماری نرم افزار، می تواند بسیاری از کاستی ها را تا حدود زیادی جبران نماید و در حل مشکلات موجود کمک شایان توجهی نماید. معماری مدل گرا رویکردی است در معماری نرم افزار که به افزایش سطح انتزاع و تمرکز بیشتر روی مدل های سطح انتزاعی و نیز خودکار نمودن فرآیند توسعه نرم افزار، تأکید دارد. چنین رویکردی وقتی مفید خواهد بود که بتوان بسیاری از ابهامات و شکاف های موجود میان نیازمندی ها و دیدهای ذینفعان پروژه یا به عبارت دیگر مفاهیم ضمنی با معماری و مدل های سطح انتزاعی را از میان برد. همچنین تسهیل انجام تبدیلات در سطوح متفاوت فرآیند توسعه نرم افزار نیز، خود موضوعی است که معماری مدل گرا در جهت خودکار نمودن این روند، تأکید فراوانی روی آن دارد. هستان شناسی ١، مدلی است رسمی، که با استفاده از زبان های وب معنایی ایجاد می شود، و ابهاماتی که در زبان های مدل سازی معمول مورد استفاده در مهندسی نرم افزار وجود دارد را ندارد. به همین دلیل است که اخیراً به کاربرد هستان شناسی در مهندسی نرم افزار، توجه فراوانی شده است . این روند منجر به پیدایش معماری هستان شناسانه شده است . در این گزارش پس از طرح کلی مسأله و مشکلات موجود در معماری نرم افزار، و مروری بر مفاهیم پایه مورد نیاز از قبیل وب معنایی، هستان شناسی و معماری مدل گرا، سعی شده است که کاربرد هستان شناسی در معماری نرم افزار از جنبه های گوناگون و براساس یک رده بندی مشخص ، در قالب تلاش هایی که دیگران تا کنون به انجام رسانیده اند، مورد بررسی قرار گیرد. اما تمرکز بیشتر روی ایجاد متامدل معماری با استفاده از تولید هستان شناسی ها برای کاستن از ابهامات موجود در ابعاد گوناگون و نیز افزایش قابلیت ردیابی در جهت ارزیابی معماری حاصل ، قرار گرفته است .

     ontology1

    ١    مقدمه

    دیدگاهی که از تدوین و توصیف معماری برای یک سیستم ایجاد می شود در تمام طول حیات آن سیستم مرجعی برای تغییرات و تحولات در آن سیستم به شمار میرود. نگاه به سیستم نرم افزاری با استفاده از نمایی که معماری ایجاد میکند چه از لحاظ ارتباط آسان تر میان ذینفعان پروژه و چه از لحاظ درک دقیق تری که توسعه دهنگان و نگهداری کنندگان آن از سیستم نرم افزاری خواهند داشت ، از اهمیت بالایی برخودار است . با این حال توصیف مؤلفه های معماری و ارتباطات میان آنها بدون مشخص بودن فرضیات طراحی که متضمن آنهاست ، مشکلاتی در تحول ١، امکان استفاده مجدد و حتی امکان تعامل ٢ میان مؤلفه های عملیاتی مستقل از هم ، بوجود می آورد (١٩٩٩ ,Kyaruzi, Katwijk). این فرضیات ضمنی در

    3 طراحی ، موانعی بر سر راه توسعه سیستم ایجاد می کنند. از این جمله می توان به فاصله زیادی که میان سطح انتزاعی و سطح کد٤ بوجود میآید اشاره نمود. در این حالت با وجود اینکه مستندات توصیف معماری تلاشی است برای ایجاد امکان ترجمه مستقیم از مفاهیم بنیادی سطح انتزاعی به مفاهیم بنیادی سطح کد، این کار، همواره با مشکلات فراوانی روبرو است .

    برای غلبه بر این مشکل تاکنون تلاش های زیادی برای رسمی سازی ٥ معماری نرم افزار صورت گرفته است . جهت رسمیسازی معماری نرم افزار، باید از زبان های مبتنی بر مدل ٦که بتوانند ویژگیهای ساختاری و رفتاری سیستم را توصیف نمایند، استفاده شود. برای این کار زبان های زیادی برای تعیین مشخصات ٧ ایجاد شده اند که هریک سعی نموده اند که اهداف مورد نظر در یک دامنه بخصوص را پوشش دهند. برای مثال ، زبان هایی مانند Z، VDM8، و B، برای مدل سازی داده ها و وضعیت ها٩ طراحی شده است در حالی که زبان هایی مانند  CSP1، CCS2، و π-calculus برای مدل سازی

    3 رفتارها و تعاملات ٣ طراحی شده است . بنابراین برخلاف روش های غیررسمی توصیف معماری همانند UML، یکی از مشکلات این کار، نبود یک روش یکتای استاندارد مورد توافق جامعه مهندسی نرم افزار می باشد.

    برای غلبه بر این مشکل میتوان از هستان شناسی ها به عنوان متامدل های ٤ رسمی، برای توصیف زبان های رسمی تعیین مشخصات ٥ بهره برد (٢٠٠٦ .Tetlow et al). علاوه بر آن زبان استاندارد وب معنایی 6OWL میتواند نحو یکتای مورد نظر را ایجاد نماید (٢٠٠٦ .Tetlow et al).

    در سطح هستان شناسی ، تمایزات رسمی و روشنی میان مفاهیم انتزاعی معماری ایجاد می شود به طوری که به وضوح میتوان تفاوت میان انواع مختلف عناصر تشکیل دهنده معماری و نقشی که هریک در فرآیند توسعه نرم افزار ایفا می کنند را تشخیص داد. این تمایز از جنبه های متعددی می تواند نقش مفید و مؤثری در روند توسعه نرم افزار داشته باشد که از آن جمله میتوان به وضوح و رسمی سازی روابط میان عناصر معماری و تمرکز بیشتر روی اهداف و ویژگی های کیفیتی، و امکان برقراری قواعد جامعیت در سطح معماری اشاره نمود.

    در این گزارش سعی بر آن است که فواید استفاده از هستان شناسی در تعیین مشخصات و توصیف معماری به عنوان راهی برای افزایش کیفیت محصولات در جهت های گوناگونی چون افزایش قابلیت استفاده مجدد، افزایش قابلیت تعامل میان مؤلفه های سیستمی مستقل از هم ، افزایش قابلیت پیگیری (ردیابی )٧ و غیره شرح داده شود.

    به این منظور ابتدا در فصل دوم ، مفاهیم پایه که منجر به پیدایش معماری هستان شناسانه شده اند و سپس در فصل سوم ، تعریفی از معماری هستان شناسانه و اهداف آن ، ارائه می شود. در ادامه در فصل چهارم به آنچه که دیگران در وادی معماری هستان شناسانه انجام داده اند پرداخته می شود و در پایان نتیجه گیری گزارش ارائه می شود.

    ٢    مفاهیم پایه

    ٢-١  مقدمه

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

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

    در این فصل مفاهیمی که اساس ایجاد معماری هستان شناسانه را تشکیل می دهند در قالب زیرفصل های «وب معنایی » و

    «معماری مدل گرا» شرح داده می شوند و سپس در ادامه ، زیربنای پیدایش معماری هستان شناسانه شرح داده می شود.

    ٢-٢  وب معنایی

    تیم برنرز لی ١، مبتکر وب و نیز وب معنایی، وب معنایی را چنین تعریف می کند:

    «اولین گام ، این است که یا داده ها را طوری در وب قرار دهیم که ماشین بتواند آن را خود به خود متوجه شود، یا اینکه داده ها را به آن صورت تبدیل کنیم . این همان چیزی را میسازد که به آن وب معنایی گفته میشود- یک وب از داده ها که میتوانند به طور مستقیم یا غیرمستقیم توسط ماشین ها پردازش شوند (١٩٩٩ ,Berners-Lee). »

    شبکه جهانی وب امروزی شبکه ای کلان از منابع اطلاعاتی است که برای انتشار اطلاعات به کاربران ایجاد شده است .

    بنابراین بسیاری از اطلاعاتی که روی وب قرار دارند برای پردازشاتی که توسط انسان صورت میگیرند، مناسب هستند؛ این بدین معنی است که چنین محتوایی از نظر ساختاری ضعیف است ، زیرا انواع بسیار متفاوتی از اطلاعات وجود دارند، و بسیاری از اطلاعات به صورت متون آزادی چون HTML نوشته شده اند. با توجه به این موضوع ، جستجوی اطلاعات از چنین محتوایی توسط یک برنامه کامپیوتری بسیار مشکل خواهد بود مگر اینکه این برنامه ها دارای قابلیت های پیشرفته پردازش زبان های طبیعی باشند.

     Tim Berners-Lee1

    5 ایده اصلی وب معنایی ایجاد محتوایی از وب است که از نظر ماشین خوانایی داشته باشد. به این لحاظ چنین محتوایی میتواند به سادگی توسط عوامل نرم افزاری مورد تحلیل قرار گرفته و میان سرویس های وب به اشتراک گذاشته شود. به همین دلیل ، ائتلاف شبکه جهانی وب (1W3C) تعدادی زبان برای وب معنایی پیشنهاد می کند که می توانند برای رسمی نمودن محتوای وب به کار روند. از جمله این زبان ها می توان به 2RDF Schema و 3OWL اشاره نمود. در بخش

     ٢-٢-٤ زبان وب معنایی OWL معرفی می شود.

    ٢-٢-١      تولید برنامه کاربردی با استفاده از فن آوری وب معنایی

    همانطور که در بخش های پیشین نیز شرح داده شد، ائتلاف شبکه جهانی وب ، تعدادی زبان وب معنایی را جهت رسمی نمودن محتوای وب پیشنهاد کرده است که RDF Schema و OWL از آن جمله اند. می توان مشابه آنچه که در زبان های شئ گرا وجود دارد، از RDF Schema و OWL برای تعریف کلاس ها، صفات و ارتباطات آنها، استفاده نمود.

    برای مثال (٢٠٠٦ ,.Knublauch, et al)، می توان از RDF Schema استفاده نموده و کلاس Product را ایجاد کرد و برای آن ویژگی hasPrice را با نوع float معین ساخت . می توان یک کلاس با نام Purchase با ویژگی

    hasProducts که آن را با تعدادی Product مرتبط می سازد تعریف نمود.OWL،RDF Schema  را با ساختارهای بیشتری که به آن میافزاید، تکمیل می کند. به این ترتیب ، با استفاده از OWL می توان کلاس های پیچیده تری را تعریف نمود. برای مثال (٢٠٠٦ .Knublauch, et al)، می توان از OWL برای تعریف کلاس DutyFreeOrder به عنوان زیرکلاسی از همه Purchaseهایی که دارای آدرس دریافتی به کشوری هستند که به کشورهای دارای تجارت آزاد پیوسته اند، استفاده نمود.

    با استفاده از هریک از این زبان ها می توان درست همان طور که یک صفحه HTML روی وب منتشر٤ میشود، مدل های دامنه ٥ را روی وب قرار داد. به محض این که یک فایل OWL یا RDF روی وب قرار می گیرد، سایر منابع وب یا برنامه های کاربردی دیگر می توانند به آن متصل شوند. برای مثال ، یک صفحه HTML که معرف یک محصول بخصوص6 است میتواند متاداده ها را طوری کدگذاری نماید که به موجودیت مربوط به خود در یک مدل OWL مرتبط گردد و به این ترتیب موجب گردد که همه برنامه های کاربردی که می دانند که Product چیست ، از معنای آنچه در محتوای آن صفحه HTML قرار دارد، به خوبی آگاه گردند.

    یا حتی، عرضه کنندگان یک Product بخصوص می توانند از کلاس های RDF Schema، نمونه هایی بسازند و به این ترتیب اجناس خود را به عوامل خرید١، به صورتی کامًلا واضح و صریح عرضه نمایند. در شکل ٢-١، نمونه ای از این سناریو به تصویر کشیده شده است .

  • فهرست و منابع گزارش سمینار نگاه هستان شناسانه بر معماری نرم افزار

    فهرست:

    فهرست مطالب

    چکیده ............................................................................................................................................................................................................١

    ١   مقدمه .............................................................................................................................................................................................................٢

    ٢   مفاهیم پایه ...................................................................................................................................................................................................٤

     1-2                     مقدمه .........................................................................................................................................................................................٤

     2-2                     وب معنایی ................................................................................................................................................................................٤

     1-2-2                       تولید برنامه کاربردی با استفاده از فن آوری وب معنایی ..............................................................................٥

     2-2-2                       هستان شناسی .........................................................................................................................................................٧

     3-2-2                       RDF و RDF Schema ................................................................................................................................٩

    11..................................................................................................................................................................OWL                                             4-2-2

     5-2-2                       مقایسه OWL.RDF با زبان های شئ گرا..................................................................................................١٣

     3-2                     معماری مدل گرا....................................................................................................................................................................١٦

     1-3-2                       مقدمه ....................................................................................................................................................................١٦

     2-3-2                       مشکلات توسعه نرم افزار به روش سنتی .......................................................................................................١٧

     3-3-2                       فرآیند توسعه معماری مدل گرا........................................................................................................................٢٠

     4-3-2                       نقش UML در معماری مدل گرا ..................................................................................................................٢٦

     5-3-2                       متامدل سازی در معماری مدل گرا.................................................................................................................٣١

     4-2                     جمع بندی مطالب فصل ......................................................................................................................................................٣٥

    ٣   معماری هستان شناسانه ..........................................................................................................................................................................٣٧

     1-3                     مقدمه ......................................................................................................................................................................................٣٧

     2-3                     اهداف مورد نظر....................................................................................................................................................................٣٨

     1-2-3                       وب معنایی در مهندسی نرم افزار ......................................................................................................................٣٨

    یVک I

     

     

     2-2-3                       هستان شناسی به عنوان ابزاری برای توصیف فرمال مدل ها ....................................................................٣٩

     3-2-3                       پشتیبانی از چرخه حیات نرم افزار ..................................................................................................................٤٥

    ٤   آنچه دیگران در این زمینه انجام داده اند............................................................................................................................................٤٧

     1-4                     مقدمه ......................................................................................................................................................................................٤٧

     2-4                     توسعه هستان شناسانه .........................................................................................................................................................٤٨

     1-2-4                       مشکلات ................................................................................................................................................................٤٩

     2-2-4                       راه حل ها...............................................................................................................................................................٤٩

     3-4                     توسعه توانمند شده با هستان شناسی ..............................................................................................................................٥٧

     1-3-4                       مشکلات ................................................................................................................................................................٥٨

     2-3-4                       راه حل ...................................................................................................................................................................٥٨

     4-4                     معماری های مبتنی بر هستان شناسی .............................................................................................................................٥٩

     1-4-4                       مشکلات ................................................................................................................................................................٥٩

     2-4-4                       راه حل ....................................................................................................................................................................٥٩

     5-4                     معماری های توانمندشده با هستان شناسی ....................................................................................................................٥٩

     1-5-4                       مشکلات ................................................................................................................................................................٥٩

     2-5-4                       راه حل ها...............................................................................................................................................................٦٠

    ٥   نتیجه گیری ................................................................................................................................................................................................٦٤

    پیوست ١ ............................................................................................................................................................................................................ ٦٦

    منابع .....................................................................................................................................................................................................................٦٨

    دوV

     

     

    منبع:

     

    1   Akerman A. and Tyree J., Using ontology to support development of software

    architectures, IBM SYSTEMS JOURNAL, No. 4 : Vol. 24, 2006.

    2   Baclawski K. [et al.], Extending the Unified Modeling Language for Ontology

    Development, Software and Systems Modeling Journal, SoSyM, 2002.

    3   Berners-Lee Tim, Weaving the Web, Harper San Francisco, 1999.

    4   Cleland-Huang    Jane,     Toward    Improved     Traceability    of    Non-Functional

    Requirements, TEFSE 2005, Long Beach, California, 2005.

    5   Cranefield Stephen, UML and the Semantic Web, Proceedings of the International

    Semantic Web Working Symposium (SWWS), Stanford, 2001.

    6   Daconta Michael C., Obrst Leo J. and Smith Kevin T., The Semantic Web-A Guide

    to the Future of XML, Web Services, and Knowledge Management, Wiley Publishing,

    Inc., 2003.

    7   Djuric Dragan, Gaševic Dragan and Devedžic Vladan, Ontology Modeling and

    MDA, JOURNAL OF OBJECT TECHNOLOGY, Zurich : ETH Zurich, Chair of

    Software Engineering ©JOT, January-February 2005. - No.1 : Vol. 4.

    8   Frankel  David  S.,  Model Driven Architecture:  applying MDA  to Enterprise

    Computing, Wiley Publishing, Inc., 2003.

    9   Gruber T., A Translation Approach to Portable Ontology Specifications, Knowledge

    Acquisition 5: 199–220, 1993.

    10 Guarino N., Formal Ontology in Information Systems, proceedings of the First

    International Conference (FOIS '98), Trent, Italy, IOS Press, 1998.

    11 Happel Hans J. and Seedorf Stefan, Applications of Ontologies in Software

    Engineering, Athens, GA, USA, Springer, 2006.

    12 Happel Hans Jörg, Korthaus Axel and Seedor Stefan, An Ontology-enabled

    Approach to Software Reuse, Proceeding of the 18'th International Conference on

    Software Engineering and Knowledge Engineering (SEKE), San Francisco, 2006.

    13 http:..www.omg.org.technology.documents.formal.mof.htm,  The Object Management

    Group (OMG), 2006.

    14 IEEE Recomended Practice for Architectural Description of Software-Intensive

    Systems, IEEE STD 1471, 2000.

     

     

     69

    15 Kajan Ejub and Stoimenov Leonid, Toward an Ontology-Driven architectural

    Framework for B2B, COMMUNICATIONS OF THE ACM,  December 2005. - No.

    12 : Vol. 48.

    16 Knublauch Holger [et al.], A Semantic Web Primer for Object-Oriented Software

    Developers, W3C, 2006.

    17 Kyaruzi  John  K.  and  Katwijk  Jan  Van, Beyond  Components-Connections-

    Constraints: Dealing with Software Architecture Difficulties, 1999.

    18 Maedche Alexander, Ontology Learning for the Semantic Web, Springer, 2002.

    19 Mellor Stephen J. and Balcer Marc J., Executable UML: A Foundation for Model-

    Driven Architecture, Boston, Addison Wesley, 2002.

    20 Motik Boris, Sattler Ulrike and Studer Rudi, Query Answering for OWL-DL with

    Rules, 2004.

    21 Oberle Daniel, Lamparter Steffen and Eberhart Andreas, Semantic Management of

    Web Services, 3rd International Conference on Service Oriented Computing, ICSOC

    2005, Amsterdam, 2005.

    22 Oberle Daniel, Staab Steffen and Eberhar Andreas, Towards Semantic Middleware

    for Web Application Development, IEEE Distributed Systems Online, 2005.

    23 OMG: Ontology Definition Metamodel, http:..www.omg.org.dontology, RFP, OMG,

    2006.

    24 Qiu Baojun [et al.], General Consistency Management Within the Development of

    Ontology-Driven web Information System, Berlin Heidenberg, Springer, 2005.

    25 Tang Lv-an [et al.], PODWIS: A Personalized Tool for Ontology Development in

    Domain Specific  Web Information System, Proceeding of 7th Asia-Pacific Web

    Conference.

    26 Tetlow Phil [et al.], Ontology Driven Architectures and Potential Uses of the Semantic

    Web in Systems and Software Engineering, W3C(MIT, ERCIM, Keio), 2006.

    27 Tyree J. and Akerman A., Position on Ontology-Based Architecture, Proceedings of

    Fifth Working IEEE.IFIP Conference on Software Architecture, IEEE, 2005.

     

ثبت سفارش
عنوان محصول
قیمت