Abstract
We present an approach that uses social networking and semantic web technology to share knowledge within the software engineering community. We propose to use existing Web 2.0 services such as social bookmarking and blogs as the infrastructure to share knowledge artefacts. Due to the openness of these services, it is crucial to provide support to establish the trustworthiness of knowledge artefacts. The solution proposed is designed following the original semantic web stack architecture and uses existing and emerging W3C semantic web standards such as the Resource Description Framework (RDF), the Web Ontology Language (OWL), and the Semantic Web Rule Language (SWRL). The WebOfPatterns project is presented as a case study, which includes an Eclipse plug-in that can be used to discover design pattern definitions in social networks, to define and publish patterns, to rate patterns, to establish the trustworthiness of patterns found, and finally to scan Java projects for instances of discovered patterns. We also propose the ContributedProperties design pattern that can be used to bridge the conceptual gap between RDF resources and objects in an object-oriented programming language
چکیده
در این مقاله، روشی با کمک شبکه اجتماعی و تکنولوژی وب معنایی برای تسهیم دانش در زمینه مهندسی نرم افزار، ارائه خواهد شد. همچنین از برخی سرویس های Web2. 0 نظیر بلاگ ها و نشانه گذار های اجتماعی نیز برای تسهیم دانش استفاده به عمل خواهد آمد. به علت گستردگی این خدمات، پشتیبانی و حمایت از معتبر بودن تسهیم دانش امری بسیار ضروری است. راه حل پیشنهادی در این مقاله، طراحی معماری فشرده وب معنایی و استفاده از استانداردهای وب معناییِ W3C نظیر RDF (چهارچوب توصیف منابع)، OWL (زبان هستی شناسی در وب) و SWRL (زبان قانونِ وب معنایی)می باشند. پروژه WebOfPatterns نیز به عنوان یک مطالعه موردی مطرح شده که دارای یک پلاگ این(افزونه)Eclipse است و می توان از آن برای کشف و شناسایی تعاریف مختلفی از الگوها در شبکه های اجتماعی، تعیین الگوهای منتشر شده، درجه بندی آن ها، ارزیابی اعتبار هر یک و در نهایت اسکن پروژه های جاوا برای شناسایی الگوها، استفاده نمود. همچنین الگوی طراحیِ ContributedProperties نیز برای بررسی چالش های بین منابع RDF و اشیاء در زبان برنامه ریزیِ شی گرا ارائه می شود.
1-مقدمه
الگوهای طراحی نرم افزار، الگوهایی اند که در مهندسی نرم افزار برای تسهیم دانش پیرامون طراحی نرم افزار مورد استفاده قرار می گیرند. با درنظر گرفتن شهرت GangOfFour در دهه 90 میلادی، الگوهای تسهیم دانش چندان تغییری نیافته و مهندسان نرم افزار نیز هنوز با انتشار کتب و شرکت در مباحث به تبادل دانش در ارتباط با الگوها می پردازند....