Download presentation
Presentation is loading. Please wait.
1
Semantic Web in Software Engineering Semantic Web - Fall 2005 Computer Engineering Department Sharif University of Technology Salman Mirghasemi salmir19 {at} yahoo
2
Semantic web - Computer Engineering Dept. - Fall 2005 2 Outline Introduction Software Engineering Information Systems SIS Systems Hyena Software Integration Software Integration at the FAO Software Integration at the FAO Management Application Integration Management Application Integration Middleware KAON server MDA MDA Overview ODM State of the art W3C SW Best Practices-SE task force ODA
3
1- Introduction
4
Semantic web - Computer Engineering Dept. - Fall 2005 4 1- Introduction We will talk about: Projects that applied semantic web in software engineering in 3 categories : Software Engineering Information Systems Software Integration Software Management Ontology Data Model (ODM) in Model Driven Architecture (MDA) and Ontology Driven Architecture (ODA). Current state of research process.
5
2- Software Engineering Information Systems (SEIS) Semantic Web provides facilities for better storage and retrieval of software engineering Information. In this section we present two experiences in this area. 1- SIS Systems 2- Hyena
6
2.1- SIS Systems SIS systems are a series of software applications which developed about one decade ago. Creators of these applications used Description Logic (base of current semantic web languages, specially OWL) for definition of concepts and query on them. We study them as first experiences in this area.
7
Semantic web - Computer Engineering Dept. - Fall 2005 7 2.1- SIS systems Problem: Maintenance of large software Systems. 60% of the time was spent performing simple searches across the entire software system Understanding the domain in which the software operates required for understanding the software. Solution : Software Information System (SIS) : An information system which treats the software system source code itself as data and help maintainers to find required information faster.
8
Semantic web - Computer Engineering Dept. - Fall 2005 8 2.1- SIS systems First developed (1991) by a group in AT&T for managing and maintenance of AT&T’s Definity 75/85 software system. (LaSSIE system) Created base on the Description Logic. Has 2 main models: Code Model, Domain Model. ModelCodeDomain TBOX (size)20200 ABOX (size)thousandsfew Example What is data-type of the variable dial-tone? What is a dial- tone?
9
Semantic web - Computer Engineering Dept. - Fall 2005 9 2.1- SIS systems Code Model Simple ontology of source code It was derived from basic kinds of searches maintainers performed. The knowledge-base was populated automatically from source code. KB contains : individuals functions, files, data-types, etc.
10
Semantic web - Computer Engineering Dept. - Fall 2005 10 2.1- SIS systems Domain Model The domain model was reverse engineered from code domain experts Contains knowledge about telephony domain.. The things the software system dealt with : telephone, microphones, cable, cable-trunks,etc.
11
Semantic web - Computer Engineering Dept. - Fall 2005 11 2.1- SIS systems Sample Questions Where is this variable used? Where is this variable modified? What are the available slots and methods on this instance? What are the super-classes of this class? Is this data-type used? Which actions initiated by a user?
12
Semantic web - Computer Engineering Dept. - Fall 2005 12 2.1- SIS systems After LaSSIE,more completed SIS systems created: like : CODEBASE, CSIS and CBMS systems. Path tracing ChangedInFunction instead of ChangedBy o implementationOF (only one click) Subsumption Most important features : Better Performance Full-Scale parse of the code Using hyperlinks Role inverse Changes & Changed-By
13
2.2- Hyena Hyena (Hypergraph Editor and Navigator) : a tool for model and ontology editing that is geared towards software engineers. It is based on Eclipse and RDF.
14
Semantic web - Computer Engineering Dept. - Fall 2005 14 2.2- Hyena Hyena is a platform for integrated software engineering model management (ISEMM) that uses RDF for principled model manipulation and storage. Requirements for the ISEMM: Modularization Annotation Querying Multi-dimensional categorization
15
Semantic web - Computer Engineering Dept. - Fall 2005 15 2.2- Hyena Vision Model integration: Construct a software system by assembling and integrating models, structured domain-specific data. Structure-driven: we put an emphasis on structure which makes the ideas mentioned here complementary to domain- specific languages. Examples of models: Source code (static), Software architecture (dynamic), Documentation, A web site (wiki) Ontologies: Model-creation and manipulation will be supported by ontologies which also serve as a point of reference for documenting model semantics. We use ontologies in a very pragmatic way, more akin to schemas and meta-models.
16
Semantic web - Computer Engineering Dept. - Fall 2005 16 2.2- Hyena Hyena Components Vodules (vocabulary modules): provide complete support for one kind of model. In addition to declarative data from an RDF ontology, vodules support model editing via an API, GUI components and/or web services. Application programming interface (API): The core API of Hyena provides infrastructure functionality, everything else is added via vodules. Vodules are thus both clients and providers of API functionality. The API of Hyena is even useful for stand-alone programs. Web service framework: Each model managed by Hyena can be exposed as a web service, in a model-dependent manner. For example, an RDF model encoding a wiki web site will be displayed as a series of web pages. Graphical user interface (GUI) components: Hyena is itself integrated in the Eclipse integrated development environment and extends rather than replaces its facilities. RDF-specific functionality such as bookmarks and interactive filtering are the foundation on which vodules base their own GUI contributions. These contributions are essential for shielding the user from many complexities of RDF when editing a custom model.
17
Semantic web - Computer Engineering Dept. - Fall 2005 17 2.2- Hyena Standard Vodules JTube, Java source code management: makes Java artifacts accessible to Hyena. Other models can now provide a lightweight semantic layer on top of Java source code. JTube tracks changes to the code and co-evolves linked models. Furthermore, JTube allows one to move back and forth between code and associated RDF data in Eclipse. PeerStorm, collaborative conceptual brainstorming: enables a group of people to work together on conceptual sketches such as requirements, design ideas, outlines and task lists. Editing is distributed and changes are displayed in real time. Concepts are expressed as snippets, an RDF-encoded data structure that is similar to topic maps. Wikked, web-based publishing and editing: a vodule for storing a wiki in an RDF graph. Displaying and editing the wiki is implemented as a web service, as is uploading of new data. JTube uses Wikked to publish Java source code; PeerStorm displays snippets in various ways.
18
3- Software Integration Now, Ontology languages make it possible for us to share knowledge between different applications easier than before. In this section we present two experiences in using semantic web for software integration. 1- Software Integration at the FAO 2- Management Application Integration
19
3.1- Software Integration at the FAO It is a nice example of using a lightweight layer for data sharing and software integration in a heterogeneous environment. Web services and semantic web have a main role in this experience.
20
Semantic web - Computer Engineering Dept. - Fall 2005 20 3.1- Software Integration at the FAO About FAO Food and Agriculture Organization of the United Nations (FAO) leads international efforts to defeat hunger. helps developing countries modernize and expand agriculture, forestry and fisheries and ensure good nutrition for all. One of its most important functions is to collect, analyze and disseminate information to assist governments to fight hunger and achieve food security. Towards this effort FAO has established the World Agricultural Information Centre (WAICENT) for agricultural information management and dissemination.
21
Semantic web - Computer Engineering Dept. - Fall 2005 21 3.1- Software Integration at the FAO Background In WAICENT large amount of data generated In various distinct format In many different languages Handled by several metadata structures Different type of data sources FAO has about 200 systems, deployed using different technologies (J2EE,.NET,…).
22
Semantic web - Computer Engineering Dept. - Fall 2005 22 3.1- Software Integration at the FAO Problem It is important to share data between systems quickly and easily. Existing data sharing approaches (global schema, using wrappers, …) can not be useful. most of them are not easy to implement when the number of databases rises. They dose not guarantee the autonomy of participating database systems. There are almost no tools to automate,translation of data between different formats. Data transmission is also difficult to implement. It is important to have a technology that is inexpensive, easy to implement, easy to maintain and based on open standards.
23
Semantic web - Computer Engineering Dept. - Fall 2005 23 3.1- Software Integration at the FAO Solution Wrapping each data source with a web service Standardization on input and output of each web service in XML. Using similar formats for all data related to country, language, currency (ISO 3166, ISO 630-1, ISO 4217). Using RDF, RDF schema, Dublin Core and Topic Map for definition of metadata. Using an information bus that all data passed through it is represented in standard XML formats.
24
Semantic web - Computer Engineering Dept. - Fall 2005 24 3.1- Software Integration at the FAO Architecture of the Information Bus
25
3.2- Management Application Integration We will describe integration of two management applications, OpenView Operations/Service Navigator and SOA Manager inside HP by using semantic web technologies.
26
Semantic web - Computer Engineering Dept. - Fall 2005 26 3.2- Management Application Integration HP OpenView Operations (OVO) is a distributed management application that offers management of networks, systems, databases, applications and internet services.
27
Semantic web - Computer Engineering Dept. - Fall 2005 27 3.2- Management Application Integration HP SOA Manager is a management application that provides management of Service-Oriented Architectures that are based on Web Services.
28
Semantic web - Computer Engineering Dept. - Fall 2005 28 3.2- Management Application Integration Model Transformation
29
4- Middleware We will describe works done to apply semantic web technologies in middleware technologies. (Application Server, Web Service)
30
4.1- KAON Server KAON Server is an ontology based application server which developed to display benefits of using semantic web technologies in solving development and administration of middleware applications.
31
Semantic web - Computer Engineering Dept. - Fall 2005 31 4.1- KAON Server Complexity Of Management Application Server Components Dependency Checking, Versions, Licenses Multiple Configuration Files Web Services Detection Of Loops Multiple Configuration Files We define a coherent formal model, i.e. an ontology, and put it into action in an Application Server in order to reduce the complexity of management.
32
Semantic web - Computer Engineering Dept. - Fall 2005 32 4.1- KAON Server Ontology Modules in KOAN Server
33
Semantic web - Computer Engineering Dept. - Fall 2005 33 4.1- KAON Server KOAN Server Architecture
34
Semantic web - Computer Engineering Dept. - Fall 2005 34 4.1- KAON Server Browsing the Ontology at Runtime
35
Semantic web - Computer Engineering Dept. - Fall 2005 35 4.1- KAON Server Example : Context Switch Problem Applying an inference engine allows us to query for user-resource- pairs that are deduced by the rules above at runtime.
36
5-MDA Model Driven Architecture 1- MDA Overview 2- ODM
37
5.1- MDA Overview
38
Semantic web - Computer Engineering Dept. - Fall 2005 38 5.1- MDA Overview Modeling has had a major impact on software engineering, and it is critical to the success of every enterprise scale solution. There is great variety in what the models represent and how they are used. Which of these approaches can we describe as “model-driven”? The most authoritative view is provided by the Object Management Group (OMG), an industry consortium of more than 800 companies, organizations, and individuals.
39
Semantic web - Computer Engineering Dept. - Fall 2005 39 OMG Milestones 5.1- MDA Overview
40
Semantic web - Computer Engineering Dept. - Fall 2005 40 Four principles underlie the OMG’s view of MDA: Models expressed in a well-defined notation are a cornerstone to understanding systems for enterprise scale solutions. The building of systems can be organized around a set of models by imposing a series of transformations between models, organized into an architectural framework of layers and transformations. A formal underpinning for describing models in a set of metamodels facilitates meaningful integration and transformation among models, and is the basis for automation through tools. Acceptance and broad adoption of this model-based approach requires industry standards to provide openness to consumers, and foster competition among vendors. 5.1- MDA Overview
41
Semantic web - Computer Engineering Dept. - Fall 2005 41 5.1- MDA Overview 2 important techniques in last fifty years, in improving software productivity: 1- Raising the level of abstraction of the languages we use to express behavior
42
Semantic web - Computer Engineering Dept. - Fall 2005 42 2- Increasing the level of reuse and composition in system construction. 5.1- MDA Overview
43
Semantic web - Computer Engineering Dept. - Fall 2005 43 MDA takes the ideas of raising the levels of abstraction and reuse up a notch. It also introduces a new idea that ties these ideas together into a greater whole: design-time interoperability. MDA is an approach to IT system specification that separates the specification of system functionality from the specification of the implementation of that functionality on a specific technology platform. MDA is more closely associated with approaches in which code is (semi-) automatically generated from more abstract models, and that employ standard specification languages for describing those models. 5.1- MDA Overview
44
Semantic web - Computer Engineering Dept. - Fall 2005 44 OMG identifies four types of models: Computation Independent Model (CIM) Platform Independent Model (PIM) Platform Specific Model (PSM) described by a Platform Model (PM) Implementation Specific Model (ISM). 5.1- MDA Overview
45
Semantic web - Computer Engineering Dept. - Fall 2005 45 Platform Independent Model (PIM) Separating PIM has benefits: It is easier to validate the correctness of the model uncluttered by platform-specific semantics. It is easier to produce implementations on different platforms conforming to the same essential and precise structure and behavior of the system. Integration and interoperability across systems can be defined more clearly in platform-independent terms. Platform Specific Model (PSM) Specifies how the functionality specified in a PIM is realized on a particular platform Expressed using UML extended with platform specific UML profiles 5.1- MDA Overview
46
Semantic web - Computer Engineering Dept. - Fall 2005 46 PIM to PSM transformation 5.1- MDA Overview
47
Semantic web - Computer Engineering Dept. - Fall 2005 47 PIMs and PSMs are relative notions “Someone’s PIM can be someone else’s PSM” Platform independence is relative, too, It’s a scoping issue It’s a strategic decision 5.1- MDA Overview
48
Semantic web - Computer Engineering Dept. - Fall 2005 48 MODEL A model is a representation of a part of the function, structure and/or behavior of a system Does not prescribe a particular types of modeling Well-defined form (“syntax”), meaning (“semantics”), and possibly rules of analysis, inference, or proof for its constructs Graphical or textual Examples Source code is a model CORBA IDL is a model UML-based specification is a model 5.1- MDA Overview
49
Semantic web - Computer Engineering Dept. - Fall 2005 49 Metamodel Meta Object Facility (MOF) is a standard metamodeling framework for model and metadata driven systems, e.g., Modeling and development tools Data warehouse systems Metadata repositories Metadata = data about data, e.g., database schemas; but also: UML models, data transformation rules, APIs expressed in IDL, MIDL, C#, Java, WSDL, etc., business process and workflow models, product configuration descriptors and tuning parameters, information that drives deployment tools and runtime management, … MOF is the MDA’s basic mechanism for defining modeling languages 5.1- MDA Overview
50
Semantic web - Computer Engineering Dept. - Fall 2005 50 5.1- MDA Overview
51
Semantic web - Computer Engineering Dept. - Fall 2005 51 Always 4 Levels? In general, we can have any number of levels and we could start counting them anywhere. Most systems use between 2 and 4, e.g., Some reflective systems use 2 levels (Classes/Objects) XML uses 3 levels (XML Schema for Schemas -> XML Schema -> XML) MOF is most often used to model modeling languages, which implies 4 levels.But it doesn’t have to be used for with 4 levels (e.g., MOF /MOF model of XML / XML) 5.1- MDA Overview
52
Semantic web - Computer Engineering Dept. - Fall 2005 52 Benefits of MDA Preserving the investment in knowledge Independent of implementation platform Tacit knowledge made explicit Speed of development Most of the implementation is generated Quality of implementation Experts provide transformation templates Maintenance and documentation Design and analysis models are not abandoned after writing 100% traceability from specification to implementation 5.1- MDA Overview
53
Semantic web - Computer Engineering Dept. - Fall 2005 53 Automation in software development 5.1- MDA Overview
54
Semantic web - Computer Engineering Dept. - Fall 2005 54 Development Process 5.1- MDA Overview
55
Semantic web - Computer Engineering Dept. - Fall 2005 55 Summary Models help people understand and communicate complex ideas. Many different kinds of elements can be modeled, depending on the context. These offer different views of the world that must ultimately be reconciled. We see commonality at all levels of these models – in both the problems being analyzed and the proposed solutions. Applying the ideas of different kinds of models and transforming them between representations provides a well-defined style of development, enabling the identification and reuse of common approaches. In what it calls “model driven architecture,” the OMG has provided a conceptual framework and a set of standards to express models, model relationships, and model-to-model transformations. Tools and technologies can help to realize this approach, and make it practical and efficient to apply. 5.1- MDA Overview
56
Semantic web - Computer Engineering Dept. - Fall 2005 56 MDA is actually three things: An OMG initiative to develop standards based on the idea that modeling is a better foundation for developing and maintaining systems A brand for standards and products that adhere to those standards A set of technologies and techniques associated with those standards MDA and the standards that support it allow the same model specifying system functionality to be realized on multiple platforms Design once, build it on any platform” 5.1- MDA Overview
57
5.2- ODM Ontology Definition Metamodel
58
Semantic web - Computer Engineering Dept. - Fall 2005 58 Goals of creation of ODM: Enabling development of ontologies in UML tools Implementation of such ontologies in OWL without loss of fidelity Forward and reverse engineering of ontologies MDA technologies is their focus – MOF, in particular, is concerned with automating the physical management and interchange of metadata, while knowledge representation is focused on the semantics embodied in the content of the metadata as well as on automated reasoning over that content. 5.2- ODM
59
Semantic web - Computer Engineering Dept. - Fall 2005 59 Key objectives of ODM: Support ontologies expressed in existing description logics (e.g. OWL DL) and a limited set of higher order logic languages (e.g. OWL Full, SCL). Represent complex objects as aggregations of parts. Support multiple inheritance of complex types. Provide capabilities required to support physical world concepts, including time, space, bulk or mass nouns like ‘water’, and things that do not have identifiable instances. Support object concepts that have multiple facets of representations, e.g., conceptual versus representational classes. 5.2- ODM
60
Semantic web - Computer Engineering Dept. - Fall 2005 60 Key objectives of ODM: Provide a basis for information systems process descriptions to support interoperability, including such concepts as player, role, action, and object. Provide support for other generic concepts relevant to particular domains or universes of discourse. Support interoperation with other MOF and UML-based tools, including, for example, forward and reverse engineering of ontologies. 5.2- ODM
61
Semantic web - Computer Engineering Dept. - Fall 2005 61 ODM consists of three major components: metamodels, metamodel mappings, and one or more UML profiles for ontology. Formal first order and description logics, structural and subsumption / descriptive representations, and traditional conceptual or object-oriented software modeling. 5.2- ODM
62
Semantic web - Computer Engineering Dept. - Fall 2005 62 ODM Architecture 5.2- ODM
63
6- State of The Art
64
Semantic web - Computer Engineering Dept. - Fall 2005 64 W3C best practices. Ontology Driven Architecture (ODA) 6- State of The Art
65
Semantic web - Computer Engineering Dept. - Fall 2005 65 Franz Baader, Diego Calvanese, Deborah McGuineness, Daniele Nardi, and Peter Patel-Schneider, editors. The Description Logic Handbook. Cambridge University Press, 2003. Hyena Homepage. http://www.pst.ifi.lmu.de/~rauschma/hyena/ A. Zisman, J.Chelsom, N. Dinsey, S. Katz and F. Servan. Using Web Services to Interoperate Data at the FAO,DC-2002 - Metadata for e-Communities: Supporting Diversity and Convergence, Florence, October 2002. (This paper was also presented in XML Conference and Exposition 2002, Baltimore, USA, December 2002). Tilo Nitsche, Jishnu Mukerji, Dave Reynolds and Elisa Kendall. Using Semantic Web Technologies for Managment Application Integration. Workshop on Semantic Web Enabled Software Engineering (SWESE). Galway, Ireland, 2005. 6- References
66
Semantic web - Computer Engineering Dept. - Fall 2005 66 6- References Daniel Oberle, Steffen Staab, Andreas Eberhart. Towards Semantic Middleware for Web Application Development. IEEE Distributed Systems Online.February 2005. Stephan J. Mellor,Kendall Scott, Axel Uhl, Dirk Weese. MDA Distilled. Addison Wesley, 2004. Ontology Definition Metamodel Specification.2005-04-13. Holger Knublauch. Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Protégé/OWL. International Workshop on the Model-Driven Semantic Web, Monterey,CA, 2004. Semantic Web Best Practices and Deployment Working Group: Software Engineering Task Force (SETF) - http://www.w3.org/2001/sw/BestPractices/SE/ http://www.w3.org/2001/sw/BestPractices/SE/
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.