Semantic Web in Software Engineering Semantic Web - Fall 2005 Computer Engineering Department Sharif University of Technology Salman Mirghasemi salmir19 {at} yahoo Outline Introduction Software Engineering Information Systems SIS Systems Hyena W3C SW Best Practices-SE task force ODA Management Application Integration Middleware State of the art Software Integration Software Integration at the FAO KAON server MDA MDA Overview ODM 2 Semantic web - Computer Engineering Dept. Fall 2005 1- Introduction 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. 4 Semantic web - Computer Engineering Dept. Fall 2005 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 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. 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. 7 Semantic web - Computer Engineering Dept. Fall 2005 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. Model Code Domain TBOX (size) 20 200 ABOX (size) thousands few Example What is data-type of the variable dial-tone? What is a dialtone? 8 Semantic web - Computer Engineering Dept. Fall 2005 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. 9 Semantic web - Computer Engineering Dept. Fall 2005 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. 10 Semantic web - Computer Engineering Dept. Fall 2005 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? 11 Semantic web - Computer Engineering Dept. Fall 2005 2.1- SIS systems After LaSSIE ,more completed SIS systems created: like : CODEBASE , CSIS and CBMS systems. Most important features : Better Performance Full-Scale parse of the code Using hyperlinks Role inverse Changes & Changed-By 12 Path tracing ChangedInFunction instead of ChangedBy o implementationOF (only one click) Subsumption Semantic web - Computer Engineering Dept. Fall 2005 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. 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 14 Semantic web - Computer Engineering Dept. Fall 2005 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 domainspecific 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. 15 Semantic web - Computer Engineering Dept. Fall 2005 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. 16 Semantic web - Computer Engineering Dept. Fall 2005 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. 17 Semantic web - Computer Engineering Dept. Fall 2005 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 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. 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. 20 Semantic web - Computer Engineering Dept. Fall 2005 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,…). 21 Semantic web - Computer Engineering Dept. Fall 2005 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. 22 Semantic web - Computer Engineering Dept. Fall 2005 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. 23 Semantic web - Computer Engineering Dept. Fall 2005 3.1- Software Integration at the FAO Architecture of the Information Bus 24 Semantic web - Computer Engineering Dept. Fall 2005 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. 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. 26 Semantic web - Computer Engineering Dept. Fall 2005 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. 27 Semantic web - Computer Engineering Dept. Fall 2005 3.2- Management Application Integration Model Transformation 28 Semantic web - Computer Engineering Dept. Fall 2005 4- Middleware We will describe works done to apply semantic web technologies in middleware technologies. (Application Server, Web Service) 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. 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. 31 Semantic web - Computer Engineering Dept. Fall 2005 4.1- KAON Server Ontology Modules in KOAN Server 32 Semantic web - Computer Engineering Dept. Fall 2005 4.1- KAON Server KOAN Server Architecture 33 Semantic web - Computer Engineering Dept. Fall 2005 4.1- KAON Server Browsing the Ontology at Runtime 34 Semantic web - Computer Engineering Dept. Fall 2005 4.1- KAON Server Example : Context Switch Problem Applying an inference engine allows us to query for user-resourcepairs that are deduced by the rules above at runtime. 35 Semantic web - Computer Engineering Dept. Fall 2005 5-MDA Model Driven Architecture 1- MDA Overview 2- ODM 5.1- MDA Overview 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. 38 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview OMG Milestones 39 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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. 40 Semantic web - Computer Engineering Dept. Fall 2005 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 41 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 2- Increasing the level of reuse and composition in system construction. 42 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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. 43 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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). 44 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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 45 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview PIM to PSM transformation 46 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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 47 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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 48 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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 49 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 50 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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) 51 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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 52 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview Automation in software development 53 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview Development Process 54 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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. 55 Semantic web - Computer Engineering Dept. Fall 2005 5.1- MDA Overview 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” 56 Semantic web - Computer Engineering Dept. Fall 2005 5.2- ODM Ontology Definition Metamodel 5.2- ODM 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. 58 Semantic web - Computer Engineering Dept. Fall 2005 5.2- ODM 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. 59 Semantic web - Computer Engineering Dept. Fall 2005 5.2- ODM 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. 60 Semantic web - Computer Engineering Dept. Fall 2005 5.2- ODM 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. 61 Semantic web - Computer Engineering Dept. Fall 2005 5.2- ODM ODM Architecture 62 Semantic web - Computer Engineering Dept. Fall 2005 6- State of The Art 6- State of The Art W3C best practices. Ontology Driven Architecture (ODA) 64 Semantic web - Computer Engineering Dept. Fall 2005 6- References 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. 65 Semantic web - Computer Engineering Dept. Fall 2005 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/ 66 Semantic web - Computer Engineering Dept. Fall 2005