1 / 1

Abstract

Extensions to the Descartes Specification Language for the Development of Real-Time Object Oriented Systems Benjamin D. Horne, Vinitha Hannah Subburaj, and Joseph E. Urban. Unified Modeling Language ( UML ) [3]

harley
Télécharger la présentation

Abstract

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extensions to the Descartes Specification Language for the Development of Real-Time Object Oriented SystemsBenjamin D. Horne, Vinitha Hannah Subburaj, and Joseph E. Urban • Unified Modeling Language (UML) [3] • UML is a standard graphical language for specifying, envisioning, and creating software designs • UML is made specifically for object oriented design and analysis (Objects, Classes, Abstraction, Inheritance, Polymorphism) • UML static and dynamic diagrams include: Class, Object, Component, Deployment, Use Case, Interaction (sequence), State chart, and Activity The Home Heating System Problem(Abbreviated Example Shown) //Operation category: modifier HARDWARE_CONTROL::ACTIVATE_(SYSTEM)_(PRESET_TEMP)_(CHECK_STRUCT_OBJECT) SYSTEM boolean_type+ true 'system is on' false 'system is off' . . . CHECK_STRUCT_OBJECT object_of_class_check_struct CHECK_STRUCT return . . . CHECK_STRUCT_OBJECT.ADEQUATE_MOTOR_SPEED BOOLEAN_TYPE+ TRUE 'motor speed is adequate' parallel FLOW_CONTROL.ACTIVATE_(CHECK_STRUCT_OBJECT.OIL_VALVE) HEAT_CONTROL.ACTIVATE_(CHECK_STRUCT_OBJECT.IGNITION_VALVE) CHECK_STRUCT_OBJECT.OIL_VALVE BOOLEAN_TYPE+ TRUE 'oil valve is activated' FALSE0 NULL . . . CHECK_STRUCT_OBJECT.COMBUSTION BOOLEAN_TYPE+ TRUE 'combustion has not failed' FALSE 'combustion has failed' INSTANT_SHUT_DOWN_(SYSTEM) . . . • Future Work • Design more RTOO systems in Descartes to verify proposed extensions and language satisfaction • Create different designs for the HHS to use more Descartes-RT extensions and gain more verification of those extensions • Summary • The Descartes specification language with real-time and object oriented extensions satisfies the needed RTOO specification with two additional extensions. • This work would be best verified by more RTOO design cases. • The language does increase precision of system design; thus, fulfills the intended purpose. • Abstract • Traditionally, real-time system software focuses on low-level programming techniques to increase timeliness and operate within constraints; however, more recently higher-level, object-oriented methodologies are being used to create real-time system software. This increase in object-oriented design for real-time systems is due to the improved use of active objects and concurrency in object-oriented (OO) languages. • Real-time aspects have not only improved in many programming languages, but these real-time constraints are becoming more essential in general object-oriented software development. Consequently, the specification of real-time object-oriented systems is becoming vastly important in today's software development processes. • One of the many tools used to specify software is an executable specification language called Descartes [2]. Descartes relates output data to input data as a function of the input data through a tree structure notation called "Hoare trees." This useful specification structure has been extended and supported for several types of systems since the language's creation in 1977. In particular, Descartes has been extended for the specification of real-time systems and for object-oriented designed systems. In spite of this, the combination of the two extensions for specification of today's widespread real-time object oriented (RTOO) systems has not been tested. Thus, the main objective of this research effort was to verify that the combination of the two Descartes extensions either satisfied the needed specification for RTOO systems or that the language needed to be additionally extended. • To gain further verification of these united Descartes extensions, the Unified Modeling Language (UML) has been used for comparison in aspects of design and effectiveness. Objectives 1. Study of Descartes and Descartes extensions2. Study of real-time object oriented systems and design3. Combine the Descartes object oriented extension with the Descartes real-time extension to create a specification for a real-time object oriented system4. Verify Descartes' satisfaction of needed specification or propose additional extensions5. Compare the Descartes specification to a Unified Modeling Language (UML) specification for further verification of design Figure 1: Class Diagram of the HHS • Proposed Extensions to Descartes • The two proposed extensions during this research effort include: • Keyword: abstract- represents a class or method that is not implemented or instantiated. This keyword is similar to the keyword “abstract” used in the Java programming language • Keyword: interface-represents an abstract generic template class that can only contain method signatures and constant variables. This keyword is similar to the keyword “interface” used in the Java programming language • Both extensions cover important concepts in OO Design *The Coloring of the Descartes Code is only used to improve readability Figure 2: Sequence Diagram of the HHS References: [1] Software Processors," WikiCommons, 2012. [2] Urban, J. E., A Specification Language and Its Processor, Ph.D. Dissertation, University of Louisiana at Lafayette, 1977. [3] "Tutorials Point: UML," Tutorials Point, 2012. [Online]. Available: http://www.tutorialspoint.com/uml/uml_interaction_diagram.htm. [Accessed 2012]. • Descartes Specification Language [2] • Descartes is a formal executable specification language based on a functional model; thus, it relates output data to the input data as a function of the input data. The language: • uses pattern matching and referencing • uses a tree structure notation called a "Hoare tree" to characterize and define data • uses three data structuring methods (direct product, discriminated union, sequence) • supports top-down development using modules • has pre-defined arithmetic primitives, logical primitives, and Boolean primitives This research is supported by NSF Grant No. CNS 1005212. Opinions, findings, conclusions, or recommendations expressed in this paper are those of the author(s) and do not necessarily reflect the views of NSF [1] Texas Tech University 2012 REU program Figure 3: Software Development Life Cycle

More Related