Computer-aided software engineering

Computer-aided software engineering

Computer-aided software engineering (CASE) is a domain of software tools used to design and implement applications. CASE tools are similar to and are partly inspired by computer-aided design (CAD) tools used for designing hardware products. CASE tools are intended to help develop high-quality, defect-free, and maintainable software. CASE software was often associated with methods for the development of information systems together with automated tools that could be used in the software development process. == History == The Information System Design and Optimization System (ISDOS) project, started in 1968 at the University of Michigan, initiated a great deal of interest in the whole concept of using computer systems to help analysts in the very difficult process of analysing requirements and developing systems. Several papers by Daniel Teichroew fired a whole generation of enthusiasts with the potential of automated systems development. His Problem Statement Language / Problem Statement Analyzer (PSL/PSA) tool was a CASE tool although it predated the term. Another major thread emerged as a logical extension to the data dictionary of a database. By extending the range of metadata held, the attributes of an application could be held within a dictionary and used at runtime. This "active dictionary" became the precursor to the more modern model-driven engineering capability. However, the active dictionary did not provide a graphical representation of any of the metadata. It was the linking of the concept of a dictionary holding analysts' metadata, as derived from the use of an integrated set of techniques, together with the graphical representation of such data that gave rise to the earlier versions of CASE. The next entrant into the market was Excelerator from Index Technology in Cambridge, Mass. While DesignAid ran on Convergent Technologies and later Burroughs Ngen networked microcomputers, Index launched Excelerator on the IBM PC/AT platform. While, at the time of launch, and for several years, the IBM platform did not support networking or a centralized database as did the Convergent Technologies or Burroughs machines, the allure of IBM was strong, and Excelerator came to prominence. Hot on the heels of Excelerator were a rash of offerings from companies such as Knowledgeware (James Martin, Fran Tarkenton and Don Addington), Texas Instrument's CA Gen and Andersen Consulting's FOUNDATION toolset (DESIGN/1, INSTALL/1, FCP). CASE tools were at their peak in the early 1990s. According to the PC Magazine of January 1990, over 100 companies were offering nearly 200 different CASE tools. At the time IBM had proposed AD/Cycle, which was an alliance of software vendors centered on IBM's Software repository using IBM DB2 in mainframe and OS/2: The application development tools can be from several sources: from IBM, from vendors, and from the customers themselves. IBM has entered into relationships with Bachman Information Systems, Index Technology Corporation, and Knowledgeware wherein selected products from these vendors will be marketed through an IBM complementary marketing program to provide offerings that will help to achieve complete life-cycle coverage. With the decline of the mainframe, AD/Cycle and the Big CASE tools died off, opening the market for the mainstream CASE tools of today. Many of the leaders of the CASE market of the early 1990s ended up being purchased by Computer Associates, including IEW, IEF, ADW, Cayenne, and Learmonth & Burchett Management Systems (LBMS). The other trend that led to the evolution of CASE tools was the rise of object-oriented methods and tools. Most of the various tool vendors added some support for object-oriented methods and tools. In addition new products arose that were designed from the bottom up to support the object-oriented approach. Andersen developed its project Eagle as an alternative to Foundation. Several of the thought leaders in object-oriented development each developed their own methodology and CASE tool set: Jacobson, Rumbaugh, Booch, etc. Eventually, these diverse tool sets and methods were consolidated via standards led by the Object Management Group (OMG). The OMG's Unified Modelling Language (UML) is currently widely accepted as the industry standard for object-oriented modeling. == CASE software == === Tools === CASE tools support specific tasks in the software development life-cycle. They can be divided into the following categories: Business and analysis modeling: Graphical modeling tools. E.g., E/R modeling, object modeling, etc. Development: Design and construction phases of the life-cycle. Debugging environments. E.g., IISE LKO. Verification and validation: Analyze code and specifications for correctness, performance, etc. Configuration management: Control the check-in and check-out of repository objects and files. E.g., SCCS, IISE. Metrics and measurement: Analyze code for complexity, modularity (e.g., no "go to's"), performance, etc. Project management: Manage project plans, task assignments, scheduling. Another common way to distinguish CASE tools is the distinction between Upper CASE and Lower CASE. Upper CASE Tools support business and analysis modeling. They support traditional diagrammatic languages such as ER diagrams, Data flow diagram, Structure charts, Decision Trees, Decision tables, etc. Lower CASE Tools support development activities, such as physical design, debugging, construction, testing, component integration, maintenance, and reverse engineering. All other activities span the entire life-cycle and apply equally to upper and lower CASE. === Workbenches === Workbenches integrate two or more CASE tools and support specific software-process activities. Hence they achieve: A homogeneous and consistent interface (presentation integration) Seamless integration of tools and toolchains (control and data integration) An example workbench is Microsoft's Visual Basic programming environment. It incorporates several development tools: a GUI builder, a smart code editor, debugger, etc. Most commercial CASE products tended to be such workbenches that seamlessly integrated two or more tools. Workbenches also can be classified in the same manner as tools; as focusing on Analysis, Development, Verification, etc. as well as being focused on the upper case, lower case, or processes such as configuration management that span the complete life-cycle. === Environments === An environment is a collection of CASE tools or workbenches that attempts to support the complete software process. This contrasts with tools that focus on one specific task or a specific part of the life-cycle. CASE environments are classified by Fuggetta as follows: Toolkits: Loosely coupled collections of tools. These typically build on operating system workbenches such as the Unix Programmer's Workbench or the VMS VAX set. They typically perform integration via piping or some other basic mechanism to share data and pass control. The strength of easy integration is also one of the drawbacks. Simple passing of parameters via technologies such as shell scripting can't provide the kind of sophisticated integration that a common repository database can. Fourth generation: These environments are also known as 4GL standing for fourth generation language environments due to the fact that the early environments were designed around specific languages such as Visual Basic. They were the first environments to provide deep integration of multiple tools. Typically these environments were focused on specific types of applications. For example, user-interface driven applications that did standard atomic transactions to a relational database. Examples are Informix 4GL, and Focus. Language-centered: Environments based on a single often object-oriented language such as the Symbolics Lisp Genera environment or VisualWorks Smalltalk from Parcplace. In these environments all the operating system resources were objects in the object-oriented language. This provides powerful debugging and graphical opportunities but the code developed is mostly limited to the specific language. For this reason, these environments were mostly a niche within CASE. Their use was mostly for prototyping and R&D projects. A common core idea for these environments was the model–view–controller user interface that facilitated keeping multiple presentations of the same design consistent with the underlying model. The MVC architecture was adopted by the other types of CASE environments as well as many of the applications that were built with them. Integrated: These environments are an example of what most IT people tend to think of first when they think of CASE. Environments such as IBM's AD/Cycle, Andersen Consulting's FOUNDATION, the ICL CADES system, and DEC Cohesion. These environments attempt to cover the complete life-cycle from analysis to maintenance and provide an integrated database repository for storing all artifacts of the software pr

WriterDuet

WriterDuet is a screenwriting software for writing and editing screenplays and other forms of mass media. == History == WriterDuet was founded in 2013 by Guy Goldstein. In April 2015, WriterDuet acquired the domain for Scripped.com after they closed, citing a serious technical failure. In August 2016, WriterDuet released a localized version of its software in China. In May 2018, WriterDuet included Bechdel test analysis functions to address issues of gender diversity in the screenwriting industry. In 2018, WriterDuet published WriterSolo, an offline version of their app that runs on the browser and opens/saves files on the computer, Dropbox, Google Drive, and iCloud. In July 2019, WriterDuet made the WriterSolo browser app and desktop app available as pay-what-you-want under the web address FreeScreenwriting.com. == Features == WriterDuet is primarily used to outline, write, and format screenplays to the standards recommended by the AMPAS. It also supports formats for theater, novels, and video games. The software is powered by Firebase allowing users to write together in real-time from multiple devices. WriterDuet's main competitors in the screenwriting industry are Final Draft, Celtx, and Movie Magic Screenwriter.

Bonnie Webber

Bonnie Lynn Nash-Webber (born August 30, 1946) is a computational linguist. She is an honorary professor of intelligent systems in the Institute for Language, Cognition and Computation (ILCC) at the University of Edinburgh. == Education and career == Webber completed her PhD at Harvard University in 1978, advised by Bill Woods, while at the same time working with Woods at Bolt Beranek and Newman. == Career and research == Webber was appointed a professor at the University of Pennsylvania for 20 years before moving to Edinburgh in 1998. She has many academic descendants through her student at Pennsylvania, Martha E. Pollack. After retiring from the University of Edinburgh in 2016, she was listed by the university as an honorary professor. === Publications === Webber's doctoral dissertation, A Formal Approach to Discourse Anaphora, used formal logic to model the meanings of natural-language statements; it was published by Garland Publishers in 1979 in their Outstanding Dissertations in Linguistics Series. With Norman Badler and Cary Phillips, Webber is a co-author of the book Simulating Humans: Computer Graphics Animation and Control (Oxford University Press, 1993). With Aravind Joshi and Ivan Sag she is a co-editor of Elements of Discourse Understanding, with Nils Nilsson she is co-editor of Readings in Artificial Intelligence, and with Barbara Grosz and Karen Spärck Jones she is co-editor of Readings in Natural Language Processing. === Awards and honours === Webber was appointed a Founding Fellow of the Association for the Advancement of Artificial Intelligence (AAAI) in 1990, and was elected a Fellow of the Royal Society of Edinburgh (FRSE) in 2004. She served as president of the Association for Computational Linguistics (ACL) in 1980, and became a Fellow of the Association for Computational Linguistics in 2012, "for significant contributions to discourse structure and discourse-based interpretation". In 2020, she was awarded the Association for Computational Linguistics Lifetime Achievement Award.

Muller automaton

In automata theory, a Muller automaton is a type of an ω-automaton. The acceptance condition separates a Muller automaton from other ω-automata. The Muller automaton is defined using a Muller acceptance condition, i.e. the set of all states visited infinitely often must be an element of the acceptance set. Both deterministic and non-deterministic Muller automata recognize the ω-regular languages. They are named after David E. Muller, an American mathematician and computer scientist, who invented them in 1963. == Formal definition == Formally, a deterministic Muller-automaton is a tuple A = (Q,Σ,δ,q0,F) that consists of the following information: Q is a finite set. The elements of Q are called the states of A. Σ is a finite set called the alphabet of A. δ: Q × Σ → Q is a function, called the transition function of A. q0 is an element of Q, called the initial state. F is a set of sets of states. Formally, F ⊆ P(Q) where P(Q) is powerset of Q. F defines the acceptance condition. A accepts exactly those runs in which the set of infinitely often occurring states is an element of F In a non-deterministic Muller automaton, the transition function δ is replaced with a transition relation Δ that returns a set of states and the initial state q0 is replaced by a set of initial states Q0. Generally, 'Muller automaton' refers to a non-deterministic Muller automaton. For more comprehensive formalisation look at ω-automaton. == Equivalence with other ω-automata == The Muller automata are equally expressive as parity automata, Rabin automata, Streett automata, and non-deterministic Büchi automata, to mention some, and strictly more expressive than the deterministic Büchi automata. The equivalence of the above automata and non-deterministic Muller automata can be shown very easily as the accepting conditions of these automata can be emulated using the acceptance condition of Muller automata and vice versa. McNaughton's theorem demonstrates the equivalence of non-deterministic Büchi automaton and deterministic Muller automaton. Thus, deterministic and non-deterministic Muller automata are equivalent in terms of the languages they can accept. == Transformation to non-deterministic Muller automata == Following is a list of automata constructions that each transforms a type of ω-automata to a non-deterministic Muller automaton. From Büchi automata If B is the set of final states in a Büchi automaton with the set of states Q, we can construct a Muller automaton with same set of states, transition function and initial state with the Muller accepting condition as F = { X | X ∈ P(Q) ∧ X ∩ B ≠ ∅}. From Rabin automata/parity automata Similarly, the Rabin conditions ( E j , F j ) {\displaystyle (E_{j},F_{j})} can be emulated by constructing the acceptance set in the Muller automaton as all sets F ⊆ Q {\displaystyle F\subseteq Q} that satisfy F ∩ E j = ∅ {\displaystyle F\cap E_{j}=\emptyset } and F ∩ F j ≠ ∅ {\displaystyle F\cap F_{j}\neq \emptyset } , for some j. Note that this covers the case of parity automata too, as the parity acceptance condition can be expressed as a Rabin acceptance condition easily. From Streett automata The Streett conditions ( E j , F j ) {\displaystyle (E_{j},F_{j})} can be emulated by constructing the acceptance set in the Muller automaton as all sets F ⊆ Q {\displaystyle F\subseteq Q} that satisfy F ∩ F j = ∅ ⟹ F ∩ E j = ∅ {\displaystyle F\cap F_{j}=\emptyset \implies F\cap E_{j}=\emptyset } , for all j. == Transformation to deterministic Muller automata == From Büchi automaton McNaughton's theorem provides a procedure to transform any non-deterministic Büchi automaton into a deterministic Muller automaton.

AI Image Generators: Free vs Paid (2026)

Looking for the best AI image generator? An AI image generator is software that uses machine learning to help you get more done — it can save you hours every week by automating repetitive work. Most options offer a generous free tier, with paid plans unlocking higher limits, faster processing, and team features. Whether you are a beginner or a pro, the right AI image generator slots into your workflow and pays for itself fast. This guide breaks down the top picks, their pros and cons, and who each one is best for.

List of Ruby software and tools

This is a list of software and programming tools for the Ruby programming language, which includes libraries, web frameworks, implementations, tools, and related projects. == Web tools == Capistrano (software) – remote server automation tool Mongrel – Ruby web server Rack – interface between web servers and web applications Ruby on Rails – full-stack web application framework Sinatra – lightweight Ruby web application framework Spree Commerce – e-commerce platform WEBrick – Ruby HTTP server toolkit == Libraries == BioRuby – bioinformatics and computational biology library for Ruby Bogus – Ruby library for creating reliable test doubles with contract verification ERuby – embedded Ruby templating EventMachine – event-driven I/O library Factory Bot – test fixtures library Fat comma – Ruby library for JSON-like hash syntax Geocoder – Ruby library for geocoding and reverse geocoding addresses Haml – HTML templating engine Markaby – HTML generation via Ruby Nokogiri – XML/HTML parsing library RSpec – behavior-driven testing framework for Ruby RubyGems – package manager for Ruby libraries and applications Sass – CSS preprocessor Sidekiq – background job framework for Ruby, used to handle asynchronous tasks. Uconv – Unicode text conversion library Watir – web application testing framework == Ruby implementations == HotRuby – Ruby interpreter implemented in JavaScript, enabling Ruby code to run in web browsers. IronRuby – Ruby for .NET platform JRuby – Ruby on the Java Virtual Machine MacRuby – Ruby implementation for macOS Mod ruby – Apache module that embeds the Ruby interpreter to improve performance of Ruby web applications Mruby – lightweight Ruby interpreter Rubinius – alternative Ruby implementation, based loosely on the Smalltalk-80 Blue Book design. Ruby MRI – the standard Ruby interpreter YARV – "Yet Another Ruby VM," the bytecode interpreter used in modern Ruby implementations == Tools == Homebrew – package manager for macOS and Linux written in Ruby Pry – interactive Ruby shell Rake – build and task management Ruby Version Manager – environment manager RubyCocoa – bridge between Ruby and Cocoa RubyForge – project hosting site RubyMotion – for iOS/macOS development RubySpec – language specification tests == Integrated Development Environments == Aptana Studio — integrated RadRails plugin for Ruby on Rails development Eclipse DLTK Ruby Plugin — Ruby development plugin for Eclipse Eric — open-source Python-based IDE with Ruby support Komodo IDE — commercial cross-platform IDE with Ruby support RubyMine — commercial IDE for Ruby and Rails by JetBrains SlickEdit — commercial cross-platform IDE with Ruby support == List of websites using Ruby on Rails == Airbnb Basecamp Diaspora – decentralized social network application built with Ruby on Rails Discourse – open-source discussion platform built with Ruby on Rails Fiverr GitHub Hulu Shopify SoundCloud Twitch Zendesk

Ayanna Howard

Ayanna MacCalla Howard (born January 24, 1972) is an American roboticist, entrepreneur, and educator currently serving as the dean of the College of Engineering at Ohio State University. Assuming this role in March 2021, Howard became the first woman to lead the Ohio State College of Engineering. Howard previously served as the chair of the School of Interactive Computing in the Georgia Tech College of Computing, the Linda J. and Mark C. Smith Endowed Chair in Bioengineering in the School of Electrical and Computer Engineering, and the director of the Human-Automation Systems (Humans) Lab. == Early life and education == As a little girl, Howard was interested in aliens and robots. Her favorite TV show was The Bionic Woman. Howard received her B.S. in engineering from Brown University in 1993 and her M.S. and Ph.D. in electrical engineering from the University of Southern California in 1994 and 1999, respectively. Her thesis, Recursive Learning for Deformable Object Manipulation, was advised by George A. Bekey. In addition, Howard's Doctoral thesis was triggered by the AIDS epidemic with focus on sorting hospital waste by using robots. Howard has also received an MBA from Claremont Graduate University. == Career == Howard's early interest in artificial intelligence led her to pursue a senior position at Seattle-based Axcelis Inc, where she helped develop Evolver, the first commercial genetic algorithm, and Brainsheet, a neural network developed in partnership with Microsoft. From 1993 to 2005, she worked at the NASA Jet Propulsion Laboratory, holding multiple roles such as senior robotics researcher and deputy manager in the Office of the Chief Scientist. In 2005, she joined Georgia Tech as an associate professor and founder of the Human-Automation Systems (Humans) lab. She has also served as the associate director of research for Georgia Tech's Institute for Robotics and Intelligent Machines and as chair of the multidisciplinary robotics Ph.D. program at Georgia Tech. In 2017, she became the chair of the School of Interactive Computing at Georgia Tech. In 2008, Howard received worldwide attention for her SnoMote robots, designed to study the impact of global warming on the Antarctic ice shelves. In 2013, she founded Zyrobotics, which has released their first suite of therapy and educational products for children with special needs. Howard has authored 250 publications in reputable journals and conferences, including serving as co-editor/co-author of more than a dozen books and book chapters. She has also received four patents and given over 140 invited talks and keynotes. She is a fellow of the Association for the Advancement of Artificial Intelligence (AAAI) and the Institute of Electrical and Electronics Engineers (IEEE). Among her many honors, Howard received the Computer Research Association's A. Nico Habermann Award and the Richard A. Tapia Achievement Award. In a 2020 interview on Marketplace, Howard outlined how companion robots could alleviate the effects of social distancing caused by the COVID-19 pandemic in the United States. On November 30, 2020, the Columbus Dispatch reported that Howard would become the next dean of the College of Engineering at Ohio State University on March 1, pending approval by the board of trustees. On March 1, 2021, she assumed this role, becoming the first woman to hold the position. In 2021, Howard received the Athena Lecturer Award from Association for Computing Machinery (ACM) for her Contributions to Robotics, AI and Broadening Participation in Computing. In June 2022, Howard was elected a trustee of Brown University. == Research == Howard's research interests include human-robot interaction, assistive/rehabilitation robotics, science-driven/field robotics, and perception, learning, and reasoning. Howard's research and published works span across various topics in robotics and AI, including intelligent learning, virtual reality for rehabilitation and robotics in the role of pediatric therapy. Her research is highlighted by her focus on technology development for intelligent agents that must interact with and in a human-centered world. Her work, which addresses issues of human-robot interaction, learning, and autonomous control, has resulted in more than 200 peer-reviewed publications. == Honors and awards == Howard's numerous accomplishments have been documented in more than a dozen featured articles. In 2003, she was named to the MIT Technology Review TR100 as one of the top 100 innovators in the world under the age of 35. She was featured in Time magazine's "Rise of the Machines" article in 2004. She was also featured in a USA Today Science & Space article. Some of Howard's notable awards include: Lew Allen Award for Excellence (formerly the Director's Research Achievement Award of the Jet Propulsion Laboratory) for significant technical contributions, 2001 MIT Technology Review Top 100 Young Innovators of the Year, 2003 NAE Gilbreth Lectureship, 2010 A. Richard Newton Educator ABIE Award, Anita Borg Institute, 2014 Computer Research Association's A. Nico Habermann Award, 2016 Brown Engineering Alumni Medal (BEAM), 2016 AAAS-Lemelson Invention Ambassador, 2016-2017 Atlanta magazine's Women Making a Mark, 2017 Walker's Legacy #WLPower25 Atlanta Award, 2017 Forbes America's Top 50 Women In Tech, 2018 ACM Athena Lecturer Award, 2021 2021 class of Fellows of the American Association for the Advancement of Science. IEEE Fellow, 2021, "for contributions to human-robot interaction systems" 2023 AAAI/EAAI Patrick Henry Winston Outstanding Educator Award