Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.

Slides:



Advertisements
Similar presentations
IB Portfolio Tasks 20% of final grade
Advertisements

Lecture # 2 : Process Models
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
Basics of Knowledge Management ICOM5047 – Design Project in Computer Engineering ECE Department J. Fernando Vega Riveros, Ph.D.
SD3049 Formal Methods Module Leader Dr Aaron Kans Module website
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
School of Computing and Mathematics, University of Huddersfield Knowledge Engineering: Issues for the Planning Community Lee McCluskey Department of Computing.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Information Modeling: The process and the required competencies of its participants Paul Frederiks Theo van der Weide.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
Chapter 9 Database Design
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Task analysis 1 © Copyright De Montfort University 1998 All Rights Reserved Task Analysis Preece et al Chapter 7.
Lecture Nine Database Planning, Design, and Administration
Conceptual modelling. Overview - what is the aim of the article? ”We build conceptual models in our heads to solve problems in our everyday life”… ”By.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Computational Thinking The VT Community web site:
Chapter 2 The process Process, Methods, and Tools
Requirements Expression and Modelling
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
ITEC224 Database Programming
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
ITEC 3220M Using and Designing Database Systems
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
UML Profile to Support Requirements Engineering with KAOS Presented by Chin-Yi Tsai.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Requirements Engineering Methods for Requirements Engineering Lecture-30.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
SD3049 Formal Methods. Formal Methods Module Leader Dr Aaron Kans
1 Overview of the project: Requirement-Driven Development of Distributed Applications School of Information Technology and Engineering (SITE) University.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Formal Methods.
Software Prototyping Rapid software development to validate requirements.
Safety-Critical Systems 4 Formal Methods / Modelling
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Assignment Help From Requirements Elicitation to Elicitation.
RE-ENGINEERING AND DOMAIN ANALYSIS BY- NISHANTH TIRUVAIPATI.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Algorithms and Problem Solving
Software Design Methodology
Specifying collaborative decision-making systems
Advantages of Formal Methods
Algorithms and Problem Solving
Department of Computer Science Abdul Wali Khan University Mardan
Dept. of Computation, UMIST
Presentation transcript:

Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods Extended for CD (ontologies) OAD Methods Diagrammatic Notation Diagrammatic Notation Specification in metamodel Specification in metamodel reuse of reverse engineering workproducrs reuse of OAD workproducrs Compositional Design Semantics & Metamodel underlying semantics underlying semantics

Formal Methods n Formal methods are mathematically based techniques for describing system properties; have an underlying theoretical model against which a description can be verified. n Model-based specifications use typed set theory and sets as formally defined mathematical entities. VDM, Z, RSL, AMN are well known model-oriented [sequential] languages. n Communicating Sequential Processes (CSP), Calculus of Communicating Systems (CCS) and Petri Nets are different model-oriented concurrent methods. n Larch is an algebraic sequential language. n Formal methods are mathematically based techniques for describing system properties; have an underlying theoretical model against which a description can be verified. n Model-based specifications use typed set theory and sets as formally defined mathematical entities. VDM, Z, RSL, AMN are well known model-oriented [sequential] languages. n Communicating Sequential Processes (CSP), Calculus of Communicating Systems (CCS) and Petri Nets are different model-oriented concurrent methods. n Larch is an algebraic sequential language.

Difficulties with formal methods n Methodological and tool support still is not sufficient n Conceptual grammars of formal tools require familiarity with discrete mathematics and symbolic logic n Inappropriate tool for communicating with the end user during the earlier requirements elicitation and confirmation stages n Formal languages may not be an ideal for exploring and discovering the problem structure during the problem refinement process at the early stages of problem solving n Management is generally conservative and unwilling to use new techniques whose benefits are not yet established. n Methodological and tool support still is not sufficient n Conceptual grammars of formal tools require familiarity with discrete mathematics and symbolic logic n Inappropriate tool for communicating with the end user during the earlier requirements elicitation and confirmation stages n Formal languages may not be an ideal for exploring and discovering the problem structure during the problem refinement process at the early stages of problem solving n Management is generally conservative and unwilling to use new techniques whose benefits are not yet established.

Strategies of incorporating formal methods n Direct: moving directly natural language specifications to a fully developed set of formal specifications n Transitional: through intermediate representations in semi-formal notation n Transitional process can be partitioned into sequential and parallel successive refinement approaches. n Formalization support: unassisted or computer-based n Four generic strategies are identified: direct unassisted, direct computer-assisted, transitional unassisted, and transitional computer assisted. n Transitional strategies can be further classified into transitional sequential and transitional parallel n Direct: moving directly natural language specifications to a fully developed set of formal specifications n Transitional: through intermediate representations in semi-formal notation n Transitional process can be partitioned into sequential and parallel successive refinement approaches. n Formalization support: unassisted or computer-based n Four generic strategies are identified: direct unassisted, direct computer-assisted, transitional unassisted, and transitional computer assisted. n Transitional strategies can be further classified into transitional sequential and transitional parallel

Strategies evaluation n Direct Unassisted Strategy. Requirements engineer should combine thorough knowledge of the application domain and an ability to formalize the problem in its entirety; close collaboration between the user and the requirements engineer is necessary. Small, well-structured domains where users are mathematically sophisticated enough to understand and validate the formally stated specifications. Prototypical situations. n Direct Computer-Assisted Strategy. Usually computer assistance takes a form of knowledge-based support for eliciting, discovering and creating the formal specification. Scaling up of this strategy to real-world applications would require a large amount of work. n Direct Unassisted Strategy. Requirements engineer should combine thorough knowledge of the application domain and an ability to formalize the problem in its entirety; close collaboration between the user and the requirements engineer is necessary. Small, well-structured domains where users are mathematically sophisticated enough to understand and validate the formally stated specifications. Prototypical situations. n Direct Computer-Assisted Strategy. Usually computer assistance takes a form of knowledge-based support for eliciting, discovering and creating the formal specification. Scaling up of this strategy to real-world applications would require a large amount of work.

Strategies evaluation (2) n Transitional Unassisted Strategy. Relies entirely on the formal language skills of the requirements engineer to translate between semi-formal and formal requirement specifications. Cognitive science conclusions: semi-formal representation suits better to exploring and discovering the problem structure. n Transitional sequential approach is feasible in those situations where detailed and complete requirements are either previously known or are easily discovered n Transitional Computer-Assisted Strategy: has advantage to move back and forth between semi-formal and formal specifications. n Transitional Unassisted Strategy. Relies entirely on the formal language skills of the requirements engineer to translate between semi-formal and formal requirement specifications. Cognitive science conclusions: semi-formal representation suits better to exploring and discovering the problem structure. n Transitional sequential approach is feasible in those situations where detailed and complete requirements are either previously known or are easily discovered n Transitional Computer-Assisted Strategy: has advantage to move back and forth between semi-formal and formal specifications.

Strategy for compositional development n Transitional strategy: semi-formal specification canonical object model and purely formal, mathematical AMN facilities. n Computer-assistance is based on a mapping of canonical specifications into the formal ones. n The strategy is transitional parallel: specifications obtained as the semi-formal on various stages can be mapped into formal specifications for their verification, getting proper feedback, correcting and improving of the original ones. n For a top-down, bottom-up process it is allowed parallel appearance of multiple refinement layers with synchronized semi-formal and formal specifications influencing each other. n Transitional strategy: semi-formal specification canonical object model and purely formal, mathematical AMN facilities. n Computer-assistance is based on a mapping of canonical specifications into the formal ones. n The strategy is transitional parallel: specifications obtained as the semi-formal on various stages can be mapped into formal specifications for their verification, getting proper feedback, correcting and improving of the original ones. n For a top-down, bottom-up process it is allowed parallel appearance of multiple refinement layers with synchronized semi-formal and formal specifications influencing each other.