Saturday, August 12, 2017

Visual Studio 20XX's C# Language Specification

Visual Studio 20XX's C# Language Specification



Visual Studio 2012's C# Language Specification Version is 5.0.
You can download this spec from the Microsoft Developer Network (MSDN). If you've installed Visual Studio 2012, you can also find the spec on your computer in the Program Files (x86)/Microsoft Visual Studio 11.0/VC#/Specifications/1033 folder. However, installations of Visual Studio Express 2012 don't include this file.

The original Visual Studio 2015's C# Language Specification Version is 5.0 (Version 6.0 of the specification had not been approved as a standard at the time of releasing Visual Studio 2015.) The current [Aug 10, 2017] Visual Studio 2015's C# Language Specification Version is 6.0.
Visual Studio 2017's C# Language Specification Version is 7.0.



Copyright ©2017, Software Developer, All rights reserved.
See Contents

Monday, August 7, 2017

Introducing AADL and Its Tools

Introducing AADL and Its Tools

What is AADL?

The Architecture Analysis & Design Language, AADL, is designed for the specification, analysis, automated integration and code generation of real-time performance-critical (timing, safety, schedulability, fault tolerant, security, etc.) distributed computer systems. It provides a new vehicle to allow analysis of system designs (and system of systems) prior to development and supports a model-based, model-driven development approach throughout the system life cycle.



Ocarina

Ocarina is a stand-alone AADL model processor, written in Ada. It is distributed under the GPLv3 plus runtime exception.

It supports the following features:

• Parser: support both AADL1.0 and AADLv2 syntaxes;
• Code generation: targetting C real-time operating systems: RT-POSIX, Xenomai, RTEMS; and Ada using GNAT for native and Ravenscar targets;
• Model checking: mapping of AADL models onto Petri Nets, timed (TINA) or colored (CPN-AMI);
• Schedulability analysis: mapping of AADL models onto Cheddar or MAST models
• Model Analysis: using the REAL language, one can analyse an AADL model for particular patterns or compute metrics.
Ocarina is an independent tool, it can either be used
• Stand-alone: from the commande line
• OSATE2 Integration: Ocarina can also be integrated to OSATE2 using a dedicated plug-in, see the following page for more details.
• Library: Ocarina can be integrated in third-party tool, like Cheddar.

Ocarina runs on Linux, Windows, Mac OS X. Thanks to Ada portability, it can be ported to any platform supported by GNAT for native development.



AADL Tool: TASTE toolchain supported by the European Space Agency
 

 
AADL Tool: OSATE that includes a modeling platform, a graphical viewer and a constraint query languages


Code Generation with AADL: A State-of-the-Art Report

Their approach integrates two different modeling notations to capture system concerns:

1.The architecture is specified using AADL. This architecture defines the execution environment, software deployment, and configuration and includes the number of tasks, allocation to a processor, binding of a connection on a specific bus to transport data, and other specifications. Some people relate to this view as the so-called nonfunctional architecture (how the system provides its functions).

2.The behavior is specified using Simulink, which characterizes how the system processes and uses the data from its environment, for example, to compute new data or activate a device. Some relate to this view as the functional architecture (what functions the system provides).



Simulink

Simulink, developed by MathWorks, is a graphical programming environment for modeling, simulating and analyzing multidomain dynamic systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of the MATLAB environment and can either drive MATLAB or be scripted from it. Simulink is widely used in automatic control and digital signal processing for multidomain simulation and Model-Based Design.



Project P

The goal of Project P is to support the model-driven engineering of high-integrity embedded real-time systems by providing an open code generation framework able to: 1. Verify the semantic consistency of systems described using safe subsets of heterogeneous modeling languages, ranging from behavioural to architectural languages and presenting a synchronous and asynchronous semantics (Simulink/Matlab, Scicos, Xcos, SysML, MARTE, UML).
2.Generate optimized source code for multiple programming (Ada, C/C++) and syntesis (VHDL, SystemC) languages.
3. Support a multi-domain (avionics, space, and automotive) certification process by providing open qualification material.



Function Model

A function model or functional model in systems engineering and software engineering is a structured representation of the functions (activities, actions, processes, operations) within the modeled system or subject area.


Business Process Execution Language

The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL (Business Process Execution Language), is an OASIS standard executable language for specifying actions within business processes with web services. Processes in BPEL export and import information by using web service interfaces exclusively.



AADL on IEEE Xplore
Google Search for AADL Code Generation
AADL Tutorials on YouTube


(LABEL) AADL Eclectics
(LABEL) Code Generation Eclectics




Copyright ©2017, Software Developer, All rights reserved.
See Contents

Mobile Game State Enum

Mobile Game State Enum

The following enumeration presents a comprehensive list of mobile game states [for App State enumeration refer to: App State Enum].
   
    NotSet
    LoadRequested
    Loading
    Loaded
    InitializationRequested
    Initializing
    Initialized
    StartRequested
    Starting
    Started
    Playing
    Idle
    NonFatalErrorEncountered
    FatalErrorEncountered
    PauseRequested
    Pausing
    Paused
    ResumeRequested
    Resuming
    Resumed
    CheckMiniGameStatus
    CheckSceneManagerStatus
    CheckLevelManagerStatus
    CheckUIDialogManagerStatus
    CheckAwardManagerStatus
    CheckGameStoreStatus
    CheckPlayerInventoryStatus
    CheckPartnerSearchStatus
    CheckPartnerStatus
    CheckOpponenttSearchStatus
    CheckOpponentStatus
    StopRequested
    Stopping
    Stopped
    CloseRequested
    Closing
    Closed
    UnloadRequested
    Unloading
    Unloaded
    Unknown
 



Stereotype: enum

Declaration :

    C++ : enum GameState
    Java : public enum GameState
    Php : public final class GameState
    Python : class GameState

    C# : public enum GameState

Logical Design (LABEL: Logical Design Eclectics)


Copyright ©2017, Software Developer, All rights reserved.
See Contents

App State Enum

App State Enum

The following enumeration presents a comprehensive list of mobile application states [for Mobile Game State enumeration refer to: Mobile Game State Enum].
   
    NotSet
    LoadRequested
    Loading
    Loaded
    InitializationRequested
    Initializing
    Initialized

    StartRequested
    Starting
    Started
    Running
    Idle
    SuspendRequested
    Suspending
    Suspended
    ReinstateRequested
    Reinstating
    Reinstated
    NonFatalErrorEncountered
    FatalErrorEncountered
    PauseRequested
    Pausing
    Paused
    ResumeRequested
    Resuming
    Resumed
    ExitRequested
    Exiting
    Exited
    StopRequested
    Stopping
    Stopped
    UnloadRequested
    Unloading
    Unloaded
    Unknown

 

Stereotype: enum

Declaration :

    C++ : enum AppState
    Java : public enum AppState
    Php : public final class AppState
    Python : class AppState

    C# : public enum AppState

Logical Design (LABEL: Logical Design Eclectics)


Copyright ©2017, Software Developer, All rights reserved.
See Contents

Wednesday, August 2, 2017

C# References

C# References
CSharp References

[1] Essential C# 6.0, By: Mark Michaelis; Eric Lippert, Publisher: Addison-Wesley Professional, Pub. Date: September 24, 2015, Print ISBN-13: 978-0-13-414104-6.


 

Copyright ©2017, Software Developer, All rights reserved.
See Contents