Abstract A software development life cycle can be divided into requirements elicitation, specification, design, implementation, testing, and maintenance.

Slides:



Advertisements
Similar presentations
Computer Science Department
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 10 Managing a Database.
Living in a Digital World Discovering Computers 2010.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
A Virtual Environment for Investigating Counter Measures for MITM Attacks on Home Area Networks Lionel Morgan 1, Sindhuri Juturu 2, Justin Talavera 3,
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Introduction to Systems Analysis and Design Trisha Cummings.
Approach Overview Using Dorothy, an enhanced version of the Alice 2.0 source code, and a Scribbler robot, it is our aim to increase interest in computer.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Managing Software Quality
Discovering Computers Fundamentals, 2012 Edition Your Interactive Guide to the Digital World.
Abstract Plant phenotyping involves the assessment of plant traits such as growth, tolerance, resistance, and yield. The Texas Tech Phenotyping Project.
Event Stream Processing for Intrusion Detection in ZigBee Home Area Networks Sandra Pogarcic, Samujjwal Bhandari, Kedar Hippalgaonkar, and Susan Urban.
Objectives Overview Define the term, database, and explain how a database interacts with data and information Define the term, data integrity, and describe.
Simulation of Fault Detection for Robot Applications Chase Baker, Taeghyun Kang, Michael Shin Ph.D. Interaction with robot applications are becoming increasingly.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Whitacre College of Engineering Panel Interdisciplinary Cybersecurity Education Texas Tech University NSF-SFS Workshop on Educational Initiatives in Cybersecurity.
ITEC224 Database Programming
1. Department of Arts and Sciences, Georgia State University 2. Department of Electrical and Computer Engineering, Texas Tech University 3. Department.
Descartes Specification for Wireless Device Control Feba Jacob, Vinitha Subburaj, and Joseph Urban Abstract Hackers are able to maintain long-term access.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Software Requirements Engineering: What, Why, Who, When, and How
Objectives Overview Define the term, database, and explain how a database interacts with data and information Describe the qualities of valuable information.
This is a Sample Poster First Fictional Author*, Second Author** and Third Author** *Fictional University, **Another Fictional University Abstract – include.
1 Introduction to Software Engineering Lecture 1.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
CONTENTS OF THE SRS REPORT. Software Requirements Specification (SRS) template The SRS document describes recommended approaches for the specification.
Systems Development Life Cycle
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Data Structures Using C++ 2E
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Requirements Specification Document (SRS)
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Software Engineering Lecture 10: System Engineering.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
 System Requirement Specification and System Planning.
Principles of Programming & Software Engineering
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
IEEE Std 1074: Standard for Software Lifecycle
Life Cycle Models PPT By :Dr. R. Mall.
Discussion and Conclusion
Introduction to Systems Analysis and Design
Title of Poster Site Visit 2017 Introduction Results
Title of session For Event Plus Presenters 12/5/2018.
Software requirements
Department of Computer Science Abdul Wali Khan University Mardan
Lecture # 7 System Requirements
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Title of Poster Site Visit 2018 Introduction Results
This material is based upon work supported by the National Science Foundation under Grant #XXXXXX. Any opinions, findings, and conclusions or recommendations.
Presentation transcript:

Abstract A software development life cycle can be divided into requirements elicitation, specification, design, implementation, testing, and maintenance. To provide the software that an end user wants, explicitly written requirements are necessary. Failure to provide such requirements can lead to costly design and maintenance. In natural language no matter how explicitly requirements are written, it can be ambiguous. To reduce ambiguity we can use a formal specification language, such as Descartes specification language. To make Descartes compatible with different systems, different extensions have been developed. In this project, an example of autonomous braking system is used to integrate object oriented extensions of Descartes with the agent oriented extensions of the Descartes specification language. Objectives 1.Study Descartes specification language in detail. 2.Study object oriented Descartes and agent oriented Descartes in detail. 3.Study how autonomous braking system works. 4.Review and analyze object oriented language and agent oriented language, and to develop Descartes specification language. Integrating Object Oriented Descartes Specification Language with Agent Oriented Descartes Specification Language Sandesh Bhattarai 1, Justin Talavera 2, Joseph Urban 3 1. Department of Computer Science, TTU 2. Department of Electrical and Computer Engineering, TTU 3. Department of Industrial Engineering, TTU Benefits of the Integration Agents will have well defined set of concepts. Specifications will be clear, precise and unambiguous. Basis for analyzing specifications for completeness and correctness. Help maintaining consistency throughout the system. Future Work Expand the integration process of object oriented Descartes specification language with agent oriented Descartes specification language. Develop extensions to Descartes specification language for providing security to agent oriented system. Descartes Specification Language for Autonomous Braking System agent AUTONOMOUS _BRAKING_SYSTEM_(MIN_SPEED)_AND_ (MIN_DISTANCE) goal !apply_brakes_until_vehicle_stops attributes MIN_SPEED m_speed INTEGER MIN_DISTANCE m_distance INTEGER speed ‘speed_read_from_the_sensor’ distance ‘distance_read_from_the_sensor’ roles NONE plans triggered_events+ brake_not_activate context (SPEED)_LESS_THAN_(M_SPEED) (DISTANCE)_MORE_THAN_(M_DISTANCE) methods do_not_activate_brake ‘brake_is_not_active’ brake_activate context (SPEED)_MORE_THAN_(M_SPEED) (DISTANCE)_LESS_THAN_(M_DISTANCE) methods activate_brake ‘brake_is_active’ return TRIGGERED_EVENTS+ BRAKE_NOT_ACTIVE DO_NOT_ACTIVATE_BRAKE BRAKE_ACTIVE ACTIVATE_BRAKE References [1] Pichai, R. V. and Urban, J. E., “A Technique for Validating Booch Object-Oriented Designs from Extensions to the Descartes Specification Language,” Proceedings of the IEEE High-Assurance Systems Engineering Workshop, 1996, pp [2] Wu, Y., A Methodology for Deriving a Booch Object Oriented Design from Extensions to The Descartes Specification Language, Master’s Thesis, Arizona State University, Dec [3] Schach, S.R., Object Oriented & Classical Software Engineering. New York: McGraw-Hill, Print. [4] Mosaic Software Diagram, Mosaic Software Development. Web. 18 July [5] Subburaj, V.H. and Urban J.E., “Formal Specification Language for Agent Oriented Systems,” submitted for publication. Figure 2: Relative cost of fixing a fault at each phase of software life cycle [3]. Results Descartes specification language for autonomous braking system was developed. Brakes are applied automatically when vulnerability to accident increases. Became familiarized with Object Oriented design, Descartes specification language and autonomous braking system technology. DISCLAIMER: This material is based upon work supported by the National Science Foundation and the Department of Defense under Grant No. CNS An opinions, findings, and conclusions or recommendation expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation or the Department of Defense. Object Oriented Descartes Building classes, declaring objects, defining services, access control, and identifying hierarchies were added to Descartes to specify object oriented system [2]. In object-oriented programming, classes are the blueprint or the template to build specific types of objects. In object-oriented Descartes classes have the keyword “class” followed by title, which is a class name [1, 2]. Classes in Descartes are represented as: class(CLASS_NAME)_CLASS Descartes Descartes specification language is a formal specification language, which is used to produce an execution of a system. Compared to natural language, formal specification languages are much more specific. In addition, specification language performs constant checking and validation. Agent Oriented Descartes In software engineering, agents are computer programs that are autonomous, flexible, acts upon an environment and have their design goals. Due to their autonomous nature, agents are more likely to have real time applications [5]. Agent oriented application development can be done using the Descartes specification language, which is a simple formal specification language used to specify systems. Integration Methodology Generate a case study of an agent. Write specifications using Descartes specification language. Optimize the specifications using object oriented extensions of Descartes. Case Study Autonomous braking system has sensors which monitors the area in front of the vehicle and on the sides; and applies brakes when collision is expected to occur. The autonomous braking system specification takes two inputs: MIN_SPEED and MIN_DISTANCE. MIN_SPEED represents the minimum speed vehicle needs to have for autonomous braking system to be active. MIN_DISTANCE is the distance between the vehicle and other object(s) which might cause collision. These inputs are used to check if the brake has to be applied to the vehicle. SPEED and DISTANCE are integer values taken from the sensor. SPEED and DISTANCE are compared with MIN_SPEED and MIN_DISTANCE to decide when to apply brakes. Figure 1: Software Development life cycle [4]. Summary With increasing use of agents in the industrial area and also on other sectors; use of object oriented paradigms will make the future development and maintenance easier. Since Descartes specification language is executable, errors can be detected in earlier stage of software development life cycle. Expanding research on specification language could change how software are developed in present time. TTU 2014 NSF Research Experiences for Undergraduates Site Program