Software Engineering and Ontological Engineering: Contributions, Perspectives, Challenges and Learned Lessons Marcelo José Siqueira C. de Almeida

Slides:



Advertisements
Similar presentations
Rational Unified Process®
Advertisements

Opportunistic Reasoning for the Semantic Web: Adapting Reasoning to the Environment Carlos Pedrinaci Tim Smithers and Amaia Bernaras.
Sharif University of Technology Session # 2.  Contents  Structured analysis and design  Information system development  Systems Analysis and Design.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
7-1 INTRODUCTION: SoA Introduced SoA in Chapter 6 Service-oriented architecture (SoA) - perspective that focuses on the development, use, and reuse of.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
SmartER Semantic Cloud Sevices Karuna P Joshi University of Maryland, Baltimore County Advisors: Dr. Tim Finin, Dr. Yelena Yesha.
Galia Angelova Institute for Parallel Processing, Bulgarian Academy of Sciences Visualisation and Semantic Structuring of Content (some.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 3 – Building.
REPORT ON STICA‘06 1st International Workshop on Semantic Technologies in Collaborative Applications Chairman: Robert.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Testing and Quality Assurance
Software Architecture in Practice
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Software engineering on semantic web and cloud computing platform Xiaolong Cui Computer Science.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
Web-based design Flávio Rech Wagner UFRGS, Porto Alegre, Brazil SBCCI, Manaus, 24/09/00 Informática UFRGS.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
Software testing and development for intended quality Tero Pesonen.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
Survey of Ontology Engineering Methodologies
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Term Paper – CSC 557 “Contemporary Software Development Using Cloud Resources” By: Richard Appiah.
Introduction to Software Engineering
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
ApplicationsApplications Mills Davis Ana Cristina Garcia Peter Mika Gerti Orthofer Giovanni Sacco Maria A. Wimmer (Moderator)
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
The Systems Development Life Cycle
Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
An Introduction to Software Engineering Support Lecture.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Scientific Workflow systems: Summary and Opportunities for SEEK and e-Science.
A View-based Methodology for Collaborative Ontology Engineering (VIMethCOE) Ernesto Jiménez Ruiz Rafael Berlanga Llavorí Temporal Knowledge Bases Group.
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
1 Class exercise II: Use Case Implementation Deborah McGuinness and Peter Fox CSCI Week 8, October 20, 2008.
Confidential and Proprietary 1 Project Management using Scrum at Wachovia.
31 March Learning design: models for computers, for engineers or for teachers? Jean-Philippe PERNIN (*,**) Anne LEJEUNE (**) (*) Institut national.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Implementation Science: Finding Common Ground and Perspectives Laura Reichenbach, Evidence Project, Population Council International Conference on Family.
1 Open Discovery Space Overview Argiris Tzikopoulos, Ellinogermaniki Agogi Open Discovery Space [CIP-ICT-PSP ][elearning] A socially-powered and.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Technische Universität München © Prof. Dr. H. Krcmar An Ontology-based Platform to Collaboratively Manage Supply Chains Tobias Engel, Manoj Bhat, Vasudhara.
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
Process 4 Hours.
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
CASE Tools and Joint and Rapid Application Development
The Systems Engineering Context
Module: Software Engineering of Web Applications
HCI in the software process
Introduction to Software Engineering
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
HCI in the software process
HCI in the software process
Applying Agile Lean to Global Software Development
Module: Software Engineering of Web Applications
From Use Cases to Implementation
Presentation transcript:

Software Engineering and Ontological Engineering: Contributions, Perspectives, Challenges and Learned Lessons Marcelo José Siqueira C. de Almeida

Summary Introduction Motivation SE and OE… close or too far away? Scenarios and Collaborations Software Engineering Ontological Engineering Similarities and Differences between SE and OE Reflections Contributions from SE to OE (and vice-versa) Conclusions 2

Introduction With the advent of Semantic Web, ontologies have gained interest from the mainstream of Computer Science in the development of different kinds of applications: – Knowledge Management – Natural Language Processing – E-Commerce – Intelligent Integration of Information – Information Retrieval – Data Base Integration and Project – Computer Network and Distributed System Management 3

Motivation Growing demands for ontologies push the community of ontology developers and researchers to apply systematic engineering approaches. – Discarding of ad-hoc approaches Important themes: – Reuse – Quality – Market – Standards 4

SE and OE: close… or too far away?? Despite of sharing a certain quantity of topics, Software Engineering (SE) and Ontological Engineering (OE) communities have been working separately. – Is there room for effort integration? – What are the learned lessons? – How can each part profit from this union? 5

Scenario1 Scenario 1 Applying of SE for Ontology development (lifecycle, metrics, modeling languages, etc.) Ontological Engineering 6

Adoption of Ontologies to improve the SE processes (support during the lifecycle, execution infra-structure) (Ontology Based) Software Engineering Scenario 2 7

OntologiesOntologiesSoftwareEngineeringSoftwareEngineering Collaborations May support the Development of new SE approaches May support the Development of new SE approaches Inspirations for the OE development and maturing Inspirations for the OE development and maturing 8

SoftwareEngineering Software Engineering SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software (Abran and Moore 2004). – Mimic of traditional engineering to cope with the software complexities. – SE pushed the efforts from low-level programming to high-level modeling efforts. – Today SE is a reputed discipline for the market (despite it was a gradual – and slow - process). 9

SoftwareEngineering Software Engineering Some Important Themes: – Methodologies (RUP, XP, Scrum etc) – Component Based Development (EJB,COM+) – Patterns (Analysis, Design, Tests etc.) – Quality assurance (CMMI, MPS.BR, ISO/IEC 15540) – Model Transformation (MDA) – Aspect-Oriented Development (AspectJ) 10

OntologicalEngineering Ontological Engineering Refers to (Corcho et al., 2006): – the set of activities that concerns the ontology development process; – the ontology life cycle; – the principles, methods and methodologies for building ontologies; – the tool suites and languages that support them. Eng. Tradic. Eng. SW Eng. Ont. 11

OntologicalEngineering Ontological Engineering Methods and methodologies – Cyc (Leena and Guto, 1990) – TOVE (Grüninger and Fox, 1995) – Methontology (Goméz-Pérez et al., 1997) – 101 (Noy and McGuinness, 2001) – Diligent (Tempich, 2006) 12

OntologicalEngineering Ontological Engineering Agile Methodologies – OntoAgile (Parente, 2008) Based on the agile methodologies XP and Scrum. Less documentation and more user interaction Limitation: Intended to development of small-size ontologies RapidOWL (Auer and Herre, 2006) Based on the idea of iterative refinement, annotation and structuring of a knowledge base. A central paradigm is the focus on smallest information chunks (RDF chunks). Influenced by XP.K (eXtremme Programming of Knowledge- based systems) and the wiki approach. 13

OntologicalEngineering Ontological Engineering Tools (Corcho et al., 2006) – Ontolingua Server (Ontolingua and KIF) – OntoSaurus (Loom) – WebOnto(OCML) – SWOOP and KAON2 (OWL) – SWoogle – WebODE – OntoEdit – KAON1 – Protégé (Frames and OWL) 14

OntologicalEngineering Ontological Engineering State of Art – Modularization – Development Patterns 15

OntologicalEngineering Ontological Engineering Modularization (Spaccapietra et al., 2005) – The main aim is to provide scalability in design, use and maintenance of ontologies (Stuckenschimidt and Klein, 2003) Distributed ontologies Large Ontologies Reusability – Ontology composition and decomposition 16

OntologicalEngineering Ontological Engineering Module 1 Module 2 Module 3 Resultant Ontology Composition Decomposition 17

OntologicalEngineering Ontological Engineering Development Patterns (Blomqvist, 2007; Gangemi, 2008) – Patterns have been successfully applied as a means for facilitating reuse and managing complexity in many areas. – Reusability has gained increasing interest by the ontology community – Complexity is a serious problem in the management of ontologies. 18

OntologicalEngineering Ontological Engineering Proposal of a Pattern Classification(Blomqvist and Sandkuhl, 2007): – Application Patterns – Architecture Patterns – Design Patterns – Semantic Patterns – Syntactic Patterns 19

SimilaritiesbetweenSEandOE Similarities between SE and OE Historical contexts – Necessity for systematic approaches in order to obtain better, cheaper and quickly developed products. Development based on a well defined set of steps: – Viability, specification, analysis, implementation, integration, tests, etc. Reusability as a driving force 20

The result of SE is a running software and the result of an OE is an ontology. SE community is very concerned to quality questions. SE is a very mature discipline, but OE is still in its early years. Differences betweenSEandOE Differences between SE and OE 21

Differences betweenSEandOE Differences between SE and OE 22

Reflections Why not simply to apply Software Engineering methodologies to ontology development? – Ontologies are software… – …But ontologies aren’t applications! – Knowledge and semantic requirements – Lack of knowledge from the SE community to deal with KBS Application Ontology Data 23

Reflections Is OE just a branch of SE? – Ontologies as a software artifact – Will the traditional SE approaches really adopt OE or are we just surfing in a hype?OE SE 24

Conclusions The AI community has given an important step forward into the market: – Necessity to develop an Engineering approach. – Knowledge-Based Systems for the masses (?) OE and SE communities have benefited mutually – Benefits could be broader if efforts could be integrated in common projects. – Market developers woke up to ontology power but there is still a long way to walk away to achieve a large adoption. Despite all OE advance there are many gaps yet! – Standardization – Component-based development – Quality assessment 25

Conclusions No existing methodology approaches the recent advances in OE. The real understanding of differences and similarities between OE and SE must comes with the understanding of differences and similarities between ontologies and software applications. Maybe in the future there won´t be a line between them: – Semantic web as a development platform similar to what happens today in Web 1.0 and Web

Thank you!