Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Abstract A software development life cycle can be divided into requirements elicitation, specification, design, implementation, testing, and maintenance."— Presentation transcript:

1 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. 40-47. [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. 1994. [3] Schach, S.R., Object Oriented & Classical Software Engineering. New York: McGraw-Hill, 2005. Print. [4] Mosaic Software Diagram, Mosaic Software Development. Web. 18 July 2014. www.mosaicsd.com [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-1263183. 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


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

Similar presentations


Ads by Google